configure: Remove --disable-verbose-compile hack
[wmaker-crm.git] / configure.ac
blob9ef48456feb3d72d37766d1f317dc273fb3017b5
1 dnl
2 dnl Window Maker autoconf input.
3 dnl
4 dnl Process with:
5 dnl               aclocal
6 dnl               autoheader
7 dnl               autoconf
8 dnl               libtoolize --force --automake
9 dnl               automake -a --gnu --include-deps
10 dnl
11 dnl
14 AC_INIT(WindowMaker, 0.94.0-crm)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AM_CONFIG_HEADER(src/config.h)
18 AM_INIT_AUTOMAKE([1.11 silent-rules])
20 dnl Checks for host/os name
21 dnl =======================
22 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
24 dnl Checks for programs.
25 dnl ===================
26 AC_ISC_POSIX
27 AC_PROG_CC
28 AC_PROG_LN_S
29 AC_PROG_GCC_TRADITIONAL
30 AC_PROG_LIBTOOL
32 AX_CFLAGS_GCC_OPTION(-Wall)
33 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
35 dnl Platform-specific Makefile setup
36 dnl ================================
38 case "${host}" in
39         *-*-linux*|*-*-cygwin*)
40                 WM_OSDEP="linux"
41         ;;
42         *-*-freebsd*)
43                 WM_OSDEP="bsd"
44                 CFLAGS="$CFLAGS -DFREEBSD"
45         ;;
46         *-*-netbsd*)
47                 WM_OSDEP="bsd"
48                 CFLAGS="$CFLAGS -DNETBSD"
49         ;;
50         *-*-openbsd*)
51                 WM_OSDEP="bsd"
52         CFLAGS="$CFLAGS -DOPENBSD"
53         ;;
54         *-*-dragonfly*)
55                 WM_OSDEP="bsd"
56                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
57         ;;
58         *-apple-darwin*)
59                 WM_OSDEP="darwin"
60         ;;
61         *-*-solaris*)
62                 WM_OSDEP="stub"         # solaris.c when done
63         ;;
64         *)
65                 WM_OSDEP="stub"
66                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
67         ;;
68 esac
69 AC_SUBST(WM_OSDEP)
72 dnl the prefix
73 dnl ==========
74 dnl
75 dnl move this earlier in the script... anyone know why this is handled
76 dnl in such a bizarre way?
78 test "x$prefix" = xNONE && prefix=$ac_default_prefix
79 dnl Let make expand exec_prefix.
80 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
83 _bindir=`eval echo $bindir`
84 _bindir=`eval echo $_bindir`
86 _libdir=`eval echo $libdir`
87 _libdir=`eval echo $_libdir`
88 lib_search_path="-L$_libdir"
90 inc_search_path=`eval echo $includedir`
91 inc_search_path="-I`eval echo $inc_search_path`"
93 dnl ===============================================
94 dnl Specify paths to look for libraries and headers
95 dnl ===============================================
96 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
97         [lib_search_path="$withval $lib_search_path"])
99 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
100         [inc_search_path="$withval $inc_search_path"])
102 dnl ============================
103 dnl Checks for library functions
104 dnl ============================
105 dnl not used anywhere
106 dnl AC_FUNC_MEMCMP  
107 AC_FUNC_VPRINTF
108 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
109                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
110                vasprintf)
112 dnl ripped from samba
113 dnl 
114 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
115 AC_TRY_RUN([
116 #include <sys/types.h>
117 #include <stdarg.h>
118 void foo(const char *format, ...) { 
119        va_list ap;
120        int len;
121        char buf[5];
123        va_start(ap, format);
124        len = vsnprintf(0, 0, format, ap);
125        va_end(ap);
126        if (len != 5) exit(1);
128        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
130        exit(0);
132 main() { foo("hello"); }
134 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
135 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
136     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
139 dnl Check for inotify
140 dnl =================
141 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
143 dnl Check CPP
144 dnl =========
145 if test "x$CPP_PATH" = x; then
146     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
147                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
151 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
152 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
153 dnl standard locations
155 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
156     if test "$GCC" = "yes"; then
157         CPP_PATH="gcc -E -x c"
158     else 
159         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
160             CPP_PATH="$CPP_PATH -B"
161         else
162             echo "cpp, the C preprocessor was not found in your system."
163             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
164             exit
165         fi
166     fi
168 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
172 dnl Checks for header files.
173 dnl =======================
174 AC_HEADER_SYS_WAIT
175 AC_HEADER_TIME
176 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
177                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
178                  strings.h)
182 dnl Checks for typedefs, structures, and compiler characteristics.
183 dnl ==============================================================
184 AC_DECL_SYS_SIGLIST
185 AC_C_CONST
186 #AC_TYPE_SIZE_T
187 #AC_TYPE_PID_T
188 AC_TYPE_SIGNAL
192 dnl Compiler/architecture specific optimizations
193 dnl ============================================
196 dnl GCC/as with MMX support
197 dnl -----------------------
199 # until we fix it, leave it disabled
200 asm_support=no
201 mmx_support=no
203 check_for_mmx_support=yes
204 AC_ARG_ENABLE(mmx, AS_HELP_STRING([--disable-mmx], [disable compilation of MMX inline assembly]),
205    [if test x$enableval != xyes; then
206     check_for_mmx_support=no
207     fi])
209 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
210 case $host_cpu in
211 *i?86*)
213     # gcc-3.3 or newer complains about some of our stuff without this
214     NOSTRICTALIASING="-fno-strict-aliasing"
216     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
217                    ac_cv_c_inline_asm,
218                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
219                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
220                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
221                    ac_cv_c_inline_asm=yes,
222                    ac_cv_c_inline_asm=no)])
224     if test "x$ac_cv_c_inline_asm" = xyes; then
225        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
226        asm_support=yes
228        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
229                       ac_cv_c_inline_mmx,
230                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
231                       ac_cv_c_inline_mmx=yes,
232                       ac_cv_c_inline_mmx=no)])
234        if test "x$ac_cv_c_inline_mmx" = xyes; then
235           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
236           mmx_support=yes
237        fi
238     fi
239     ;;
240 esac
242 AC_SUBST(NOSTRICTALIASING)
245 dnl pkg-config
246 dnl ==========
247 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
248 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
250 dnl gettext
251 dnl =======
253 dnl AM_GNU_GETTEXT
255 INTLIBS=""
257 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
258         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
259                          INTLIBS="" ))
261 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
263 if test "$XGETTEXT" != ""; then 
264     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
265         echo "xgettext isn't GNU version"
266         XGETTEXT=""
267     fi
270 if test "$LINGUAS" != ""; then
271     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
272         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
273         PO=""
274         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
275     else
276         LINGUAS=""
277         PO=""
278         echo "xgettext and libintl.a don't both exist; will not build i18n support"
279     fi
280 else
281         INTLIBS=""
282         MOFILES=""
283         WPMOFILES=""
284         UTILMOFILES=""
285         PO=""
289 dnl The Tower of Babel
290 dnl ==================
292 dnl List of supported locales
293 dnl =========================
294 supported_locales="be bg bs ca cs da de el es et fi fr gl hr hu hy it ja ko ms nl no pl pt ro ru sk sv tr zh_CN zh_TW"
295 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
296 supported_wings_locales="bg ca cs de fr sk"
297 supported_util_locales="de"
299 for lang in $LINGUAS; do
300         ok=0
301         for l in $supported_locales; do
302                 if test "$l" = "$lang"; then
303                         ok=1
304                         break
305                 fi
306         done
307         if test "$ok" = 1; then
308                 MOFILES="$MOFILES $lang.mo"
309         else
310                 echo "Locale $lang is not supported."
311         fi
312         ok=0
313         for l in $supported_wprefs_locales; do
314                 if test "$l" = "$lang"; then
315                         ok=1
316                         break
317                 fi
318         done
319         if test "$ok" = 1; then
320                 WPMOFILES="$WPMOFILES $lang.mo"
321         fi
322         ok=0
323         for l in $supported_util_locales; do
324                 if test "$l" = "$lang"; then
325                         ok=1
326                         break
327                 fi
328         done
329         if test "$ok" = 1; then
330                 UTILMOFILES="$UTILMOFILES $lang.mo"
331         fi
332         ok=0
333         for l in $supported_wings_locales; do
334                 if test "$l" = "$lang"; then
335                         ok=1
336                         break
337                 fi
338         done
339         if test "$ok" = 1; then
340                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
341         fi
342 done
345 dnl Added by Oliver - Support for NLSDIR option
346 dnl ===========================================
347 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
349 if test "x$NLSDIR" = "x"; then
350         if test "x$with_nlsdir" != "x"; then
351                 NLSDIR=$with_nlsdir
352         else
353                 NLSDIR='$(prefix)/lib/locale'
354         fi
357 AC_SUBST(INTLIBS)
358 AC_SUBST(NLSDIR)
359 AC_SUBST(MOFILES)
360 AC_SUBST(WPMOFILES)
361 AC_SUBST(UTILMOFILES)
362 AC_SUBST(WINGSMOFILES)
363 AC_SUBST(supported_locales)
365 dnl ===========================================
366 dnl             Stuff that uses X
367 dnl ===========================================
369 AC_PATH_XTRA
371 if test $no_x; then
372     AC_MSG_ERROR([The path for the X11 files not found!
373 Make sure you have X and it's headers and libraries (the -devel packages
374 in Linux) installed.])
377 X_LIBRARY_PATH=$x_libraries
378 XCFLAGS="$X_CFLAGS"
379 XLFLAGS="$X_LIBS"
380 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
382 lib_search_path="$lib_search_path $XLFLAGS"
383 inc_search_path="$inc_search_path $XCFLAGS"
385 AC_SUBST(X_LIBRARY_PATH)
387 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
388 dnl by MANOME Tomonori 
389 dnl ===========================================
390 use_locale=yes
391 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
392               use_locale=no)
394 if test "$use_locale" = yes; then
395         AC_CHECK_LIB(X11, _Xsetlocale,
396                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
397                 $XLFLAGS $XLIBS)
400 dnl Check whether XInternAtoms() exist
401 dnl ==================================
402 AC_CHECK_LIB(X11, XInternAtoms, 
403              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
404              $XLFLAGS $XLIBS)
406 dnl Check whether XConvertCase() exist
407 dnl ==================================
408 AC_CHECK_LIB(X11, XConvertCase, 
409              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
410              $XLFLAGS $XLIBS)
412 dnl XKB keyboard language status
413 dnl ============================
414 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
415                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
417 dnl Shape support
418 dnl =============
419 shape=yes
420 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
421                 shape=$enableval, shape=yes)
422 added_xext=no
424 if test "$shape" = yes; then
425         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
426                 added_xext=yes
427                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
428                 shape=no, $XLFLAGS $XLIBS)
431 dnl XRandR support
432 dnl =============
433 xrandr=yes
434 AC_ARG_ENABLE(XRandR, AS_HELP_STRING([--disable-xrandr], [disable XRandR window extension support]),
435                 xrandr=$enableval, xrandr=yes)
436 added_xext=no
438 if test "$xrandr" = yes; then
439         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [XLIBS="-lXrandr $XLIBS"
440                 added_xext=yes
441                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
442                 xrandr=no, $XLFLAGS $XLIBS)
446 dnl libWINGS uses math functions, check whether usage requires linking
447 dnl against libm
449 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
450 if test "x$mathneedslibm" = "xdunno" ; then
451         AC_CHECK_LIB(m, atan, [LIBM=-lm])
453 AC_SUBST(LIBM)
457 dnl libWINGS uses FcPatternDel from libfontconfig
459 AC_MSG_CHECKING([for fontconfig library])
460 FCLIBS=`$PKGCONFIG fontconfig --libs`
461 if test "x$FCLIBS" = "x" ; then
462         AC_MSG_RESULT([not found])
463 else
464         AC_MSG_RESULT([found])
466 AC_SUBST(FCLIBS)
469 dnl Xft2 antialiased font support
470 dnl =============================
472 xft=yes
473 XFTLIBS=""
475 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
476         XFTCONFIG="$PKGCONFIG xft"
477         pkgconfig_xft=yes
478 else
479         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
482 AC_MSG_CHECKING([for the Xft2 library])
484 if test "x$XFTCONFIG" != x; then
485         XFTLIBS=`$XFTCONFIG --libs`
486         XFTFLAGS=`$XFTCONFIG --cflags`
487         AC_MSG_RESULT([found])
488 else
489         AC_MSG_RESULT([not found])
490         echo
491         echo "ERROR!!! libXft2 is not installed or could not be found."
492         echo "         Xft2 is a requirement for building Window Maker."
493         echo "         Please install it (along with fontconfig) before continuing."
494         echo
495         exit 1
498 minXFT="2.1.0"
499 goodxft="no"
502 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
504 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
506 if test "$goodxft" = no; then
507         echo
508         echo "ERROR!!! libXft on this system is an old version."
509         echo "         Please consider upgrading to at least version ${minXFT}."
510         echo
511         exit 1
514 AC_SUBST(XFTFLAGS)
515 AC_SUBST(XFTLIBS)
518 dnl XINERAMA support
519 dnl ================
520 xinerama=no
521 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
522                 xinerama=$enableval, xinerama=no)
524 if test "$xinerama" = yes; then
525         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
526                 [XLIBS="-lXinerama $XLIBS"
527                 xfxine=yes],
528                 xfxine=no, $XLFLAGS $XLIBS)
530         AC_CHECK_LIB(Xext, XineramaGetInfo,
531                 [sunxine=yes
532                 ], sunxine=no, $XLFLAGS $XLIBS)
534         if test "$xfxine" = yes; then
535                 xine=1
536         fi
538         if test "$sunxine" = yes; then
539             xine=1
540             AC_DEFINE(SOLARIS_XINERAMA, 1, 
541                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
542         fi
544         if test "$xine" = 1; then
545             AC_DEFINE(XINERAMA, 1, 
546                 [define if you want support for the XINERAMA extension (set by configure)])
547         fi
552 dnl MIT-SHM support
553 dnl ===============
554 shm=yes
555 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
556                 shm=$enableval, shm=yes)
558 if test "$shm" = yes; then
559         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
561         if test "$ok" = yes; then
562         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
563         fi
565         if test "$ok" = yes; then
566                 if test "$added_xext" = no; then
567                         XLIBS="-lXext $XLIBS"
568                 fi
569                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
570         fi
574 dnl R6 Style Session Management Support
575 dnl ===================================
579 #AC_DEFINE(R6SM)
580 #AC_SUBST(XSMPLIBS)
584 dnl ==============================================
585 dnl         Graphic Format Libraries
586 dnl ==============================================
588 dnl XPM Support
589 dnl ===========
590 xpm=yes
591 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
592         xpm=$enableval, xpm=yes)
594 if test "$xpm" = yes; then
595     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
597     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
598         WM_CHECK_HEADER(X11/xpm.h)
599         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
600                 GFXLIBS="$GFXLIBS -lXpm"
601                 supported_gfx="XPM"
602                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
603         else
604                 supported_gfx="builtin-XPM"
605         fi
606     fi
609 AC_SUBST(XLFLAGS)
610 AC_SUBST(XLIBS)
611 AC_SUBST(X_EXTRA_LIBS)
613 dnl ===============================================
614 dnl             End of stuff that uses X
615 dnl ===============================================
617 dnl PNG Support
618 dnl ===========
619 png=yes
620 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
621         png=$enableval, png=yes, png=no)
623 if test "$png" = yes ; then
624     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
626     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
627         WM_CHECK_HEADER(png.h)
628         if test "x$ac_cv_header_png_h" = xyes; then
629             GFXLIBS="$GFXLIBS -lpng -lz" 
630             supported_gfx="$supported_gfx PNG"
631             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
632         fi
633     fi
637 dnl JPEG Support
638 dnl ============
639 jpeg=yes
640 ljpeg=""
641 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
642         jpeg=$enableval, jpeg=yes, jpeg=no)
644 if test "$jpeg" = yes; then
645     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
647     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
649         ljpeg="-ljpeg"
651         WM_CHECK_HEADER(jpeglib.h)
652         if test "x$ac_cv_header_jpeglib_h" = xyes; then
653             GFXLIBS="$GFXLIBS -ljpeg"
654             supported_gfx="$supported_gfx JPEG"
655             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
656         fi
657     fi
661 dnl GIF Support
662 dnl ============
663 gif=yes
664 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
665         gif=$enableval, gif=yes, gif=no)
667 if test "$gif" = yes; then
668     my_libname=""
669     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
670     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
671         my_libname=-lungif
672     fi
674 dnl libungif is the same thing as libgif for all practical purposes.
676     if test "x$my_libname" = x; then
677         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
678         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
679             my_libname=-lgif
680         fi
681     fi
683     if test "$my_libname" != x; then
684         WM_CHECK_HEADER(gif_lib.h)
685         if test "x$ac_cv_header_gif_lib_h" = xyes; then
686             GFXLIBS="$GFXLIBS $my_libname"
687             supported_gfx="$supported_gfx GIF"
688             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
689         fi
690     fi
695 dnl TIFF Support
696 dnl ============
697 AC_ARG_ENABLE(tiff, 
698 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
699         tif=$enableval, tif=yes, tif=no)
702 # TIFF can optionally have JPEG and/or zlib support. Must find out
703 # when they are supported so that correct library flags are passed during
704 # detection and linkage
707 # By default use xpm icons if tiff is not found.
708 ICONEXT="xpm"
711 if test "$tif" = yes; then
712     my_libname=""
713     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
714     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
715         my_libname="-ltiff"
716     fi
718 dnl Retry with zlib
720     unset ac_cv_lib_tiff_TIFFGetVersion
721     if test "x$my_libname" = x; then
722         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
723         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
724             my_libname="-ltiff -lz"
725         fi
726     fi
728     if test "x$my_libname" = x; then
729         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
730         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
731             my_libname="-ltiff34"
732         fi
733     fi
736     if test "x$my_libname" != x; then
737         WM_CHECK_HEADER(tiffio.h)
738         if test "x$ac_cv_header_tiffio_h" = xyes; then
739             GFXLIBS="$my_libname $GFXLIBS"
740             ICONEXT="tiff"
741             supported_gfx="$supported_gfx TIFF"
742             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
743         fi
744     fi
747 LIBRARY_SEARCH_PATH="$lib_search_path"
748 HEADER_SEARCH_PATH="$inc_search_path"
750 AC_SUBST(LIBRARY_SEARCH_PATH)
751 AC_SUBST(HEADER_SEARCH_PATH)
754 AC_SUBST(GFXLIBS)
755 AC_SUBST(ICONEXT)
758 dnl ==============================================
759 dnl         End of Graphic Format Libraries
760 dnl ==============================================
764 dnl stdlib.h is checked here, because of conflict in jpeglib.h
765 AC_CHECK_HEADERS(stdlib.h)
767 # AC_PREFIX_PROGRAM(wmaker)
769 dnl Support for PIXMAPDIR option
770 dnl ============================
771 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
773 if test "x$with_pixmapdir" != "x"; then
774         pixmapdir=$with_pixmapdir
775 else
776         pixmapdir=`eval echo ${datadir}/pixmaps`
779 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
781 pkgdatadir=`eval echo $datadir`
782 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
784 _sysconfdir=`eval echo $sysconfdir`
785 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
788 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
789 dnl ==============================================
791 AC_ARG_WITH(appspath, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
793 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
794     appspath=$with_gnustepdir
797 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
798     wprefs_base_dir=${prefix}
799     wprefs_datadir="${datadir}/WPrefs"
800     wprefs_bindir="${bindir}"
801 else
802     gnustepdir=$appspath
804     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
805         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
806         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
807     fi
809     wprefs_base_dir=$gnustepdir/Applications
810     wprefs_datadir=$wprefs_base_dir/WPrefs.app
811     wprefs_bindir=$wprefs_base_dir/WPrefs.app
814 AC_SUBST(wprefs_datadir)
815 AC_SUBST(wprefs_bindir)
818 dnl Enable User Defined Menu thing
819 dnl ==================================
820 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
821 if test "$enableval" = yes; then
822         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
826 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
827         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
828         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
829         WINGs/Extras/Makefile WINGs/po/Makefile \
830         wrlib/Makefile wrlib/tests/Makefile \
831         src/Makefile src/wconfig.h \
832         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
833         doc/ru/Makefile \
834         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
835         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
836         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
837         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
838         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
839         WPrefs.app/po/Makefile )
842 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
843 dnl ===================================================================
845 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
846 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
847 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
849 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
850 dnl parsed by m4
852 cat <<EOF >get-wraster-flags
853 #!/bin/sh
855 WCFLAGS="$inc_search_path"
856 WLFLAGS="$lib_search_path"
857 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
859 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
861 if test \$# -eq 0; then
862       echo "\${usage}" 1>&2
863       exit 1
866 while test \$# -gt 0; do
867   case \$1 in
868     --cflags)
869         echo \$WCFLAGS
870         ;;
871     --ldflags|--lflags)
872         echo \$WLFLAGS
873         ;;
874     --libs)
875         echo \$WLIBS
876         ;;
877     *)
878         echo "\${usage}" 1>&2
879         exit 1
880         ;;
881   esac
882   shift
883 done
888 cat <<EOF > wrlib/wrlib.pc
889 Name: wrlib
890 Description: Image manipulation and conversion library
891 Version: $VERSION
892 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
893 Cflags: $inc_search_path
896 cat <<EOF >get-wings-flags
897 #!/bin/sh
899 WCFLAGS="$inc_search_path"
900 WLFLAGS="$lib_search_path"
901 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
903 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
905 if test \$# -eq 0; then
906       echo "\${usage}" 1>&2
907       exit 1
910 while test \$# -gt 0; do
911   case \$1 in
912     --cflags)
913         echo \$WCFLAGS
914         ;;
915     --ldflags|--lflags)
916         echo \$WLFLAGS
917         ;;
918     --libs)
919         echo \$WLIBS
920         ;;
921     *)
922         echo "\${usage}" 1>&2
923         exit 1
924         ;;
925   esac
926   shift
927 done
932 cat <<EOF > WINGs/WINGs.pc
933 Name: WINGs
934 Description: Small widget set with the NeXTStep(TM) look and feel
935 Version: $VERSION
936 Requires: wrlib
937 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
938 Cflags: $inc_search_path
941 cat <<EOF >get-wutil-flags
942 #!/bin/sh
944 WCFLAGS="-I`eval echo ${includedir}`"
945 WLFLAGS="-L${_libdir}"
946 WLIBS="-lWUtil $INTLIBS"
948 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
950 if test \$# -eq 0; then
951       echo "\${usage}" 1>&2
952       exit 1
955 while test \$# -gt 0; do
956   case \$1 in
957     --cflags)
958         echo \$WCFLAGS
959         ;;
960     --ldflags|--lflags)
961         echo \$WLFLAGS
962         ;;
963     --libs)
964         echo \$WLIBS
965         ;;
966     *)
967         echo "\${usage}" 1>&2
968         exit 1
969         ;;
970   esac
971   shift
972 done
977 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
978 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
979 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
981 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
983 rm -f get-wraster-flags get-wings-flags get-wutil-flags
987 dnl Spit out the configuration
988 dnl ==========================
990 supported_gfx="$supported_gfx builtin-PPM"
992 if test "x$MOFILES" = "x"; then
993         mof=None
994 else
995         mof=`echo $MOFILES`
998 if test "x$MOFILES" = "x"; then
999         languages=None
1000 else
1001         languages=`echo $MOFILES | sed 's/.mo//g'`
1004 echo
1005 echo "Window Maker was configured as follows:"
1006 echo
1007 echo "Installation path prefix            : $prefix"
1008 echo "Installation path for binaries      : $_bindir"
1009 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1010 echo "Supported graphic format libraries  : $supported_gfx"
1011 echo "Use assembly routines for wrlib     : $asm_support"
1012 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1013 echo "Antialiased text support in WINGs   : $xft"
1014 echo "Xinerama extension support          : $xinerama"
1015 echo "XRandR extension support            : $xrandr"
1016 echo "Translated message files to install : $mof"
1017 dnl echo "Supported languages beside English  : $languages"
1018 if test "x$MOFILES" != "x"; then
1019         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1021 echo
1023 dnl WM_PRINT_REDCRAP_BUG_STATUS
1025 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1026 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1027 echo
1028 echo "JPEG support will not be included because the JPEG library is"
1029 echo "not installed correctly or was not found. Background images"
1030 echo "from themes will not display as they usually are JPEG files."
1031 echo
1032 echo "To fix, download and install the jpeg library and/or make sure you"
1033 echo "installed all jpeg related packages, SPECIALLY the development packages"
1034 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1035 echo
1036 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1040 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1041 dnl ================================================
1042 dnl Local Variables:
1043 dnl compile-command: "autoconf"
1044 dnl End: