Switch file ops to stdio
[wmaker-crm.git] / configure.ac
blob3133f00cb4510f86830bc86ef5da81a9af28866e
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
40 dnl Platform-specific Makefile setup
41 dnl ================================
43 case "${host}" in
44         *-*-linux*|*-*-cygwin*)
45                 WM_OSDEP="linux"
46         ;;
47         *-*-freebsd*)
48                 WM_OSDEP="bsd"
49                 CFLAGS="$CFLAGS -DFREEBSD"
50         ;;
51         *-*-netbsd*)
52                 WM_OSDEP="bsd"
53                 CFLAGS="$CFLAGS -DNETBSD"
54         ;;
55         *-*-openbsd*)
56                 WM_OSDEP="bsd"
57         CFLAGS="$CFLAGS -DOPENBSD"
58         ;;
59         *-*-dragonfly*)
60                 WM_OSDEP="bsd"
61                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
62         ;;
63         *-apple-darwin*)
64                 WM_OSDEP="darwin"
65         ;;
66         *-*-solaris*)
67                 WM_OSDEP="stub"         # solaris.c when done
68         ;;
69         *)
70                 WM_OSDEP="stub"
71                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
72         ;;
73 esac
74 AC_SUBST(WM_OSDEP)
77 dnl the prefix
78 dnl ==========
79 dnl
80 dnl move this earlier in the script... anyone know why this is handled
81 dnl in such a bizarre way?
83 test "x$prefix" = xNONE && prefix=$ac_default_prefix
84 dnl Let make expand exec_prefix.
85 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
88 _bindir=`eval echo $bindir`
89 _bindir=`eval echo $_bindir`
91 _libdir=`eval echo $libdir`
92 _libdir=`eval echo $_libdir`
93 lib_search_path="-L$_libdir"
95 inc_search_path=`eval echo $includedir`
96 inc_search_path="-I`eval echo $inc_search_path`"
98 dnl
99 dnl Specify paths to look for libraries and headers
100 dnl ===============================================
101 AC_ARG_WITH(libs-from,
102 [  --with-libs-from        pass compiler flags to look for libraries],
103         [lib_search_path="$withval $lib_search_path"])
105 AC_ARG_WITH(incs-from,
106 [  --with-incs-from        pass compiler flags to look for header files],
107         [inc_search_path="$withval $inc_search_path"])
111 dnl Checks for library functions.
112 dnl ============================
113 dnl not used anywhere
114 dnl AC_FUNC_MEMCMP  
115 AC_FUNC_VPRINTF
116 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
117                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
118                vasprintf)
120 dnl ripped from samba
121 dnl 
122 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
123 AC_TRY_RUN([
124 #include <sys/types.h>
125 #include <stdarg.h>
126 void foo(const char *format, ...) { 
127        va_list ap;
128        int len;
129        char buf[5];
131        va_start(ap, format);
132        len = vsnprintf(0, 0, format, ap);
133        va_end(ap);
134        if (len != 5) exit(1);
136        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
138        exit(0);
140 main() { foo("hello"); }
142 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
143 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
144     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
147 dnl Check for inotify
148 dnl =================
149 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
151 dnl Check CPP
152 dnl =========
153 if test "x$CPP_PATH" = x; then
154     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
155                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
159 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
160 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
161 dnl standard locations
163 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
164     if test "$GCC" = "yes"; then
165         CPP_PATH="gcc -E -x c"
166     else 
167         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
168             CPP_PATH="$CPP_PATH -B"
169         else
170             echo "cpp, the C preprocessor was not found in your system."
171             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
172             exit
173         fi
174     fi
176 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
180 dnl Checks for header files.
181 dnl =======================
182 AC_HEADER_SYS_WAIT
183 AC_HEADER_TIME
184 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
185                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
186                  strings.h)
190 dnl Checks for typedefs, structures, and compiler characteristics.
191 dnl ==============================================================
192 AC_DECL_SYS_SIGLIST
193 AC_C_CONST
194 #AC_TYPE_SIZE_T
195 #AC_TYPE_PID_T
196 AC_TYPE_SIGNAL
200 dnl Compiler/architecture specific optimizations
201 dnl ============================================
204 dnl GCC/as with MMX support
205 dnl -----------------------
207 # until we fix it, leave it disabled
208 asm_support=no
209 mmx_support=no
211 check_for_mmx_support=yes
212 AC_ARG_ENABLE(mmx,
213    [  --disable-mmx          disable compilation of MMX inline assembly ],
214    [if test x$enableval != xyes; then
215     check_for_mmx_support=no
216     fi])
218 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
219 case $host_cpu in
220 *i?86*)
222     # gcc-3.3 or newer complains about some of our stuff without this
223     NOSTRICTALIASING="-fno-strict-aliasing"
225     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
226                    ac_cv_c_inline_asm,
227                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
228                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
229                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
230                    ac_cv_c_inline_asm=yes,
231                    ac_cv_c_inline_asm=no)])
233     if test "x$ac_cv_c_inline_asm" = xyes; then
234        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
235        asm_support=yes
237        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
238                       ac_cv_c_inline_mmx,
239                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
240                       ac_cv_c_inline_mmx=yes,
241                       ac_cv_c_inline_mmx=no)])
243        if test "x$ac_cv_c_inline_mmx" = xyes; then
244           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
245           mmx_support=yes
246        fi
247     fi
248     ;;
249 esac
251 AC_SUBST(NOSTRICTALIASING)
254 dnl pkg-config
255 dnl ----------
256 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
257 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
260 dnl gettext
261 dnl -------
264 dnl AM_GNU_GETTEXT
268 INTLIBS=""
270 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
271         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
272                          INTLIBS="" ))
274 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
276 if test "$XGETTEXT" != ""; then 
277     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
278         echo "xgettext isn't GNU version"
279         XGETTEXT=""
280     fi
283 if test "$LINGUAS" != ""; then
284     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
285         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
286         PO=""
287         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
288     else
289         LINGUAS=""
290         PO=""
291         echo "xgettext and libintl.a don't both exist; will not build i18n support"
292     fi
293 else
294         INTLIBS=""
295         MOFILES=""
296         WPMOFILES=""
297         UTILMOFILES=""
298         PO=""
302 dnl The Tower of Babel
303 dnl ==================
305 dnl List of supported locales
306 dnl -------------------------
307 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"
308 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
309 supported_wings_locales="bg ca cs de fr sk"
310 supported_util_locales="de"
312 for lang in $LINGUAS; do
313         ok=0
314         for l in $supported_locales; do
315                 if test "$l" = "$lang"; then
316                         ok=1
317                         break
318                 fi
319         done
320         if test "$ok" = 1; then
321                 MOFILES="$MOFILES $lang.mo"
322         else
323                 echo "Locale $lang is not supported."
324         fi
325         ok=0
326         for l in $supported_wprefs_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 WPMOFILES="$WPMOFILES $lang.mo"
334         fi
335         ok=0
336         for l in $supported_util_locales; do
337                 if test "$l" = "$lang"; then
338                         ok=1
339                         break
340                 fi
341         done
342         if test "$ok" = 1; then
343                 UTILMOFILES="$UTILMOFILES $lang.mo"
344         fi
345         ok=0
346         for l in $supported_wings_locales; do
347                 if test "$l" = "$lang"; then
348                         ok=1
349                         break
350                 fi
351         done
352         if test "$ok" = 1; then
353                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
354         fi
355 done
358 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
359 dnl ===========================================
360 AC_ARG_WITH(nlsdir, 
361         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
364 if test "x$NLSDIR" = "x"; then
365         if test "x$with_nlsdir" != "x"; then
366                 NLSDIR=$with_nlsdir
367         else
368                 NLSDIR='$(prefix)/lib/locale'
369         fi
374 AC_SUBST(INTLIBS)
375 AC_SUBST(NLSDIR)
376 AC_SUBST(MOFILES)
377 AC_SUBST(WPMOFILES)
378 AC_SUBST(UTILMOFILES)
379 AC_SUBST(WINGSMOFILES)
380 AC_SUBST(supported_locales)
384 dnl Support for various hint things
385 dnl ===============================
388 dnl Beautify compilation messages
389 dnl ---------------------------------------------
390 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
391                                [Streamline compilation messages (default off)]),
392   [
393         QUIET='@echo "     CC" $@;'
394         QUIET_AR='@echo "     AR" $@;'
395         LIBTOOL_ARG="--silent"
396         MAKEFLAGS="-s"
397         AC_SUBST(QUIET)
398         AC_SUBST(QUIET_AR)
399         AC_SUBST(LIBTOOL_ARG)
400         AC_SUBST(MAKEFLAGS)
404 dnl ===========================================
405 dnl             Stuff that uses X
406 dnl ===========================================
408 AC_PATH_XTRA
410 if test $no_x; then
411     AC_MSG_ERROR([The path for the X11 files not found!
412 Make sure you have X and it's headers and libraries (the -devel packages
413 in Linux) installed.])
416 X_LIBRARY_PATH=$x_libraries
418 XCFLAGS="$X_CFLAGS"
420 XLFLAGS="$X_LIBS"
422 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
425 lib_search_path="$lib_search_path $XLFLAGS"
426 inc_search_path="$inc_search_path $XCFLAGS"
429 AC_SUBST(X_LIBRARY_PATH)
433 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
434 dnl by MANOME Tomonori 
435 dnl ===========================================
436 use_locale=yes
437 AC_ARG_ENABLE(locale, 
438 [  --disable-locale        disable use of X locale support],
439                 use_locale=no)
441 if test "$use_locale" = yes; then
442         AC_CHECK_LIB(X11, _Xsetlocale,
443                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
444                 $XLFLAGS $XLIBS)
448 dnl Check whether XInternAtoms() exist
449 dnl ==================================
450 AC_CHECK_LIB(X11, XInternAtoms, 
451              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
452              $XLFLAGS $XLIBS)
454 dnl Check whether XConvertCase() exist
455 dnl ==================================
456 AC_CHECK_LIB(X11, XConvertCase, 
457              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
458              $XLFLAGS $XLIBS)
461 dnl XKB keyboard language status
462 dnl ============================
463 AC_ARG_ENABLE(modelock,
464 [  --enable-modelock       XKB keyboard language status support],
465                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
469 dnl Shape support
470 dnl =============
471 shape=yes
472 AC_ARG_ENABLE(shape, 
473 [  --disable-shape         disable shaped window extension support],
474                 shape=$enableval, shape=yes)
476 added_xext=no
478 if test "$shape" = yes; then
479         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
480                 added_xext=yes
481                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
482                 shape=no, $XLFLAGS $XLIBS)
486 dnl Xft2 antialiased font support
487 dnl =============================
489 xft=yes
490 XFTLIBS=""
492 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
493         XFTCONFIG="$PKGCONFIG xft"
494         pkgconfig_xft=yes
495 else
496         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
499 AC_MSG_CHECKING([for the Xft2 library])
501 if test "x$XFTCONFIG" != x; then
502         XFTLIBS=`$XFTCONFIG --libs`
503         XFTFLAGS=`$XFTCONFIG --cflags`
504         AC_MSG_RESULT([found])
505 else
506         AC_MSG_RESULT([not found])
507         echo
508         echo "ERROR!!! libXft2 is not installed or could not be found."
509         echo "         Xft2 is a requirement for building Window Maker."
510         echo "         Please install it (along with fontconfig) before continuing."
511         echo
512         exit 1
515 minXFT="2.1.0"
516 goodxft="no"
519 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
521 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
523 if test "$goodxft" = no; then
524         echo
525         echo "ERROR!!! libXft on this system is an old version."
526         echo "         Please consider upgrading to at least version ${minXFT}."
527         echo
528         exit 1
531 AC_SUBST(XFTFLAGS)
532 AC_SUBST(XFTLIBS)
535 dnl XINERAMA support
536 dnl ================
537 xinerama=no
538 AC_ARG_ENABLE(xinerama,
539 [  --enable-xinerama       enable Xinerama extension support],
540                 xinerama=$enableval, xinerama=no)
542 if test "$xinerama" = yes; then
543         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
544                 [XLIBS="-lXinerama $XLIBS"
545                 xfxine=yes],
546                 xfxine=no, $XLFLAGS $XLIBS)
548         AC_CHECK_LIB(Xext, XineramaGetInfo,
549                 [sunxine=yes
550                 ], sunxine=no, $XLFLAGS $XLIBS)
552         if test "$xfxine" = yes; then
553                 xine=1
554         fi
556         if test "$sunxine" = yes; then
557             xine=1
558             AC_DEFINE(SOLARIS_XINERAMA, 1, 
559                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
560         fi
562         if test "$xine" = 1; then
563             AC_DEFINE(XINERAMA, 1, 
564                 [define if you want support for the XINERAMA extension (set by configure)])
565         fi
570 dnl MIT-SHM support
571 dnl ===============
572 shm=yes
573 AC_ARG_ENABLE(shm,
574 [  --disable-shm           disable usage of MIT-SHM extension],
575                 shm=$enableval, shm=yes)
577 if test "$shm" = yes; then
578         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
580         if test "$ok" = yes; then
581         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
582         fi
584         if test "$ok" = yes; then
585                 if test "$added_xext" = no; then
586                         XLIBS="-lXext $XLIBS"
587                 fi
588                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
589         fi
593 dnl R6 Style Session Management Support
594 dnl ===================================
598 #AC_DEFINE(R6SM)
599 #AC_SUBST(XSMPLIBS)
603 dnl ==============================================
604 dnl         Graphic Format Libraries
605 dnl ==============================================
611 dnl XPM Support
612 dnl ===========
613 xpm=yes
614 AC_ARG_ENABLE(xpm, 
615 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
616         xpm=$enableval, xpm=yes)
618 if test "$xpm" = yes; then
619     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
621     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
622         WM_CHECK_HEADER(X11/xpm.h)
623         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
624                 GFXLIBS="$GFXLIBS -lXpm"
625                 supported_gfx="XPM"
626                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
627         else
628                 supported_gfx="builtin-XPM"
629         fi
630     fi
633 AC_SUBST(XLFLAGS)
634 AC_SUBST(XLIBS)
635 AC_SUBST(X_EXTRA_LIBS)
637 dnl ===============================================
638 dnl             End of stuff that uses X
639 dnl ===============================================
643 dnl PNG Support
644 dnl ===========
645 png=yes
646 AC_ARG_ENABLE(png, 
647 [  --disable-png           disable PNG support through libpng],
648         png=$enableval, png=yes, png=no)
651 if test "$png" = yes ; then
652     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
654     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
655         WM_CHECK_HEADER(png.h)
656         if test "x$ac_cv_header_png_h" = xyes; then
657             GFXLIBS="$GFXLIBS -lpng -lz" 
658             supported_gfx="$supported_gfx PNG"
659             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
660         fi
661     fi
665 dnl JPEG Support
666 dnl ============
667 jpeg=yes
668 ljpeg=""
669 AC_ARG_ENABLE(jpeg,
670 [  --disable-jpeg          disable JPEG support through libjpeg],
671         jpeg=$enableval, jpeg=yes, jpeg=no)
673 if test "$jpeg" = yes; then
674     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
676     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
678         ljpeg="-ljpeg"
680         WM_CHECK_HEADER(jpeglib.h)
681         if test "x$ac_cv_header_jpeglib_h" = xyes; then
682             GFXLIBS="$GFXLIBS -ljpeg"
683             supported_gfx="$supported_gfx JPEG"
684             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
685         fi
686     fi
690 dnl GIF Support
691 dnl ============
692 gif=yes
693 AC_ARG_ENABLE(gif,
694 [  --disable-gif           disable GIF support through libgif or libungif],
695         gif=$enableval, gif=yes, gif=no)
697 if test "$gif" = yes; then
698     my_libname=""
699     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
700     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
701         my_libname=-lungif
702     fi
704 dnl libungif is the same thing as libgif for all practical purposes.
706     if test "x$my_libname" = x; then
707         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
708         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
709             my_libname=-lgif
710         fi
711     fi
713     if test "$my_libname" != x; then
714         WM_CHECK_HEADER(gif_lib.h)
715         if test "x$ac_cv_header_gif_lib_h" = xyes; then
716             GFXLIBS="$GFXLIBS $my_libname"
717             supported_gfx="$supported_gfx GIF"
718             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
719         fi
720     fi
725 dnl TIFF Support
726 dnl ============
727 AC_ARG_ENABLE(tiff, 
728 [  --disable-tiff          disable use of TIFF images through libtiff],
729         tif=$enableval, tif=yes, tif=no)
732 # TIFF can optionally have JPEG and/or zlib support. Must find out
733 # when they are supported so that correct library flags are passed during
734 # detection and linkage
737 # By default use xpm icons if tiff is not found.
738 ICONEXT="xpm"
741 if test "$tif" = yes; then
742     my_libname=""
743     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
744     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
745         my_libname="-ltiff"
746     fi
748 dnl Retry with zlib
750     unset ac_cv_lib_tiff_TIFFGetVersion
751     if test "x$my_libname" = x; then
752         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
753         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
754             my_libname="-ltiff -lz"
755         fi
756     fi
758     if test "x$my_libname" = x; then
759         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
760         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
761             my_libname="-ltiff34"
762         fi
763     fi
766     if test "x$my_libname" != x; then
767         WM_CHECK_HEADER(tiffio.h)
768         if test "x$ac_cv_header_tiffio_h" = xyes; then
769             GFXLIBS="$my_libname $GFXLIBS"
770             ICONEXT="tiff"
771             supported_gfx="$supported_gfx TIFF"
772             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
773         fi
774     fi
777 LIBRARY_SEARCH_PATH="$lib_search_path"
778 HEADER_SEARCH_PATH="$inc_search_path"
780 AC_SUBST(LIBRARY_SEARCH_PATH)
781 AC_SUBST(HEADER_SEARCH_PATH)
784 AC_SUBST(GFXLIBS)
785 AC_SUBST(ICONEXT)
788 dnl ==============================================
789 dnl         End of Graphic Format Libraries
790 dnl ==============================================
794 dnl stdlib.h is checked here, because of conflict in jpeglib.h
795 AC_CHECK_HEADERS(stdlib.h)
797 # AC_PREFIX_PROGRAM(wmaker)
799 dnl Support for PIXMAPDIR option
800 dnl ============================
801 AC_ARG_WITH(pixmapdir,
802 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
804 if test "x$with_pixmapdir" != "x"; then
805         pixmapdir=$with_pixmapdir
806 else
807         pixmapdir=`eval echo ${datadir}/pixmaps`
810 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
812 pkgdatadir=`eval echo $datadir`
813 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
815 _sysconfdir=`eval echo $sysconfdir`
816 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
819 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
820 dnl ==============================================
822 AC_ARG_WITH(appspath,
823 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
825 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
826     appspath=$with_gnustepdir
829 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
830     wprefs_base_dir=${prefix}
831     wprefs_datadir="${datadir}/WPrefs"
832     wprefs_bindir="${bindir}"
833 else
834     gnustepdir=$appspath
836     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
837         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
838         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
839     fi
841     wprefs_base_dir=$gnustepdir/Applications
842     wprefs_datadir=$wprefs_base_dir/WPrefs.app
843     wprefs_bindir=$wprefs_base_dir/WPrefs.app
846 AC_SUBST(wprefs_datadir)
847 AC_SUBST(wprefs_bindir)
850 dnl Enable User Defined Menu thing
851 dnl ==================================
852 AC_ARG_ENABLE(usermenu,
853 [  --enable-usermenu       user defined menus for applications
855 if test "$enableval" = yes; then
856         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
861 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
862         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
863         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
864         WINGs/Extras/Makefile WINGs/po/Makefile \
865         wrlib/Makefile wrlib/tests/Makefile \
866         src/Makefile src/wconfig.h \
867         doc/Makefile doc/sk/Makefile \
868         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
869         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
870         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
871         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
872         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
873         WPrefs.app/po/Makefile \
874         contrib/Makefile contrib/WindowMaker.spec )
879 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
880 dnl ===================================================================
883 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
884 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
885 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
887 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
888 dnl parsed by m4
890 cat <<EOF >get-wraster-flags
891 #!/bin/sh
893 WCFLAGS="$inc_search_path"
894 WLFLAGS="$lib_search_path"
895 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
897 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
899 if test \$# -eq 0; then
900       echo "\${usage}" 1>&2
901       exit 1
904 while test \$# -gt 0; do
905   case \$1 in
906     --cflags)
907         echo \$WCFLAGS
908         ;;
909     --ldflags|--lflags)
910         echo \$WLFLAGS
911         ;;
912     --libs)
913         echo \$WLIBS
914         ;;
915     *)
916         echo "\${usage}" 1>&2
917         exit 1
918         ;;
919   esac
920   shift
921 done
926 cat <<EOF > wrlib/wrlib.pc
927 Name: wrlib
928 Description: Image manipulation and conversion library
929 Version: $VERSION
930 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
931 Cflags: $inc_search_path
934 cat <<EOF >get-wings-flags
935 #!/bin/sh
937 WCFLAGS="$inc_search_path"
938 WLFLAGS="$lib_search_path"
939 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
941 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
943 if test \$# -eq 0; then
944       echo "\${usage}" 1>&2
945       exit 1
948 while test \$# -gt 0; do
949   case \$1 in
950     --cflags)
951         echo \$WCFLAGS
952         ;;
953     --ldflags|--lflags)
954         echo \$WLFLAGS
955         ;;
956     --libs)
957         echo \$WLIBS
958         ;;
959     *)
960         echo "\${usage}" 1>&2
961         exit 1
962         ;;
963   esac
964   shift
965 done
970 cat <<EOF > WINGs/WINGs.pc
971 Name: WINGs
972 Description: Small widget set with the NeXTStep(TM) look and feel
973 Version: $VERSION
974 Requires: wrlib
975 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
976 Cflags: $inc_search_path
979 cat <<EOF >get-wutil-flags
980 #!/bin/sh
982 WCFLAGS="-I`eval echo ${includedir}`"
983 WLFLAGS="-L${_libdir}"
984 WLIBS="-lWUtil $INTLIBS"
986 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
988 if test \$# -eq 0; then
989       echo "\${usage}" 1>&2
990       exit 1
993 while test \$# -gt 0; do
994   case \$1 in
995     --cflags)
996         echo \$WCFLAGS
997         ;;
998     --ldflags|--lflags)
999         echo \$WLFLAGS
1000         ;;
1001     --libs)
1002         echo \$WLIBS
1003         ;;
1004     *)
1005         echo "\${usage}" 1>&2
1006         exit 1
1007         ;;
1008   esac
1009   shift
1010 done
1015 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1016 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1017 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1019 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1021 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1025 dnl Spit out the configuration
1026 dnl ==========================
1028 supported_gfx="$supported_gfx builtin-PPM"
1030 if test "x$MOFILES" = "x"; then
1031         mof=None
1032 else
1033         mof=`echo $MOFILES`
1036 if test "x$MOFILES" = "x"; then
1037         languages=None
1038 else
1039         languages=`echo $MOFILES | sed 's/.mo//g'`
1042 echo
1043 echo "Window Maker was configured as follows:"
1044 echo
1045 echo "Installation path prefix            : $prefix"
1046 echo "Installation path for binaries      : $_bindir"
1047 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1048 echo "Supported graphic format libraries  : $supported_gfx"
1049 echo "Use assembly routines for wrlib     : $asm_support"
1050 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1051 echo "Antialiased text support in WINGs   : $xft"
1052 echo "Xinerama extension support          : $xinerama"
1053 echo "Translated message files to install : $mof"
1054 dnl echo "Supported languages beside English  : $languages"
1055 if test "x$MOFILES" != "x"; then
1056         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1058 echo
1060 dnl WM_PRINT_REDCRAP_BUG_STATUS
1062 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1063 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1064 echo
1065 echo "JPEG support will not be included because the JPEG library is"
1066 echo "not installed correctly or was not found. Background images"
1067 echo "from themes will not display as they usually are JPEG files."
1068 echo
1069 echo "To fix, download and install the jpeg library and/or make sure you"
1070 echo "installed all jpeg related packages, SPECIALLY the development packages"
1071 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1072 echo
1073 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1077 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1078 dnl ================================================
1079 dnl Local Variables:
1080 dnl compile-command: "autoconf"
1081 dnl End: