another test for cvs notifications
[wmaker-crm.git] / configure.ac
blob7f8ef85a1baea92984ff2fe5b56c0649a6b7e00e
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.85.0)
20 AC_PROG_LIBTOOL
22 # by Marcelo Magallon <mmagallo@efis.ucr.ac.cr>
23 # Turn around -rpath problem with libtool 1.0c
24 # This define should be improbable enough to not conflict with anything
25 case ${host} in
26   *-pc-linux-gnu)
27     AC_MSG_RESULT([Fixing libtool for -rpath problems.])
28     sed < libtool > libtool-2 \
29     's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
30     mv libtool-2 libtool
31     chmod 755 libtool
32   ;;
33 esac
36 AM_CONFIG_HEADER(src/config.h)
39 dnl Checks for host/os name
40 dnl =======================
41 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
44 dnl Checks for programs.
45 dnl ===================
46 AC_ISC_POSIX
47 AC_PROG_CC
48 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
49 #AC_PROG_RANLIB
50 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
51 AC_PROG_LN_S
52 AC_PROG_GCC_TRADITIONAL
55 dnl the prefix
56 dnl ==========
57 dnl
58 dnl move this earlier in the script... anyone know why this is handled
59 dnl in such a bizarre way?
61 test "x$prefix" = xNONE && prefix=$ac_default_prefix
62 dnl Let make expand exec_prefix.
63 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
66 _bindir=`eval echo $bindir`
67 _bindir=`eval echo $_bindir`
69 _libdir=`eval echo $libdir`
70 _libdir=`eval echo $_libdir`
71 lib_search_path="-L$_libdir"
73 inc_search_path=`eval echo $includedir`
74 inc_search_path="-I`eval echo $inc_search_path`"
77 dnl
78 dnl Check for RedHat bugs
79 dnl =====================
81 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
84 dnl
85 dnl Specify paths to look for libraries and headers
86 dnl ===============================================
87 AC_ARG_WITH(libs-from,
88 [  --with-libs-from        pass compiler flags to look for libraries],
89         [lib_search_path="$withval $lib_search_path"])
91 AC_ARG_WITH(incs-from,
92 [  --with-incs-from        pass compiler flags to look for header files],
93         [inc_search_path="$withval $inc_search_path"])
97 dnl Checks for library functions.
98 dnl ============================
99 dnl not used anywhere
100 dnl AC_FUNC_MEMCMP  
101 AC_FUNC_VPRINTF
102 AC_FUNC_ALLOCA
103 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
104                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
105                vasprintf mbsnrtowcs mbsrtowcs mbrtowc mbrlen wcsnrtombs \
106                wcsrtombs wcstombs)
108 dnl ripped from samba
109 dnl 
110 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
111 AC_TRY_RUN([
112 #include <sys/types.h>
113 #include <stdarg.h>
114 void foo(const char *format, ...) { 
115        va_list ap;
116        int len;
117        char buf[5];
119        va_start(ap, format);
120        len = vsnprintf(0, 0, format, ap);
121        va_end(ap);
122        if (len != 5) exit(1);
124        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
126        exit(0);
128 main() { foo("hello"); }
130 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
131 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
132     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
135 dnl Loading of dynamic libraries at runtime
136 dnl =======================================
137 DLLIBS=""
139 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
140         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
141                          DLLIBS="" ))
143 if test "x$HAVEDL" = xyes; then
144     AC_CHECK_HEADERS(dlfcn.h)
149 dnl Check CPP
150 dnl =========
151 if test "x$CPP_PATH" = x; then
152     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
153                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
157 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
158 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
159 dnl standard locations
161 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
162     if test "$GCC" = "yes"; then
163         CPP_PATH="gcc -E -x c"
164     else 
165         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
166             CPP_PATH="$CPP_PATH -B"
167         else
168             echo "cpp, the C preprocessor was not found in your system."
169             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
170             exit
171         fi
172     fi
174 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
178 dnl Checks for header files.
179 dnl =======================
180 AC_HEADER_SYS_WAIT
181 AC_HEADER_TIME
182 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
183                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
184                  strings.h wchar.h)
188 dnl Checks for typedefs, structures, and compiler characteristics.
189 dnl ==============================================================
190 AC_DECL_SYS_SIGLIST
191 AC_C_CONST
192 #AC_TYPE_SIZE_T
193 #AC_TYPE_PID_T
194 AC_TYPE_SIGNAL
198 dnl Compiler/architecture specific optimizations
199 dnl ============================================
202 dnl GCC/as with MMX support
203 dnl -----------------------
205 # until we fix it, leave it disabled
206 asm_support=no
207 mmx_support=no
208 if test "$ac_cv_prog_gcc" = yes; then
209     x86=0
210     changequote(,)dnl
211     case "$host_cpu" in
212        i[3456]86) x86=1
213        ;;
214     esac
215     changequote([,])dnl
217     if test "$host_os" != "linux" -a "$host_os" != "linux-gnu" ; then
218        x86=0
219     fi
221     if test $x86 = 1; then
222        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
223        asm_support=yes
225        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
226                       ac_cv_c_inline_mmx,
227                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
228                       ac_cv_c_inline_mmx=yes,
229                       ac_cv_c_inline_mmx=no)])
231        if test "x$ac_cv_c_inline_mmx" = xyes; then
232           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
233           mmx_support=yes
234        fi
235     fi
239 dnl pkg-config
240 dnl ----------
241 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
242 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
245 dnl gettext
246 dnl -------
249 dnl AM_GNU_GETTEXT
253 INTLIBS=""
255 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
256         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
257                          INTLIBS="" ))
259 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
261 if test "$XGETTEXT" != ""; then 
262     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
263         echo "xgettext isn't GNU version"
264         XGETTEXT=""
265     fi
268 if test "$LINGUAS" != ""; then
269     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
270         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
271         PO=""
272 #       if test "$LINGUAS" = ""; then
273 #           ling=` (cd src/po; /bin/ls *.po) `
274 #           for l in $ling; do
275 #               lcode=`basename $l .po`
276 #               LINGUAS="$LINGUAS $lcode"
277 #           done
278 #       fi
279         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
280     else
281         LINGUAS=""
282         PO=""
283         echo "xgettext and libintl.a don't both exist; will not build i18n support"
284     fi
285 else
286         INTLIBS=""
287         MOFILES=""
288         WPMOFILES=""
289         PO=""
293 dnl The Tower of Babel
294 dnl ==================
296 dnl List of supported locales
297 dnl -------------------------
298 supported_locales="be bg ca cs da de el es et fi fr gl hr hu it ja ko ms nl no pl pt ro ru sk sv tr zh_CN zh_TW.Big5"
299 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW.Big5"
300 supported_wings_locales="bg ca cs de fr sk"
302 for lang in $LINGUAS; do
303         ok=0
304         for l in $supported_locales; do
305                 if test "$l" = "$lang"; then
306                         ok=1
307                         break
308                 fi
309         done
310         if test "$ok" = 1; then
311                 MOFILES="$MOFILES $lang.mo"
312         else
313                 echo "Locale $lang is not supported."
314         fi
315         ok=0
316         for l in $supported_wprefs_locales; do
317                 if test "$l" = "$lang"; then
318                         ok=1
319                         break
320                 fi
321         done
322         if test "$ok" = 1; then
323                 WPMOFILES="$WPMOFILES $lang.mo"
324         fi
325         ok=0
326         for l in $supported_wings_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
334         fi
335 done
338 dnl Kanji Characters support
339 dnl ========================
341 case $host_os in
342         freebsd*)
343                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
344         *)
345         ;;
346 esac
350 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
351 dnl ===========================================
352 AC_ARG_WITH(nlsdir, 
353         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
356 if test "x$NLSDIR" = "x"; then
357         if test "x$with_nlsdir" != "x"; then
358                 NLSDIR=$with_nlsdir
359         else
360                 NLSDIR='$(prefix)/lib/locale'
361         fi
366 AC_SUBST(DLLIBS)
367 AC_SUBST(INTLIBS)
368 AC_SUBST(NLSDIR)
369 AC_SUBST(MOFILES)
370 AC_SUBST(WPMOFILES)
371 AC_SUBST(WINGSMOFILES)
372 AC_SUBST(supported_locales)
376 dnl Support for various hint things
377 dnl ===============================
380 AC_ARG_ENABLE(gnome,
381   [  --enable-gnome          enable stuff needed for GNOME ],
382   [if test x$enableval = xyes; then
383     AC_DEFINE(GNOME_STUFF, 1, [define if you want GNOME stuff support])
384     gnome_on=yes
385   fi])
388 AC_ARG_ENABLE(kde,
389   [  --enable-kde            enable support for KDE window manager (kwm) hints ],
390   [if test x$enableval = xyes; then
391     AC_DEFINE(KWM_HINTS, 1, [define if you want KDE hint support])
392     kde_on=yes
393   fi])
396 AC_ARG_ENABLE(openlook,
397   [  --enable-openlook       enable support for OPEN LOOK(tm) (olwm) hints ],
398   [if test x$enableval = xyes; then
399     AC_DEFINE(OLWM_HINTS, 1, [define if you want OPEN LOOK(tm) hint support])
400     openlook_on=yes
401   fi])
405 dnl Disable some stuff that are duplicated in kde
406 dnl ---------------------------------------------
407 AC_ARG_ENABLE(lite,
408   [  --enable-lite           disable some stuff (dont use it) ],
409   [if test x$enableval = xyes; then
410         LITE=yes
411         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
412         AC_SUBST(LITE)
413   fi])
418 dnl Networking stuff
421 NETLIBS=""
423 AC_CHECK_FUNC(connect,,
424         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
426 AC_CHECK_FUNC(gethostbyname,,
427         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
429 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
430      for lib in resolv socket inet bsd; do
431         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
432                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
433      done)
435 AC_SUBST(NETLIBS)
438 dnl ===========================================
439 dnl             Stuff that uses X
440 dnl ===========================================
442 AC_PATH_XTRA
444 if test $no_x; then
445     AC_MSG_ERROR([The path for the X11 files not found!
446 Make sure you have X and it's headers and libraries (the -devel packages
447 in Linux) installed.])
450 X_LIBRARY_PATH=$x_libraries
452 XCFLAGS="$X_CFLAGS"
454 XLFLAGS="$X_LIBS"
456 XLIBS="-lX11 $X_EXTRA_LIBS"
459 lib_search_path="$lib_search_path $XLFLAGS"
460 inc_search_path="$inc_search_path $XCFLAGS"
463 AC_SUBST(X_LIBRARY_PATH)
467 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
468 dnl by MANOME Tomonori 
469 dnl ===========================================
470 use_locale=yes
471 AC_ARG_ENABLE(locale, 
472 [  --disable-locale        disable use of X locale support],
473                 use_locale=no)
475 if test "$use_locale" = yes; then
476         AC_CHECK_LIB(X11, _Xsetlocale,
477                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
478                 $XLFLAGS $XLIBS)
482 dnl Check whether XInternAtoms() exist
483 dnl ==================================
484 AC_CHECK_LIB(X11, XInternAtoms, 
485              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
486              $XLFLAGS $XLIBS)
488 dnl Check whether XConvertCase() exist
489 dnl ==================================
490 AC_CHECK_LIB(X11, XConvertCase, 
491              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
492              $XLFLAGS $XLIBS)
495 dnl XKB keyboard language status
496 dnl ============================
497 AC_ARG_ENABLE(modelock,
498 [  --enable-modelock       XKB keyboard language status support],
499                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
503 dnl Shape support
504 dnl =============
505 shape=yes
506 AC_ARG_ENABLE(shape, 
507 [  --disable-shape         disable shaped window extension support],
508                 shape=$enableval, shape=yes)
510 added_xext=no
512 if test "$shape" = yes; then
513         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
514                 added_xext=yes
515                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
516                 shape=no, $XLFLAGS $XLIBS)
520 dnl Xft antialiased font support
521 dnl ============================
523 xft=yes
524 XFTLIBS=""
526 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
527         XFTCONFIG="$PKGCONFIG xft"
528         pkgconfig_xft=yes
529 else
530         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
533 AC_MSG_CHECKING([for the Xft2 library])
535 if test "x$XFTCONFIG" != x; then
536         XFTLIBS=`$XFTCONFIG --libs`
537         XFTFLAGS=`$XFTCONFIG --cflags`
538         AC_MSG_RESULT([found])
539 else
540         AC_MSG_RESULT([not found])
541         echo
542         echo "ERROR!!! libXft2 is not installed or could not be found."
543         echo "         Xft2 is a requirement for building Window Maker."
544         echo "         Please install it (along with fontconfig) before continuing."
545         echo
546         exit 1
549 minXFT="2.1.2"
550 goodxft="no"
553 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
555 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
557 if test "$goodxft" = no; then
558         echo
559         echo "ERROR!!! libXft on this system is an old version."
560         echo "         Please consider upgrading to at least version ${minXFT}."
561         echo
562         exit 1
565 AC_SUBST(XFTFLAGS)
566 AC_SUBST(XFTLIBS)
567 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
570 dnl XINERAMA support
571 dnl ================
572 xinerama=no
573 AC_ARG_ENABLE(xinerama,
574 [  --enable-xinerama       enable Xinerama extension support],
575                 xinerama=$enableval, xinerama=no)
577 if test "$xinerama" = yes; then
578         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
579                 [XLIBS="-lXinerama $XLIBS"
580                 xfxine=yes],
581                 xfxine=no, $XLFLAGS $XLIBS)
583         AC_CHECK_LIB(Xext, XineramaGetInfo,
584                 [sunxine=yes
585                 ], sunxine=no, $XLFLAGS $XLIBS)
587         if test "$xfxine" = yes; then
588                 xine=1
589         fi
591         if test "$sunxine" = yes; then
592             xine=1
593             AC_DEFINE(SOLARIS_XINERAMA, 1, 
594                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
595         fi
597         if test "$xine" = 1; then
598             AC_DEFINE(XINERAMA, 1, 
599                 [define if you want support for the XINERAMA extension (set by configure)])
600         fi
605 dnl MIT-SHM support
606 dnl ===============
607 shm=yes
608 AC_ARG_ENABLE(shm,
609 [  --disable-shm           disable usage of MIT-SHM extension],
610                 shm=$enableval, shm=yes)
612 if test "$shm" = yes; then
613         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
615         if test "$ok" = yes; then
616         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
617         fi
619         if test "$ok" = yes; then
620                 if test "$added_xext" = no; then
621                         XLIBS="-lXext $XLIBS"
622                 fi
623                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
624         fi
628 dnl R6 Style Session Management Support
629 dnl ===================================
633 #AC_DEFINE(R6SM)
634 #AC_SUBST(XSMPLIBS)
638 dnl ==============================================
639 dnl         Graphic Format Libraries
640 dnl ==============================================
646 dnl XPM Support
647 dnl ===========
648 xpm=yes
649 AC_ARG_ENABLE(xpm, 
650 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
651         xpm=$enableval, xpm=yes)
653 if test "$xpm" = yes; then
654     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
656     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
657         WM_CHECK_HEADER(X11/xpm.h)
658         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
659                 GFXLIBS="$GFXLIBS -lXpm"
660                 supported_gfx="XPM"
661                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
662         else
663                 supported_gfx="builtin-XPM"
664         fi
665     fi
668 # for wmlib
669 AC_SUBST(XCFLAGS)
670 # for test
671 AC_SUBST(XLFLAGS)
672 AC_SUBST(XLIBS)
674 AC_SUBST(X_EXTRA_LIBS)
676 dnl ===============================================
677 dnl             End of stuff that uses X
678 dnl ===============================================
682 dnl PNG Support
683 dnl ===========
684 png=yes
685 AC_ARG_ENABLE(png, 
686 [  --disable-png           disable PNG support through libpng],
687         png=$enableval, png=yes, png=no)
690 if test "$png" = yes ; then
691     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
693     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
694         WM_CHECK_HEADER(png.h)
695         if test "x$ac_cv_header_png_h" = xyes; then
696             GFXLIBS="$GFXLIBS -lpng -lz" 
697             supported_gfx="$supported_gfx PNG"
698             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
699         fi
700     fi
704 dnl JPEG Support
705 dnl ============
706 jpeg=yes
707 ljpeg=""
708 AC_ARG_ENABLE(jpeg,
709 [  --disable-jpeg          disable JPEG support through libjpeg],
710         jpeg=$enableval, jpeg=yes, jpeg=no)
712 if test "$jpeg" = yes; then
713     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
715     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
717         ljpeg="-ljpeg"
719         WM_CHECK_HEADER(jpeglib.h)
720         if test "x$ac_cv_header_jpeglib_h" = xyes; then
721             GFXLIBS="$GFXLIBS -ljpeg"
722             supported_gfx="$supported_gfx JPEG"
723             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
724         fi
725     fi
729 dnl GIF Support
730 dnl ============
731 gif=yes
732 AC_ARG_ENABLE(gif,
733 [  --disable-gif           disable GIF support through libgif or libungif],
734         gif=$enableval, gif=yes, gif=no)
736 if test "$gif" = yes; then
737     my_libname=""
738     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
739     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
740         my_libname=-lungif
741     fi
743 dnl libungif is the same thing as libgif for all practical purposes.
745     if test "x$my_libname" = x; then
746         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
747         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
748             my_libname=-lgif
749         fi
750     fi
752     if test "$my_libname" != x; then
753         WM_CHECK_HEADER(gif_lib.h)
754         if test "x$ac_cv_header_gif_lib_h" = xyes; then
755             GFXLIBS="$GFXLIBS $my_libname"
756             supported_gfx="$supported_gfx GIF"
757             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
758         fi
759     fi
764 dnl TIFF Support
765 dnl ============
766 AC_ARG_ENABLE(tiff, 
767 [  --disable-tiff          disable use of TIFF images through libtiff],
768         tif=$enableval, tif=yes, tif=no)
771 # TIFF can optionally have JPEG and/or zlib support. Must find out
772 # when they are supported so that correct library flags are passed during
773 # detection and linkage
776 # By default use xpm icons if tiff is not found.
777 ICONEXT="xpm"
780 if test "$tif" = yes; then
781     my_libname=""
782     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
783     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
784         my_libname="-ltiff"
785     fi
787 dnl Retry with zlib
789     unset ac_cv_lib_tiff_TIFFGetVersion
790     if test "x$my_libname" = x; then
791         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
792         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
793             my_libname="-ltiff -lz"
794         fi
795     fi
797     if test "x$my_libname" = x; then
798         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
799         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
800             my_libname="-ltiff34"
801         fi
802     fi
805     if test "x$my_libname" != x; then
806         WM_CHECK_HEADER(tiffio.h)
807         if test "x$ac_cv_header_tiffio_h" = xyes; then
808             GFXLIBS="$my_libname $GFXLIBS"
809             ICONEXT="tiff"
810             supported_gfx="$supported_gfx TIFF"
811             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
812         fi
813     fi
816 LIBRARY_SEARCH_PATH="$lib_search_path"
817 HEADER_SEARCH_PATH="$inc_search_path"
819 AC_SUBST(LIBRARY_SEARCH_PATH)
820 AC_SUBST(HEADER_SEARCH_PATH)
823 AC_SUBST(GFXLIBS)
824 AC_SUBST(ICONEXT)
827 dnl ==============================================
828 dnl         End of Graphic Format Libraries
829 dnl ==============================================
833 dnl stdlib.h is checked here, because of conflict in jpeglib.h
834 AC_CHECK_HEADERS(stdlib.h)
836 # AC_PREFIX_PROGRAM(wmaker)
838 dnl Support for PIXMAPDIR option
839 dnl ============================
840 AC_ARG_WITH(pixmapdir,
841 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
843 if test "x$with_pixmapdir" != "x"; then
844         pixmapdir=$with_pixmapdir
845 else
846         pixmapdir=`eval echo ${datadir}/pixmaps`
849 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
851 pkgdatadir=`eval echo $datadir`
852 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
854 _sysconfdir=`eval echo $sysconfdir`
855 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
858 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
859 dnl ==============================================
861 appspath=""
863 AC_ARG_WITH(appspath,
864 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
866 if test "x$appspath" = "x"; then
867     gnustepdir='$(prefix)/GNUstep'
869     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
870         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
871         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
872     fi
874     with_appspath=$gnustepdir/Apps
877 wprefsdir=$with_appspath/WPrefs.app
879 AC_SUBST(wprefsdir)
882 dnl Enable User Defined Menu thing
883 dnl ==================================
884 AC_ARG_ENABLE(usermenu,
885 [  --enable-usermenu       user defined menus for applications
887 if test "$enableval" = yes; then
888         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
894 dnl Nicolai:  Program tests for Documentation Section
895 dnl =================================================
896 dnl DOCTYPES=""
897 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
898 dnl if test "x$MAKEINFO" != "x" ; then
899 dnl       DOCTYPES="$DOCTYPES info_doc"
900 dnl fi
901 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
902 dnl if test "x$TEX" != "x" ; then
903 dnl       DOCTYPES="$DOCTYPES dvi_doc"
904 dnl fi
905 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
906 dnl if test "x$DVIPS" != "x" ; then
907 dnl       DOCTYPES="$DOCTYPES ps_doc"
908 dnl fi
909 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
910 dnl if test "x$PERL" != "x" ; then
911 dnl       DOCTYPES="$DOCTYPES html_doc"
912 dnl fi
913 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
914 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
915   
916 dnl AC_SUBST(DOCTYPES)
918 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
919         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
920         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
921         WINGs/Extras/Makefile WINGs/po/Makefile \
922         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
923         doc/Makefile doc/sk/Makefile \
924         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
925         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
926         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
927         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
928         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
929         WPrefs.app/po/Makefile \
930         contrib/Makefile contrib/WindowMaker.spec )
931 #       plugins/Makefile plugins/libwmfun/Makefile)
936 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
937 dnl ===================================================================
940 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
941 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
942 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
944 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
945 dnl parsed by m4
947 cat <<EOF >get-wraster-flags
948 #!/bin/sh
950 WCFLAGS="$inc_search_path"
951 WLFLAGS="$lib_search_path"
952 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
954 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
956 if test \$# -eq 0; then
957       echo "\${usage}" 1>&2
958       exit 1
961 while test \$# -gt 0; do
962   case \$1 in
963     --cflags)
964         echo \$WCFLAGS
965         ;;
966     --ldflags|--lflags)
967         echo \$WLFLAGS
968         ;;
969     --libs)
970         echo \$WLIBS
971         ;;
972     *)
973         echo "\${usage}" 1>&2
974         exit 1
975         ;;
976   esac
977   shift
978 done
983 cat <<EOF > wrlib/wrlib.pc
984 Name: wrlib
985 Description: Image manipulation and conversion library
986 Version: $VERSION
987 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
988 Cflags: $inc_search_path
991 cat <<EOF >get-wings-flags
992 #!/bin/sh
994 WCFLAGS="$inc_search_path"
995 WLFLAGS="$lib_search_path"
996 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
998 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1000 if test \$# -eq 0; then
1001       echo "\${usage}" 1>&2
1002       exit 1
1005 while test \$# -gt 0; do
1006   case \$1 in
1007     --cflags)
1008         echo \$WCFLAGS
1009         ;;
1010     --ldflags|--lflags)
1011         echo \$WLFLAGS
1012         ;;
1013     --libs)
1014         echo \$WLIBS
1015         ;;
1016     *)
1017         echo "\${usage}" 1>&2
1018         exit 1
1019         ;;
1020   esac
1021   shift
1022 done
1027 cat <<EOF > WINGs/WINGs.pc
1028 Name: WINGs
1029 Description: Small widget set with the NeXTStep(TM) look and feel
1030 Version: $VERSION
1031 Requires: wrlib
1032 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1033 Cflags: $inc_search_path
1036 cat <<EOF >get-wutil-flags
1037 #!/bin/sh
1039 WCFLAGS="-I`eval echo ${includedir}`"
1040 WLFLAGS="-L${_libdir}"
1041 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1043 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1045 if test \$# -eq 0; then
1046       echo "\${usage}" 1>&2
1047       exit 1
1050 while test \$# -gt 0; do
1051   case \$1 in
1052     --cflags)
1053         echo \$WCFLAGS
1054         ;;
1055     --ldflags|--lflags)
1056         echo \$WLFLAGS
1057         ;;
1058     --libs)
1059         echo \$WLIBS
1060         ;;
1061     *)
1062         echo "\${usage}" 1>&2
1063         exit 1
1064         ;;
1065   esac
1066   shift
1067 done
1072 cat <<EOF > wmlib/wmlib.pc
1073 Name: wmlib
1074 Description: FIXME: What do I write here?
1075 Version: $VERSION
1076 Requires: wrlib
1077 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1078 Cflags: $inc_search_path
1081 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1082 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1083 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1085 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1087 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1091 dnl Spit out the configuration
1092 dnl ==========================
1094 supported_gfx="$supported_gfx builtin-PPM"
1096 if test "x$MOFILES" = "x"; then
1097         mof=none
1098 else
1099         mof=`echo $MOFILES`
1102 if test "x$MOFILES" = "x"; then
1103         languages=none
1104 else
1105         languages=`echo $MOFILES | sed 's/.mo//g'`
1109 echo
1110 echo "Window Maker was configured as follows:"
1111 echo
1112 echo "Installation path prefix            : $prefix"
1113 echo "Installation path for binaries      : $_bindir"
1114 echo "Installation path for WPrefs.app    : $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
1115 echo "Supported graphic format libraries  : $supported_gfx"
1116 echo "Antialiased text support for WINGs  : $xft"
1117 echo "Xinerama extension support          : $xinerama"
1118 echo "Use assembly routines for wrlib     : $asm_support"
1119 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1120 echo "Translated message files to install : $mof"
1121 dnl echo "Supported languages beside English  : $languages"
1122 if test "x$MOFILES" != "x"; then
1123         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1125 echo
1127 dnl WM_PRINT_REDCRAP_BUG_STATUS
1129 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1130 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1131 echo
1132 echo "JPEG support will not be included because the JPEG library is"
1133 echo "not installed correctly or was not found. Background images"
1134 echo "from themes will not display as they usually are JPEG files."
1135 echo
1136 echo "To fix, download and install the jpeg library and/or make sure you"
1137 echo "installed all jpeg related packages, SPECIALLY the development packages"
1138 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1139 echo
1140 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1144 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1145 dnl ================================================
1146 dnl Local Variables:
1147 dnl compile-command: "autoconf"
1148 dnl End: