Up the version number for the GIT version to 0.93.0-pre
[wmaker-crm.git] / configure.ac
blob99ec5ad85540448ab9420e5d1ae440f6234c2a39
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.93.0-pre)
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_FUNC_ALLOCA
89 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
90                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
91                vasprintf)
93 dnl ripped from samba
94 dnl 
95 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
96 AC_TRY_RUN([
97 #include <sys/types.h>
98 #include <stdarg.h>
99 void foo(const char *format, ...) { 
100        va_list ap;
101        int len;
102        char buf[5];
104        va_start(ap, format);
105        len = vsnprintf(0, 0, format, ap);
106        va_end(ap);
107        if (len != 5) exit(1);
109        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
111        exit(0);
113 main() { foo("hello"); }
115 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
116 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
117     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
120 dnl Loading of dynamic libraries at runtime
121 dnl =======================================
122 DLLIBS=""
124 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
125         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
126                          DLLIBS="" ))
128 if test "x$HAVEDL" = xyes; then
129     AC_CHECK_HEADERS(dlfcn.h)
134 dnl Check CPP
135 dnl =========
136 if test "x$CPP_PATH" = x; then
137     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
138                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
142 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
143 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
144 dnl standard locations
146 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
147     if test "$GCC" = "yes"; then
148         CPP_PATH="gcc -E -x c"
149     else 
150         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
151             CPP_PATH="$CPP_PATH -B"
152         else
153             echo "cpp, the C preprocessor was not found in your system."
154             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
155             exit
156         fi
157     fi
159 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
163 dnl Checks for header files.
164 dnl =======================
165 AC_HEADER_SYS_WAIT
166 AC_HEADER_TIME
167 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
168                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
169                  strings.h)
173 dnl Checks for typedefs, structures, and compiler characteristics.
174 dnl ==============================================================
175 AC_DECL_SYS_SIGLIST
176 AC_C_CONST
177 #AC_TYPE_SIZE_T
178 #AC_TYPE_PID_T
179 AC_TYPE_SIGNAL
183 dnl Compiler/architecture specific optimizations
184 dnl ============================================
187 dnl GCC/as with MMX support
188 dnl -----------------------
190 # until we fix it, leave it disabled
191 asm_support=no
192 mmx_support=no
193 if test "$ac_cv_prog_gcc" = yes; then
195     # gcc-3.3 or newer complains about some of our stuff without this
196     NOSTRICTALIASING="-fno-strict-aliasing"
198     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
199                    ac_cv_c_inline_asm,
200                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
201                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
202                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
203                    ac_cv_c_inline_asm=yes,
204                    ac_cv_c_inline_asm=no)])
206     if test "x$ac_cv_c_inline_asm" = xyes; then
207        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
208        asm_support=yes
210        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
211                       ac_cv_c_inline_mmx,
212                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
213                       ac_cv_c_inline_mmx=yes,
214                       ac_cv_c_inline_mmx=no)])
216        if test "x$ac_cv_c_inline_mmx" = xyes; then
217           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
218           mmx_support=yes
219        fi
220     fi
222 AC_SUBST(NOSTRICTALIASING)
225 dnl pkg-config
226 dnl ----------
227 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
228 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
231 dnl gettext
232 dnl -------
235 dnl AM_GNU_GETTEXT
239 INTLIBS=""
241 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
242         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
243                          INTLIBS="" ))
245 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
247 if test "$XGETTEXT" != ""; then 
248     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
249         echo "xgettext isn't GNU version"
250         XGETTEXT=""
251     fi
254 if test "$LINGUAS" != ""; then
255     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
256         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
257         PO=""
258 #       if test "$LINGUAS" = ""; then
259 #           ling=` (cd src/po; /bin/ls *.po) `
260 #           for l in $ling; do
261 #               lcode=`basename $l .po`
262 #               LINGUAS="$LINGUAS $lcode"
263 #           done
264 #       fi
265         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
266     else
267         LINGUAS=""
268         PO=""
269         echo "xgettext and libintl.a don't both exist; will not build i18n support"
270     fi
271 else
272         INTLIBS=""
273         MOFILES=""
274         WPMOFILES=""
275         PO=""
279 dnl The Tower of Babel
280 dnl ==================
282 dnl List of supported locales
283 dnl -------------------------
284 supported_locales="be bg bs 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"
285 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
286 supported_wings_locales="bg ca cs de fr sk"
288 for lang in $LINGUAS; do
289         ok=0
290         for l in $supported_locales; do
291                 if test "$l" = "$lang"; then
292                         ok=1
293                         break
294                 fi
295         done
296         if test "$ok" = 1; then
297                 MOFILES="$MOFILES $lang.mo"
298         else
299                 echo "Locale $lang is not supported."
300         fi
301         ok=0
302         for l in $supported_wprefs_locales; do
303                 if test "$l" = "$lang"; then
304                         ok=1
305                         break
306                 fi
307         done
308         if test "$ok" = 1; then
309                 WPMOFILES="$WPMOFILES $lang.mo"
310         fi
311         ok=0
312         for l in $supported_wings_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
320         fi
321 done
324 dnl Kanji Characters support
325 dnl ========================
327 case $host_os in
328         freebsd*)
329                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
330         *)
331         ;;
332 esac
336 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
337 dnl ===========================================
338 AC_ARG_WITH(nlsdir, 
339         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
342 if test "x$NLSDIR" = "x"; then
343         if test "x$with_nlsdir" != "x"; then
344                 NLSDIR=$with_nlsdir
345         else
346                 NLSDIR='$(prefix)/lib/locale'
347         fi
352 AC_SUBST(DLLIBS)
353 AC_SUBST(INTLIBS)
354 AC_SUBST(NLSDIR)
355 AC_SUBST(MOFILES)
356 AC_SUBST(WPMOFILES)
357 AC_SUBST(WINGSMOFILES)
358 AC_SUBST(supported_locales)
362 dnl Support for various hint things
363 dnl ===============================
365 dnl vdesktop_on="no"
367 dnl AC_ARG_ENABLE(vdesktop,
368 dnl  [  --enable-vdesktop       enable virtual desktop],
369 dnl  [if test x$enableval = xyes; then
370 dnl    AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
371 dnl    vdesktop_on=yes
372 dnl  fi])
376 dnl Beautify compilation messages
377 dnl ---------------------------------------------
378 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
379                                [Streamline compilation messages (default off)]),
380   [
381         QUIET='@echo "     CC" $@;'
382         QUIET_AR='@echo "     AR" $@;'
383         LIBTOOL_ARG="--silent"
384         MAKEFLAGS="-s"
385         AC_SUBST(QUIET)
386         AC_SUBST(QUIET_AR)
387         AC_SUBST(LIBTOOL_ARG)
388         AC_SUBST(MAKEFLAGS)
394 dnl Networking stuff
397 NETLIBS=""
399 AC_CHECK_FUNC(connect,,
400         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
402 AC_CHECK_FUNC(gethostbyname,,
403         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
405 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
406      for lib in resolv socket inet bsd; do
407         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
408                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
409      done)
411 AC_SUBST(NETLIBS)
414 dnl ===========================================
415 dnl             Stuff that uses X
416 dnl ===========================================
418 AC_PATH_XTRA
420 if test $no_x; then
421     AC_MSG_ERROR([The path for the X11 files not found!
422 Make sure you have X and it's headers and libraries (the -devel packages
423 in Linux) installed.])
426 X_LIBRARY_PATH=$x_libraries
428 XCFLAGS="$X_CFLAGS"
430 XLFLAGS="$X_LIBS"
432 XLIBS="-lX11 $X_EXTRA_LIBS"
435 lib_search_path="$lib_search_path $XLFLAGS"
436 inc_search_path="$inc_search_path $XCFLAGS"
439 AC_SUBST(X_LIBRARY_PATH)
443 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
444 dnl by MANOME Tomonori 
445 dnl ===========================================
446 use_locale=yes
447 AC_ARG_ENABLE(locale, 
448 [  --disable-locale        disable use of X locale support],
449                 use_locale=no)
451 if test "$use_locale" = yes; then
452         AC_CHECK_LIB(X11, _Xsetlocale,
453                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
454                 $XLFLAGS $XLIBS)
458 dnl Check whether XInternAtoms() exist
459 dnl ==================================
460 AC_CHECK_LIB(X11, XInternAtoms, 
461              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
462              $XLFLAGS $XLIBS)
464 dnl Check whether XConvertCase() exist
465 dnl ==================================
466 AC_CHECK_LIB(X11, XConvertCase, 
467              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
468              $XLFLAGS $XLIBS)
471 dnl XKB keyboard language status
472 dnl ============================
473 AC_ARG_ENABLE(modelock,
474 [  --enable-modelock       XKB keyboard language status support],
475                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
479 dnl Shape support
480 dnl =============
481 shape=yes
482 AC_ARG_ENABLE(shape, 
483 [  --disable-shape         disable shaped window extension support],
484                 shape=$enableval, shape=yes)
486 added_xext=no
488 if test "$shape" = yes; then
489         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
490                 added_xext=yes
491                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
492                 shape=no, $XLFLAGS $XLIBS)
496 dnl Xft2 antialiased font support
497 dnl =============================
499 xft=yes
500 XFTLIBS=""
502 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
503         XFTCONFIG="$PKGCONFIG xft"
504         pkgconfig_xft=yes
505 else
506         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
509 AC_MSG_CHECKING([for the Xft2 library])
511 if test "x$XFTCONFIG" != x; then
512         XFTLIBS=`$XFTCONFIG --libs`
513         XFTFLAGS=`$XFTCONFIG --cflags`
514         AC_MSG_RESULT([found])
515 else
516         AC_MSG_RESULT([not found])
517         echo
518         echo "ERROR!!! libXft2 is not installed or could not be found."
519         echo "         Xft2 is a requirement for building Window Maker."
520         echo "         Please install it (along with fontconfig) before continuing."
521         echo
522         exit 1
525 minXFT="2.1.0"
526 goodxft="no"
529 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
531 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
533 if test "$goodxft" = no; then
534         echo
535         echo "ERROR!!! libXft on this system is an old version."
536         echo "         Please consider upgrading to at least version ${minXFT}."
537         echo
538         exit 1
541 AC_SUBST(XFTFLAGS)
542 AC_SUBST(XFTLIBS)
545 dnl XINERAMA support
546 dnl ================
547 xinerama=no
548 AC_ARG_ENABLE(xinerama,
549 [  --enable-xinerama       enable Xinerama extension support],
550                 xinerama=$enableval, xinerama=no)
552 if test "$xinerama" = yes; then
553         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
554                 [XLIBS="-lXinerama $XLIBS"
555                 xfxine=yes],
556                 xfxine=no, $XLFLAGS $XLIBS)
558         AC_CHECK_LIB(Xext, XineramaGetInfo,
559                 [sunxine=yes
560                 ], sunxine=no, $XLFLAGS $XLIBS)
562         if test "$xfxine" = yes; then
563                 xine=1
564         fi
566         if test "$sunxine" = yes; then
567             xine=1
568             AC_DEFINE(SOLARIS_XINERAMA, 1, 
569                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
570         fi
572         if test "$xine" = 1; then
573             AC_DEFINE(XINERAMA, 1, 
574                 [define if you want support for the XINERAMA extension (set by configure)])
575         fi
580 dnl MIT-SHM support
581 dnl ===============
582 shm=yes
583 AC_ARG_ENABLE(shm,
584 [  --disable-shm           disable usage of MIT-SHM extension],
585                 shm=$enableval, shm=yes)
587 if test "$shm" = yes; then
588         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
590         if test "$ok" = yes; then
591         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
592         fi
594         if test "$ok" = yes; then
595                 if test "$added_xext" = no; then
596                         XLIBS="-lXext $XLIBS"
597                 fi
598                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
599         fi
603 dnl R6 Style Session Management Support
604 dnl ===================================
608 #AC_DEFINE(R6SM)
609 #AC_SUBST(XSMPLIBS)
613 dnl ==============================================
614 dnl         Graphic Format Libraries
615 dnl ==============================================
621 dnl XPM Support
622 dnl ===========
623 xpm=yes
624 AC_ARG_ENABLE(xpm, 
625 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
626         xpm=$enableval, xpm=yes)
628 if test "$xpm" = yes; then
629     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
631     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
632         WM_CHECK_HEADER(X11/xpm.h)
633         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
634                 GFXLIBS="$GFXLIBS -lXpm"
635                 supported_gfx="XPM"
636                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
637         else
638                 supported_gfx="builtin-XPM"
639         fi
640     fi
643 # for wmlib
644 AC_SUBST(XCFLAGS)
645 # for test
646 AC_SUBST(XLFLAGS)
647 AC_SUBST(XLIBS)
649 AC_SUBST(X_EXTRA_LIBS)
651 dnl ===============================================
652 dnl             End of stuff that uses X
653 dnl ===============================================
657 dnl PNG Support
658 dnl ===========
659 png=yes
660 AC_ARG_ENABLE(png, 
661 [  --disable-png           disable PNG support through libpng],
662         png=$enableval, png=yes, png=no)
665 if test "$png" = yes ; then
666     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
668     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
669         WM_CHECK_HEADER(png.h)
670         if test "x$ac_cv_header_png_h" = xyes; then
671             GFXLIBS="$GFXLIBS -lpng -lz" 
672             supported_gfx="$supported_gfx PNG"
673             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
674         fi
675     fi
679 dnl JPEG Support
680 dnl ============
681 jpeg=yes
682 ljpeg=""
683 AC_ARG_ENABLE(jpeg,
684 [  --disable-jpeg          disable JPEG support through libjpeg],
685         jpeg=$enableval, jpeg=yes, jpeg=no)
687 if test "$jpeg" = yes; then
688     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
690     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
692         ljpeg="-ljpeg"
694         WM_CHECK_HEADER(jpeglib.h)
695         if test "x$ac_cv_header_jpeglib_h" = xyes; then
696             GFXLIBS="$GFXLIBS -ljpeg"
697             supported_gfx="$supported_gfx JPEG"
698             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
699         fi
700     fi
704 dnl GIF Support
705 dnl ============
706 gif=yes
707 AC_ARG_ENABLE(gif,
708 [  --disable-gif           disable GIF support through libgif or libungif],
709         gif=$enableval, gif=yes, gif=no)
711 if test "$gif" = yes; then
712     my_libname=""
713     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
714     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
715         my_libname=-lungif
716     fi
718 dnl libungif is the same thing as libgif for all practical purposes.
720     if test "x$my_libname" = x; then
721         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
722         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
723             my_libname=-lgif
724         fi
725     fi
727     if test "$my_libname" != x; then
728         WM_CHECK_HEADER(gif_lib.h)
729         if test "x$ac_cv_header_gif_lib_h" = xyes; then
730             GFXLIBS="$GFXLIBS $my_libname"
731             supported_gfx="$supported_gfx GIF"
732             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
733         fi
734     fi
739 dnl TIFF Support
740 dnl ============
741 AC_ARG_ENABLE(tiff, 
742 [  --disable-tiff          disable use of TIFF images through libtiff],
743         tif=$enableval, tif=yes, tif=no)
746 # TIFF can optionally have JPEG and/or zlib support. Must find out
747 # when they are supported so that correct library flags are passed during
748 # detection and linkage
751 # By default use xpm icons if tiff is not found.
752 ICONEXT="xpm"
755 if test "$tif" = yes; then
756     my_libname=""
757     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
758     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
759         my_libname="-ltiff"
760     fi
762 dnl Retry with zlib
764     unset ac_cv_lib_tiff_TIFFGetVersion
765     if test "x$my_libname" = x; then
766         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
767         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
768             my_libname="-ltiff -lz"
769         fi
770     fi
772     if test "x$my_libname" = x; then
773         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
774         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
775             my_libname="-ltiff34"
776         fi
777     fi
780     if test "x$my_libname" != x; then
781         WM_CHECK_HEADER(tiffio.h)
782         if test "x$ac_cv_header_tiffio_h" = xyes; then
783             GFXLIBS="$my_libname $GFXLIBS"
784             ICONEXT="tiff"
785             supported_gfx="$supported_gfx TIFF"
786             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
787         fi
788     fi
791 LIBRARY_SEARCH_PATH="$lib_search_path"
792 HEADER_SEARCH_PATH="$inc_search_path"
794 AC_SUBST(LIBRARY_SEARCH_PATH)
795 AC_SUBST(HEADER_SEARCH_PATH)
798 AC_SUBST(GFXLIBS)
799 AC_SUBST(ICONEXT)
802 dnl ==============================================
803 dnl         End of Graphic Format Libraries
804 dnl ==============================================
808 dnl stdlib.h is checked here, because of conflict in jpeglib.h
809 AC_CHECK_HEADERS(stdlib.h)
811 # AC_PREFIX_PROGRAM(wmaker)
813 dnl Support for PIXMAPDIR option
814 dnl ============================
815 AC_ARG_WITH(pixmapdir,
816 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
818 if test "x$with_pixmapdir" != "x"; then
819         pixmapdir=$with_pixmapdir
820 else
821         pixmapdir=`eval echo ${datadir}/pixmaps`
824 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
826 pkgdatadir=`eval echo $datadir`
827 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
829 _sysconfdir=`eval echo $sysconfdir`
830 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
833 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
834 dnl ==============================================
836 AC_ARG_WITH(appspath,
837 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
839 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
840     appspath=$with_gnustepdir
843 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
844     wprefs_base_dir=${prefix}
845     wprefs_datadir="${datadir}/WPrefs"
846     wprefs_bindir="${bindir}"
847 else
848     gnustepdir=$appspath
850     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
851         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
852         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
853     fi
855     wprefs_base_dir=$gnustepdir/Applications
856     wprefs_datadir=$wprefs_base_dir/WPrefs.app
857     wprefs_bindir=$wprefs_base_dir/WPrefs.app
860 AC_SUBST(wprefs_datadir)
861 AC_SUBST(wprefs_bindir)
864 dnl Enable User Defined Menu thing
865 dnl ==================================
866 AC_ARG_ENABLE(usermenu,
867 [  --enable-usermenu       user defined menus for applications
869 if test "$enableval" = yes; then
870         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
876 dnl Nicolai:  Program tests for Documentation Section
877 dnl =================================================
878 dnl DOCTYPES=""
879 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
880 dnl if test "x$MAKEINFO" != "x" ; then
881 dnl       DOCTYPES="$DOCTYPES info_doc"
882 dnl fi
883 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
884 dnl if test "x$TEX" != "x" ; then
885 dnl       DOCTYPES="$DOCTYPES dvi_doc"
886 dnl fi
887 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
888 dnl if test "x$DVIPS" != "x" ; then
889 dnl       DOCTYPES="$DOCTYPES ps_doc"
890 dnl fi
891 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
892 dnl if test "x$PERL" != "x" ; then
893 dnl       DOCTYPES="$DOCTYPES html_doc"
894 dnl fi
895 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
896 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
897   
898 dnl AC_SUBST(DOCTYPES)
900 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
901         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
902         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
903         WINGs/Extras/Makefile WINGs/po/Makefile \
904         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
905         src/Makefile src/wconfig.h \
906         doc/Makefile doc/sk/Makefile \
907         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
908         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
909         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
910         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
911         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
912         WPrefs.app/po/Makefile \
913         contrib/Makefile contrib/WindowMaker.spec )
914 #       plugins/Makefile plugins/libwmfun/Makefile)
919 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
920 dnl ===================================================================
923 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
924 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
925 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
927 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
928 dnl parsed by m4
930 cat <<EOF >get-wraster-flags
931 #!/bin/sh
933 WCFLAGS="$inc_search_path"
934 WLFLAGS="$lib_search_path"
935 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
937 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
939 if test \$# -eq 0; then
940       echo "\${usage}" 1>&2
941       exit 1
944 while test \$# -gt 0; do
945   case \$1 in
946     --cflags)
947         echo \$WCFLAGS
948         ;;
949     --ldflags|--lflags)
950         echo \$WLFLAGS
951         ;;
952     --libs)
953         echo \$WLIBS
954         ;;
955     *)
956         echo "\${usage}" 1>&2
957         exit 1
958         ;;
959   esac
960   shift
961 done
966 cat <<EOF > wrlib/wrlib.pc
967 Name: wrlib
968 Description: Image manipulation and conversion library
969 Version: $VERSION
970 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
971 Cflags: $inc_search_path
974 cat <<EOF >get-wings-flags
975 #!/bin/sh
977 WCFLAGS="$inc_search_path"
978 WLFLAGS="$lib_search_path"
979 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
981 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
983 if test \$# -eq 0; then
984       echo "\${usage}" 1>&2
985       exit 1
988 while test \$# -gt 0; do
989   case \$1 in
990     --cflags)
991         echo \$WCFLAGS
992         ;;
993     --ldflags|--lflags)
994         echo \$WLFLAGS
995         ;;
996     --libs)
997         echo \$WLIBS
998         ;;
999     *)
1000         echo "\${usage}" 1>&2
1001         exit 1
1002         ;;
1003   esac
1004   shift
1005 done
1010 cat <<EOF > WINGs/WINGs.pc
1011 Name: WINGs
1012 Description: Small widget set with the NeXTStep(TM) look and feel
1013 Version: $VERSION
1014 Requires: wrlib
1015 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1016 Cflags: $inc_search_path
1019 cat <<EOF >get-wutil-flags
1020 #!/bin/sh
1022 WCFLAGS="-I`eval echo ${includedir}`"
1023 WLFLAGS="-L${_libdir}"
1024 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1026 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1028 if test \$# -eq 0; then
1029       echo "\${usage}" 1>&2
1030       exit 1
1033 while test \$# -gt 0; do
1034   case \$1 in
1035     --cflags)
1036         echo \$WCFLAGS
1037         ;;
1038     --ldflags|--lflags)
1039         echo \$WLFLAGS
1040         ;;
1041     --libs)
1042         echo \$WLIBS
1043         ;;
1044     *)
1045         echo "\${usage}" 1>&2
1046         exit 1
1047         ;;
1048   esac
1049   shift
1050 done
1055 cat <<EOF > wmlib/wmlib.pc
1056 Name: wmlib
1057 Description: FIXME: What do I write here?
1058 Version: $VERSION
1059 Requires: wrlib
1060 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1061 Cflags: $inc_search_path
1064 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1065 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1066 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1068 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1070 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1074 dnl Spit out the configuration
1075 dnl ==========================
1077 supported_gfx="$supported_gfx builtin-PPM"
1079 if test "x$MOFILES" = "x"; then
1080         mof=None
1081 else
1082         mof=`echo $MOFILES`
1085 if test "x$MOFILES" = "x"; then
1086         languages=None
1087 else
1088         languages=`echo $MOFILES | sed 's/.mo//g'`
1091 echo
1092 echo "Window Maker was configured as follows:"
1093 echo
1094 echo "Installation path prefix            : $prefix"
1095 echo "Installation path for binaries      : $_bindir"
1096 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1097 echo "Supported graphic format libraries  : $supported_gfx"
1098 echo "Use assembly routines for wrlib     : $asm_support"
1099 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1100 echo "Antialiased text support in WINGs   : $xft"
1101 echo "Xinerama extension support          : $xinerama"
1102 dnl echo "Virtual desktop support             : $vdesktop_on"
1103 echo "Translated message files to install : $mof"
1104 dnl echo "Supported languages beside English  : $languages"
1105 if test "x$MOFILES" != "x"; then
1106         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1108 echo
1110 dnl WM_PRINT_REDCRAP_BUG_STATUS
1112 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1113 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1114 echo
1115 echo "JPEG support will not be included because the JPEG library is"
1116 echo "not installed correctly or was not found. Background images"
1117 echo "from themes will not display as they usually are JPEG files."
1118 echo
1119 echo "To fix, download and install the jpeg library and/or make sure you"
1120 echo "installed all jpeg related packages, SPECIALLY the development packages"
1121 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1122 echo
1123 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1127 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1128 dnl ================================================
1129 dnl Local Variables:
1130 dnl compile-command: "autoconf"
1131 dnl End: