Make inotify optional
[wmaker-crm.git] / configure.ac
bloba4be3a6e8349ef6be23ed8b3aed87a15a49eb89b
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(src/WindowMaker.h)
18 AM_INIT_AUTOMAKE(WindowMaker, 0.94.0-crm)
20 AC_PROG_LIBTOOL
22 AM_CONFIG_HEADER(src/config.h)
25 dnl Checks for host/os name
26 dnl =======================
27 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
30 dnl Checks for programs.
31 dnl ===================
32 AC_ISC_POSIX
33 AC_PROG_CC
34 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
35 #AC_PROG_RANLIB
36 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
37 AC_PROG_LN_S
38 AC_PROG_GCC_TRADITIONAL
41 dnl the prefix
42 dnl ==========
43 dnl
44 dnl move this earlier in the script... anyone know why this is handled
45 dnl in such a bizarre way?
47 test "x$prefix" = xNONE && prefix=$ac_default_prefix
48 dnl Let make expand exec_prefix.
49 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
52 _bindir=`eval echo $bindir`
53 _bindir=`eval echo $_bindir`
55 _libdir=`eval echo $libdir`
56 _libdir=`eval echo $_libdir`
57 lib_search_path="-L$_libdir"
59 inc_search_path=`eval echo $includedir`
60 inc_search_path="-I`eval echo $inc_search_path`"
63 dnl
64 dnl Check for RedHat bugs
65 dnl =====================
67 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
70 dnl
71 dnl Specify paths to look for libraries and headers
72 dnl ===============================================
73 AC_ARG_WITH(libs-from,
74 [  --with-libs-from        pass compiler flags to look for libraries],
75         [lib_search_path="$withval $lib_search_path"])
77 AC_ARG_WITH(incs-from,
78 [  --with-incs-from        pass compiler flags to look for header files],
79         [inc_search_path="$withval $inc_search_path"])
83 dnl Checks for library functions.
84 dnl ============================
85 dnl not used anywhere
86 dnl AC_FUNC_MEMCMP  
87 AC_FUNC_VPRINTF
88 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
89                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
90                vasprintf)
92 dnl ripped from samba
93 dnl 
94 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
95 AC_TRY_RUN([
96 #include <sys/types.h>
97 #include <stdarg.h>
98 void foo(const char *format, ...) { 
99        va_list ap;
100        int len;
101        char buf[5];
103        va_start(ap, format);
104        len = vsnprintf(0, 0, format, ap);
105        va_end(ap);
106        if (len != 5) exit(1);
108        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
110        exit(0);
112 main() { foo("hello"); }
114 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
115 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
116     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
119 dnl Loading of dynamic libraries at runtime
120 dnl =======================================
121 DLLIBS=""
123 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
124         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
125                          DLLIBS="" ))
127 if test "x$HAVEDL" = xyes; then
128     AC_CHECK_HEADERS(dlfcn.h)
131 dnl Check for inotify
132 dnl =================
133 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
135 dnl Check CPP
136 dnl =========
137 if test "x$CPP_PATH" = x; then
138     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
139                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
143 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
144 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
145 dnl standard locations
147 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
148     if test "$GCC" = "yes"; then
149         CPP_PATH="gcc -E -x c"
150     else 
151         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
152             CPP_PATH="$CPP_PATH -B"
153         else
154             echo "cpp, the C preprocessor was not found in your system."
155             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
156             exit
157         fi
158     fi
160 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
164 dnl Checks for header files.
165 dnl =======================
166 AC_HEADER_SYS_WAIT
167 AC_HEADER_TIME
168 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
169                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
170                  strings.h)
174 dnl Checks for typedefs, structures, and compiler characteristics.
175 dnl ==============================================================
176 AC_DECL_SYS_SIGLIST
177 AC_C_CONST
178 #AC_TYPE_SIZE_T
179 #AC_TYPE_PID_T
180 AC_TYPE_SIGNAL
184 dnl Compiler/architecture specific optimizations
185 dnl ============================================
188 dnl GCC/as with MMX support
189 dnl -----------------------
191 # until we fix it, leave it disabled
192 asm_support=no
193 mmx_support=no
195 check_for_mmx_support=yes
196 AC_ARG_ENABLE(mmx,
197    [  --disable-mmx          disable compilation of MMX inline assembly ],
198    [if test x$enableval != xyes; then
199     check_for_mmx_support=no
200     fi])
202 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
203 case $host_cpu in
204 *i?86*)
206     # gcc-3.3 or newer complains about some of our stuff without this
207     NOSTRICTALIASING="-fno-strict-aliasing"
209     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
210                    ac_cv_c_inline_asm,
211                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
212                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
213                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
214                    ac_cv_c_inline_asm=yes,
215                    ac_cv_c_inline_asm=no)])
217     if test "x$ac_cv_c_inline_asm" = xyes; then
218        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
219        asm_support=yes
221        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
222                       ac_cv_c_inline_mmx,
223                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
224                       ac_cv_c_inline_mmx=yes,
225                       ac_cv_c_inline_mmx=no)])
227        if test "x$ac_cv_c_inline_mmx" = xyes; then
228           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
229           mmx_support=yes
230        fi
231     fi
232     ;;
233 esac
235 AC_SUBST(NOSTRICTALIASING)
238 dnl pkg-config
239 dnl ----------
240 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
241 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
244 dnl gettext
245 dnl -------
248 dnl AM_GNU_GETTEXT
252 INTLIBS=""
254 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
255         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
256                          INTLIBS="" ))
258 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
260 if test "$XGETTEXT" != ""; then 
261     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
262         echo "xgettext isn't GNU version"
263         XGETTEXT=""
264     fi
267 if test "$LINGUAS" != ""; then
268     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
269         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
270         PO=""
271 #       if test "$LINGUAS" = ""; then
272 #           ling=` (cd src/po; /bin/ls *.po) `
273 #           for l in $ling; do
274 #               lcode=`basename $l .po`
275 #               LINGUAS="$LINGUAS $lcode"
276 #           done
277 #       fi
278         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
279     else
280         LINGUAS=""
281         PO=""
282         echo "xgettext and libintl.a don't both exist; will not build i18n support"
283     fi
284 else
285         INTLIBS=""
286         MOFILES=""
287         WPMOFILES=""
288         UTILMOFILES=""
289         PO=""
293 dnl The Tower of Babel
294 dnl ==================
296 dnl List of supported locales
297 dnl -------------------------
298 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"
299 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
300 supported_wings_locales="bg ca cs de fr sk"
301 supported_util_locales="de"
303 for lang in $LINGUAS; do
304         ok=0
305         for l in $supported_locales; do
306                 if test "$l" = "$lang"; then
307                         ok=1
308                         break
309                 fi
310         done
311         if test "$ok" = 1; then
312                 MOFILES="$MOFILES $lang.mo"
313         else
314                 echo "Locale $lang is not supported."
315         fi
316         ok=0
317         for l in $supported_wprefs_locales; do
318                 if test "$l" = "$lang"; then
319                         ok=1
320                         break
321                 fi
322         done
323         if test "$ok" = 1; then
324                 WPMOFILES="$WPMOFILES $lang.mo"
325         fi
326         ok=0
327         for l in $supported_util_locales; do
328                 if test "$l" = "$lang"; then
329                         ok=1
330                         break
331                 fi
332         done
333         if test "$ok" = 1; then
334                 UTILMOFILES="$UTILMOFILES $lang.mo"
335         fi
336         ok=0
337         for l in $supported_wings_locales; do
338                 if test "$l" = "$lang"; then
339                         ok=1
340                         break
341                 fi
342         done
343         if test "$ok" = 1; then
344                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
345         fi
346 done
349 dnl Kanji Characters support
350 dnl ========================
352 case $host_os in
353         freebsd*)
354                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
355         *)
356         ;;
357 esac
361 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
362 dnl ===========================================
363 AC_ARG_WITH(nlsdir, 
364         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
367 if test "x$NLSDIR" = "x"; then
368         if test "x$with_nlsdir" != "x"; then
369                 NLSDIR=$with_nlsdir
370         else
371                 NLSDIR='$(prefix)/lib/locale'
372         fi
377 AC_SUBST(DLLIBS)
378 AC_SUBST(INTLIBS)
379 AC_SUBST(NLSDIR)
380 AC_SUBST(MOFILES)
381 AC_SUBST(WPMOFILES)
382 AC_SUBST(UTILMOFILES)
383 AC_SUBST(WINGSMOFILES)
384 AC_SUBST(supported_locales)
388 dnl Support for various hint things
389 dnl ===============================
392 dnl Beautify compilation messages
393 dnl ---------------------------------------------
394 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
395                                [Streamline compilation messages (default off)]),
396   [
397         QUIET='@echo "     CC" $@;'
398         QUIET_AR='@echo "     AR" $@;'
399         LIBTOOL_ARG="--silent"
400         MAKEFLAGS="-s"
401         AC_SUBST(QUIET)
402         AC_SUBST(QUIET_AR)
403         AC_SUBST(LIBTOOL_ARG)
404         AC_SUBST(MAKEFLAGS)
410 dnl Networking stuff
413 NETLIBS=""
415 AC_CHECK_FUNC(connect,,
416         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
418 AC_CHECK_FUNC(gethostbyname,,
419         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
421 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
422      for lib in resolv socket inet bsd; do
423         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
424                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
425      done)
427 AC_SUBST(NETLIBS)
430 dnl ===========================================
431 dnl             Stuff that uses X
432 dnl ===========================================
434 AC_PATH_XTRA
436 if test $no_x; then
437     AC_MSG_ERROR([The path for the X11 files not found!
438 Make sure you have X and it's headers and libraries (the -devel packages
439 in Linux) installed.])
442 X_LIBRARY_PATH=$x_libraries
444 XCFLAGS="$X_CFLAGS"
446 XLFLAGS="$X_LIBS"
448 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
451 lib_search_path="$lib_search_path $XLFLAGS"
452 inc_search_path="$inc_search_path $XCFLAGS"
455 AC_SUBST(X_LIBRARY_PATH)
459 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
460 dnl by MANOME Tomonori 
461 dnl ===========================================
462 use_locale=yes
463 AC_ARG_ENABLE(locale, 
464 [  --disable-locale        disable use of X locale support],
465                 use_locale=no)
467 if test "$use_locale" = yes; then
468         AC_CHECK_LIB(X11, _Xsetlocale,
469                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
470                 $XLFLAGS $XLIBS)
474 dnl Check whether XInternAtoms() exist
475 dnl ==================================
476 AC_CHECK_LIB(X11, XInternAtoms, 
477              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
478              $XLFLAGS $XLIBS)
480 dnl Check whether XConvertCase() exist
481 dnl ==================================
482 AC_CHECK_LIB(X11, XConvertCase, 
483              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
484              $XLFLAGS $XLIBS)
487 dnl XKB keyboard language status
488 dnl ============================
489 AC_ARG_ENABLE(modelock,
490 [  --enable-modelock       XKB keyboard language status support],
491                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
495 dnl Shape support
496 dnl =============
497 shape=yes
498 AC_ARG_ENABLE(shape, 
499 [  --disable-shape         disable shaped window extension support],
500                 shape=$enableval, shape=yes)
502 added_xext=no
504 if test "$shape" = yes; then
505         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
506                 added_xext=yes
507                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
508                 shape=no, $XLFLAGS $XLIBS)
512 dnl Xft2 antialiased font support
513 dnl =============================
515 xft=yes
516 XFTLIBS=""
518 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
519         XFTCONFIG="$PKGCONFIG xft"
520         pkgconfig_xft=yes
521 else
522         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
525 AC_MSG_CHECKING([for the Xft2 library])
527 if test "x$XFTCONFIG" != x; then
528         XFTLIBS=`$XFTCONFIG --libs`
529         XFTFLAGS=`$XFTCONFIG --cflags`
530         AC_MSG_RESULT([found])
531 else
532         AC_MSG_RESULT([not found])
533         echo
534         echo "ERROR!!! libXft2 is not installed or could not be found."
535         echo "         Xft2 is a requirement for building Window Maker."
536         echo "         Please install it (along with fontconfig) before continuing."
537         echo
538         exit 1
541 minXFT="2.1.0"
542 goodxft="no"
545 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
547 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
549 if test "$goodxft" = no; then
550         echo
551         echo "ERROR!!! libXft on this system is an old version."
552         echo "         Please consider upgrading to at least version ${minXFT}."
553         echo
554         exit 1
557 AC_SUBST(XFTFLAGS)
558 AC_SUBST(XFTLIBS)
561 dnl XINERAMA support
562 dnl ================
563 xinerama=no
564 AC_ARG_ENABLE(xinerama,
565 [  --enable-xinerama       enable Xinerama extension support],
566                 xinerama=$enableval, xinerama=no)
568 if test "$xinerama" = yes; then
569         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
570                 [XLIBS="-lXinerama $XLIBS"
571                 xfxine=yes],
572                 xfxine=no, $XLFLAGS $XLIBS)
574         AC_CHECK_LIB(Xext, XineramaGetInfo,
575                 [sunxine=yes
576                 ], sunxine=no, $XLFLAGS $XLIBS)
578         if test "$xfxine" = yes; then
579                 xine=1
580         fi
582         if test "$sunxine" = yes; then
583             xine=1
584             AC_DEFINE(SOLARIS_XINERAMA, 1, 
585                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
586         fi
588         if test "$xine" = 1; then
589             AC_DEFINE(XINERAMA, 1, 
590                 [define if you want support for the XINERAMA extension (set by configure)])
591         fi
596 dnl MIT-SHM support
597 dnl ===============
598 shm=yes
599 AC_ARG_ENABLE(shm,
600 [  --disable-shm           disable usage of MIT-SHM extension],
601                 shm=$enableval, shm=yes)
603 if test "$shm" = yes; then
604         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
606         if test "$ok" = yes; then
607         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
608         fi
610         if test "$ok" = yes; then
611                 if test "$added_xext" = no; then
612                         XLIBS="-lXext $XLIBS"
613                 fi
614                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
615         fi
619 dnl R6 Style Session Management Support
620 dnl ===================================
624 #AC_DEFINE(R6SM)
625 #AC_SUBST(XSMPLIBS)
629 dnl ==============================================
630 dnl         Graphic Format Libraries
631 dnl ==============================================
637 dnl XPM Support
638 dnl ===========
639 xpm=yes
640 AC_ARG_ENABLE(xpm, 
641 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
642         xpm=$enableval, xpm=yes)
644 if test "$xpm" = yes; then
645     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
647     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
648         WM_CHECK_HEADER(X11/xpm.h)
649         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
650                 GFXLIBS="$GFXLIBS -lXpm"
651                 supported_gfx="XPM"
652                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
653         else
654                 supported_gfx="builtin-XPM"
655         fi
656     fi
659 # for wmlib
660 AC_SUBST(XCFLAGS)
661 # for test
662 AC_SUBST(XLFLAGS)
663 AC_SUBST(XLIBS)
665 AC_SUBST(X_EXTRA_LIBS)
667 dnl ===============================================
668 dnl             End of stuff that uses X
669 dnl ===============================================
673 dnl PNG Support
674 dnl ===========
675 png=yes
676 AC_ARG_ENABLE(png, 
677 [  --disable-png           disable PNG support through libpng],
678         png=$enableval, png=yes, png=no)
681 if test "$png" = yes ; then
682     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
684     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
685         WM_CHECK_HEADER(png.h)
686         if test "x$ac_cv_header_png_h" = xyes; then
687             GFXLIBS="$GFXLIBS -lpng -lz" 
688             supported_gfx="$supported_gfx PNG"
689             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
690         fi
691     fi
695 dnl JPEG Support
696 dnl ============
697 jpeg=yes
698 ljpeg=""
699 AC_ARG_ENABLE(jpeg,
700 [  --disable-jpeg          disable JPEG support through libjpeg],
701         jpeg=$enableval, jpeg=yes, jpeg=no)
703 if test "$jpeg" = yes; then
704     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
706     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
708         ljpeg="-ljpeg"
710         WM_CHECK_HEADER(jpeglib.h)
711         if test "x$ac_cv_header_jpeglib_h" = xyes; then
712             GFXLIBS="$GFXLIBS -ljpeg"
713             supported_gfx="$supported_gfx JPEG"
714             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
715         fi
716     fi
720 dnl GIF Support
721 dnl ============
722 gif=yes
723 AC_ARG_ENABLE(gif,
724 [  --disable-gif           disable GIF support through libgif or libungif],
725         gif=$enableval, gif=yes, gif=no)
727 if test "$gif" = yes; then
728     my_libname=""
729     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
730     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
731         my_libname=-lungif
732     fi
734 dnl libungif is the same thing as libgif for all practical purposes.
736     if test "x$my_libname" = x; then
737         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
738         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
739             my_libname=-lgif
740         fi
741     fi
743     if test "$my_libname" != x; then
744         WM_CHECK_HEADER(gif_lib.h)
745         if test "x$ac_cv_header_gif_lib_h" = xyes; then
746             GFXLIBS="$GFXLIBS $my_libname"
747             supported_gfx="$supported_gfx GIF"
748             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
749         fi
750     fi
755 dnl TIFF Support
756 dnl ============
757 AC_ARG_ENABLE(tiff, 
758 [  --disable-tiff          disable use of TIFF images through libtiff],
759         tif=$enableval, tif=yes, tif=no)
762 # TIFF can optionally have JPEG and/or zlib support. Must find out
763 # when they are supported so that correct library flags are passed during
764 # detection and linkage
767 # By default use xpm icons if tiff is not found.
768 ICONEXT="xpm"
771 if test "$tif" = yes; then
772     my_libname=""
773     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
774     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
775         my_libname="-ltiff"
776     fi
778 dnl Retry with zlib
780     unset ac_cv_lib_tiff_TIFFGetVersion
781     if test "x$my_libname" = x; then
782         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
783         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
784             my_libname="-ltiff -lz"
785         fi
786     fi
788     if test "x$my_libname" = x; then
789         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
790         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
791             my_libname="-ltiff34"
792         fi
793     fi
796     if test "x$my_libname" != x; then
797         WM_CHECK_HEADER(tiffio.h)
798         if test "x$ac_cv_header_tiffio_h" = xyes; then
799             GFXLIBS="$my_libname $GFXLIBS"
800             ICONEXT="tiff"
801             supported_gfx="$supported_gfx TIFF"
802             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
803         fi
804     fi
807 LIBRARY_SEARCH_PATH="$lib_search_path"
808 HEADER_SEARCH_PATH="$inc_search_path"
810 AC_SUBST(LIBRARY_SEARCH_PATH)
811 AC_SUBST(HEADER_SEARCH_PATH)
814 AC_SUBST(GFXLIBS)
815 AC_SUBST(ICONEXT)
818 dnl ==============================================
819 dnl         End of Graphic Format Libraries
820 dnl ==============================================
824 dnl stdlib.h is checked here, because of conflict in jpeglib.h
825 AC_CHECK_HEADERS(stdlib.h)
827 # AC_PREFIX_PROGRAM(wmaker)
829 dnl Support for PIXMAPDIR option
830 dnl ============================
831 AC_ARG_WITH(pixmapdir,
832 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
834 if test "x$with_pixmapdir" != "x"; then
835         pixmapdir=$with_pixmapdir
836 else
837         pixmapdir=`eval echo ${datadir}/pixmaps`
840 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
842 pkgdatadir=`eval echo $datadir`
843 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
845 _sysconfdir=`eval echo $sysconfdir`
846 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
849 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
850 dnl ==============================================
852 AC_ARG_WITH(appspath,
853 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
855 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
856     appspath=$with_gnustepdir
859 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
860     wprefs_base_dir=${prefix}
861     wprefs_datadir="${datadir}/WPrefs"
862     wprefs_bindir="${bindir}"
863 else
864     gnustepdir=$appspath
866     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
867         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
868         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
869     fi
871     wprefs_base_dir=$gnustepdir/Applications
872     wprefs_datadir=$wprefs_base_dir/WPrefs.app
873     wprefs_bindir=$wprefs_base_dir/WPrefs.app
876 AC_SUBST(wprefs_datadir)
877 AC_SUBST(wprefs_bindir)
880 dnl Enable User Defined Menu thing
881 dnl ==================================
882 AC_ARG_ENABLE(usermenu,
883 [  --enable-usermenu       user defined menus for applications
885 if test "$enableval" = yes; then
886         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
892 dnl Nicolai:  Program tests for Documentation Section
893 dnl =================================================
894 dnl DOCTYPES=""
895 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
896 dnl if test "x$MAKEINFO" != "x" ; then
897 dnl       DOCTYPES="$DOCTYPES info_doc"
898 dnl fi
899 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
900 dnl if test "x$TEX" != "x" ; then
901 dnl       DOCTYPES="$DOCTYPES dvi_doc"
902 dnl fi
903 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
904 dnl if test "x$DVIPS" != "x" ; then
905 dnl       DOCTYPES="$DOCTYPES ps_doc"
906 dnl fi
907 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
908 dnl if test "x$PERL" != "x" ; then
909 dnl       DOCTYPES="$DOCTYPES html_doc"
910 dnl fi
911 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
912 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
913   
914 dnl AC_SUBST(DOCTYPES)
916 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
917         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
918         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
919         WINGs/Extras/Makefile WINGs/po/Makefile \
920         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
921         src/Makefile src/wconfig.h \
922         doc/Makefile doc/sk/Makefile \
923         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
924         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
925         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
926         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
927         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
928         WPrefs.app/po/Makefile \
929         contrib/Makefile contrib/WindowMaker.spec )
934 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
935 dnl ===================================================================
938 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
939 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
940 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
942 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
943 dnl parsed by m4
945 cat <<EOF >get-wraster-flags
946 #!/bin/sh
948 WCFLAGS="$inc_search_path"
949 WLFLAGS="$lib_search_path"
950 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
952 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
954 if test \$# -eq 0; then
955       echo "\${usage}" 1>&2
956       exit 1
959 while test \$# -gt 0; do
960   case \$1 in
961     --cflags)
962         echo \$WCFLAGS
963         ;;
964     --ldflags|--lflags)
965         echo \$WLFLAGS
966         ;;
967     --libs)
968         echo \$WLIBS
969         ;;
970     *)
971         echo "\${usage}" 1>&2
972         exit 1
973         ;;
974   esac
975   shift
976 done
981 cat <<EOF > wrlib/wrlib.pc
982 Name: wrlib
983 Description: Image manipulation and conversion library
984 Version: $VERSION
985 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
986 Cflags: $inc_search_path
989 cat <<EOF >get-wings-flags
990 #!/bin/sh
992 WCFLAGS="$inc_search_path"
993 WLFLAGS="$lib_search_path"
994 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
996 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
998 if test \$# -eq 0; then
999       echo "\${usage}" 1>&2
1000       exit 1
1003 while test \$# -gt 0; do
1004   case \$1 in
1005     --cflags)
1006         echo \$WCFLAGS
1007         ;;
1008     --ldflags|--lflags)
1009         echo \$WLFLAGS
1010         ;;
1011     --libs)
1012         echo \$WLIBS
1013         ;;
1014     *)
1015         echo "\${usage}" 1>&2
1016         exit 1
1017         ;;
1018   esac
1019   shift
1020 done
1025 cat <<EOF > WINGs/WINGs.pc
1026 Name: WINGs
1027 Description: Small widget set with the NeXTStep(TM) look and feel
1028 Version: $VERSION
1029 Requires: wrlib
1030 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1031 Cflags: $inc_search_path
1034 cat <<EOF >get-wutil-flags
1035 #!/bin/sh
1037 WCFLAGS="-I`eval echo ${includedir}`"
1038 WLFLAGS="-L${_libdir}"
1039 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1041 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1043 if test \$# -eq 0; then
1044       echo "\${usage}" 1>&2
1045       exit 1
1048 while test \$# -gt 0; do
1049   case \$1 in
1050     --cflags)
1051         echo \$WCFLAGS
1052         ;;
1053     --ldflags|--lflags)
1054         echo \$WLFLAGS
1055         ;;
1056     --libs)
1057         echo \$WLIBS
1058         ;;
1059     *)
1060         echo "\${usage}" 1>&2
1061         exit 1
1062         ;;
1063   esac
1064   shift
1065 done
1070 cat <<EOF > wmlib/wmlib.pc
1071 Name: wmlib
1072 Description: FIXME: What do I write here?
1073 Version: $VERSION
1074 Requires: wrlib
1075 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1076 Cflags: $inc_search_path
1079 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1080 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1081 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1083 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1085 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1089 dnl Spit out the configuration
1090 dnl ==========================
1092 supported_gfx="$supported_gfx builtin-PPM"
1094 if test "x$MOFILES" = "x"; then
1095         mof=None
1096 else
1097         mof=`echo $MOFILES`
1100 if test "x$MOFILES" = "x"; then
1101         languages=None
1102 else
1103         languages=`echo $MOFILES | sed 's/.mo//g'`
1106 echo
1107 echo "Window Maker was configured as follows:"
1108 echo
1109 echo "Installation path prefix            : $prefix"
1110 echo "Installation path for binaries      : $_bindir"
1111 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1112 echo "Supported graphic format libraries  : $supported_gfx"
1113 echo "Use assembly routines for wrlib     : $asm_support"
1114 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1115 echo "Antialiased text support in WINGs   : $xft"
1116 echo "Xinerama extension support          : $xinerama"
1117 dnl echo "Virtual desktop support             : $vdesktop_on"
1118 echo "Translated message files to install : $mof"
1119 dnl echo "Supported languages beside English  : $languages"
1120 if test "x$MOFILES" != "x"; then
1121         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1123 echo
1125 dnl WM_PRINT_REDCRAP_BUG_STATUS
1127 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1128 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1129 echo
1130 echo "JPEG support will not be included because the JPEG library is"
1131 echo "not installed correctly or was not found. Background images"
1132 echo "from themes will not display as they usually are JPEG files."
1133 echo
1134 echo "To fix, download and install the jpeg library and/or make sure you"
1135 echo "installed all jpeg related packages, SPECIALLY the development packages"
1136 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1137 echo
1138 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1142 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1143 dnl ================================================
1144 dnl Local Variables:
1145 dnl compile-command: "autoconf"
1146 dnl End: