configure: Replace obsolete macros
[wmaker-crm.git] / configure.ac
blob344d21495111656ee5b692fe515a7ac05bf832b8
1 dnl
2 dnl Window Maker autoconf input.
3 dnl
4 dnl Process with:
5 dnl               aclocal
6 dnl               autoheader
7 dnl               autoconf
8 dnl               libtoolize --force --automake
9 dnl               automake -a --gnu --include-deps
10 dnl
11 dnl
14 AC_INIT(WindowMaker, 0.94.0-crm)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AM_CONFIG_HEADER(src/config.h)
19 dnl Checks for host/os name
20 dnl =======================
21 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
23 dnl Checks for programs.
24 dnl ===================
25 AC_ISC_POSIX
26 AC_PROG_CC
27 AC_PROG_LN_S
28 AC_PROG_GCC_TRADITIONAL
29 AC_PROG_LIBTOOL
31 AX_CFLAGS_GCC_OPTION(-Wall)
32 AX_CFLAGS_GCC_OPTION(-Wextra)
34 dnl Platform-specific Makefile setup
35 dnl ================================
37 case "${host}" in
38         *-*-linux*|*-*-cygwin*)
39                 WM_OSDEP="linux"
40         ;;
41         *-*-freebsd*)
42                 WM_OSDEP="bsd"
43                 CFLAGS="$CFLAGS -DFREEBSD"
44         ;;
45         *-*-netbsd*)
46                 WM_OSDEP="bsd"
47                 CFLAGS="$CFLAGS -DNETBSD"
48         ;;
49         *-*-openbsd*)
50                 WM_OSDEP="bsd"
51         CFLAGS="$CFLAGS -DOPENBSD"
52         ;;
53         *-*-dragonfly*)
54                 WM_OSDEP="bsd"
55                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
56         ;;
57         *-apple-darwin*)
58                 WM_OSDEP="darwin"
59         ;;
60         *-*-solaris*)
61                 WM_OSDEP="stub"         # solaris.c when done
62         ;;
63         *)
64                 WM_OSDEP="stub"
65                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
66         ;;
67 esac
68 AC_SUBST(WM_OSDEP)
71 dnl the prefix
72 dnl ==========
73 dnl
74 dnl move this earlier in the script... anyone know why this is handled
75 dnl in such a bizarre way?
77 test "x$prefix" = xNONE && prefix=$ac_default_prefix
78 dnl Let make expand exec_prefix.
79 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
82 _bindir=`eval echo $bindir`
83 _bindir=`eval echo $_bindir`
85 _libdir=`eval echo $libdir`
86 _libdir=`eval echo $_libdir`
87 lib_search_path="-L$_libdir"
89 inc_search_path=`eval echo $includedir`
90 inc_search_path="-I`eval echo $inc_search_path`"
92 dnl ===============================================
93 dnl Specify paths to look for libraries and headers
94 dnl ===============================================
95 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
96         [lib_search_path="$withval $lib_search_path"])
98 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
99         [inc_search_path="$withval $inc_search_path"])
101 dnl ============================
102 dnl Checks for library functions
103 dnl ============================
104 dnl not used anywhere
105 dnl AC_FUNC_MEMCMP  
106 AC_FUNC_VPRINTF
107 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
108                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
109                vasprintf)
111 dnl ripped from samba
112 dnl 
113 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
114 AC_TRY_RUN([
115 #include <sys/types.h>
116 #include <stdarg.h>
117 void foo(const char *format, ...) { 
118        va_list ap;
119        int len;
120        char buf[5];
122        va_start(ap, format);
123        len = vsnprintf(0, 0, format, ap);
124        va_end(ap);
125        if (len != 5) exit(1);
127        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
129        exit(0);
131 main() { foo("hello"); }
133 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
134 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
135     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
138 dnl Check for inotify
139 dnl =================
140 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
142 dnl Check CPP
143 dnl =========
144 if test "x$CPP_PATH" = x; then
145     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
146                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
150 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
151 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
152 dnl standard locations
154 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
155     if test "$GCC" = "yes"; then
156         CPP_PATH="gcc -E -x c"
157     else 
158         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
159             CPP_PATH="$CPP_PATH -B"
160         else
161             echo "cpp, the C preprocessor was not found in your system."
162             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
163             exit
164         fi
165     fi
167 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
171 dnl Checks for header files.
172 dnl =======================
173 AC_HEADER_SYS_WAIT
174 AC_HEADER_TIME
175 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
176                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
177                  strings.h)
181 dnl Checks for typedefs, structures, and compiler characteristics.
182 dnl ==============================================================
183 AC_DECL_SYS_SIGLIST
184 AC_C_CONST
185 #AC_TYPE_SIZE_T
186 #AC_TYPE_PID_T
187 AC_TYPE_SIGNAL
191 dnl Compiler/architecture specific optimizations
192 dnl ============================================
195 dnl GCC/as with MMX support
196 dnl -----------------------
198 # until we fix it, leave it disabled
199 asm_support=no
200 mmx_support=no
202 check_for_mmx_support=yes
203 AC_ARG_ENABLE(mmx, AS_HELP_STRING([--disable-mmx], [disable compilation of MMX inline assembly]),
204    [if test x$enableval != xyes; then
205     check_for_mmx_support=no
206     fi])
208 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
209 case $host_cpu in
210 *i?86*)
212     # gcc-3.3 or newer complains about some of our stuff without this
213     NOSTRICTALIASING="-fno-strict-aliasing"
215     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
216                    ac_cv_c_inline_asm,
217                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
218                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
219                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
220                    ac_cv_c_inline_asm=yes,
221                    ac_cv_c_inline_asm=no)])
223     if test "x$ac_cv_c_inline_asm" = xyes; then
224        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
225        asm_support=yes
227        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
228                       ac_cv_c_inline_mmx,
229                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
230                       ac_cv_c_inline_mmx=yes,
231                       ac_cv_c_inline_mmx=no)])
233        if test "x$ac_cv_c_inline_mmx" = xyes; then
234           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
235           mmx_support=yes
236        fi
237     fi
238     ;;
239 esac
241 AC_SUBST(NOSTRICTALIASING)
244 dnl pkg-config
245 dnl ==========
246 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
247 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
249 dnl gettext
250 dnl =======
252 dnl AM_GNU_GETTEXT
254 INTLIBS=""
256 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
257         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
258                          INTLIBS="" ))
260 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
262 if test "$XGETTEXT" != ""; then 
263     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
264         echo "xgettext isn't GNU version"
265         XGETTEXT=""
266     fi
269 if test "$LINGUAS" != ""; then
270     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
271         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
272         PO=""
273         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
274     else
275         LINGUAS=""
276         PO=""
277         echo "xgettext and libintl.a don't both exist; will not build i18n support"
278     fi
279 else
280         INTLIBS=""
281         MOFILES=""
282         WPMOFILES=""
283         UTILMOFILES=""
284         PO=""
288 dnl The Tower of Babel
289 dnl ==================
291 dnl List of supported locales
292 dnl =========================
293 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"
294 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
295 supported_wings_locales="bg ca cs de fr sk"
296 supported_util_locales="de"
298 for lang in $LINGUAS; do
299         ok=0
300         for l in $supported_locales; do
301                 if test "$l" = "$lang"; then
302                         ok=1
303                         break
304                 fi
305         done
306         if test "$ok" = 1; then
307                 MOFILES="$MOFILES $lang.mo"
308         else
309                 echo "Locale $lang is not supported."
310         fi
311         ok=0
312         for l in $supported_wprefs_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 WPMOFILES="$WPMOFILES $lang.mo"
320         fi
321         ok=0
322         for l in $supported_util_locales; do
323                 if test "$l" = "$lang"; then
324                         ok=1
325                         break
326                 fi
327         done
328         if test "$ok" = 1; then
329                 UTILMOFILES="$UTILMOFILES $lang.mo"
330         fi
331         ok=0
332         for l in $supported_wings_locales; do
333                 if test "$l" = "$lang"; then
334                         ok=1
335                         break
336                 fi
337         done
338         if test "$ok" = 1; then
339                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
340         fi
341 done
344 dnl Added by Oliver - Support for NLSDIR option
345 dnl ===========================================
346 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
348 if test "x$NLSDIR" = "x"; then
349         if test "x$with_nlsdir" != "x"; then
350                 NLSDIR=$with_nlsdir
351         else
352                 NLSDIR='$(prefix)/lib/locale'
353         fi
356 AC_SUBST(INTLIBS)
357 AC_SUBST(NLSDIR)
358 AC_SUBST(MOFILES)
359 AC_SUBST(WPMOFILES)
360 AC_SUBST(UTILMOFILES)
361 AC_SUBST(WINGSMOFILES)
362 AC_SUBST(supported_locales)
364 dnl Support for various hint things
365 dnl ===============================
367 dnl Beautify compilation messages
368 dnl =============================
369 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
370                                [Streamline compilation messages]),
371   [
372         QUIET='@echo "     CC" $@;'
373         QUIET_AR='@echo "     AR" $@;'
374         LIBTOOL_ARG="--silent"
375         MAKEFLAGS="-s"
376         AC_SUBST(QUIET)
377         AC_SUBST(QUIET_AR)
378         AC_SUBST(LIBTOOL_ARG)
379         AC_SUBST(MAKEFLAGS)
383 dnl ===========================================
384 dnl             Stuff that uses X
385 dnl ===========================================
387 AC_PATH_XTRA
389 if test $no_x; then
390     AC_MSG_ERROR([The path for the X11 files not found!
391 Make sure you have X and it's headers and libraries (the -devel packages
392 in Linux) installed.])
395 X_LIBRARY_PATH=$x_libraries
396 XCFLAGS="$X_CFLAGS"
397 XLFLAGS="$X_LIBS"
398 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
400 lib_search_path="$lib_search_path $XLFLAGS"
401 inc_search_path="$inc_search_path $XCFLAGS"
403 AC_SUBST(X_LIBRARY_PATH)
405 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
406 dnl by MANOME Tomonori 
407 dnl ===========================================
408 use_locale=yes
409 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
410               use_locale=no)
412 if test "$use_locale" = yes; then
413         AC_CHECK_LIB(X11, _Xsetlocale,
414                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
415                 $XLFLAGS $XLIBS)
418 dnl Check whether XInternAtoms() exist
419 dnl ==================================
420 AC_CHECK_LIB(X11, XInternAtoms, 
421              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
422              $XLFLAGS $XLIBS)
424 dnl Check whether XConvertCase() exist
425 dnl ==================================
426 AC_CHECK_LIB(X11, XConvertCase, 
427              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
428              $XLFLAGS $XLIBS)
430 dnl XKB keyboard language status
431 dnl ============================
432 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
433                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
435 dnl Shape support
436 dnl =============
437 shape=yes
438 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
439                 shape=$enableval, shape=yes)
440 added_xext=no
442 if test "$shape" = yes; then
443         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
444                 added_xext=yes
445                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
446                 shape=no, $XLFLAGS $XLIBS)
449 dnl XRandR support
450 dnl =============
451 xrandr=yes
452 AC_ARG_ENABLE(XRandR, AS_HELP_STRING([--disable-xrandr], [disable XRandR window extension support]),
453                 xrandr=$enableval, xrandr=yes)
454 added_xext=no
456 if test "$xrandr" = yes; then
457         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [XLIBS="-lXrandr $XLIBS"
458                 added_xext=yes
459                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
460                 xrandr=no, $XLFLAGS $XLIBS)
464 dnl libWINGS uses math functions, check whether usage requires linking
465 dnl against libm
467 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
468 if test "x$mathneedslibm" = "xdunno" ; then
469         AC_CHECK_LIB(m, atan, [LIBM=-lm])
471 AC_SUBST(LIBM)
475 dnl libWINGS uses FcPatternDel from libfontconfig
477 AC_MSG_CHECKING([for fontconfig library])
478 FCLIBS=`$PKGCONFIG fontconfig --libs`
479 if test "x$FCLIBS" = "x" ; then
480         AC_MSG_RESULT([not found])
481 else
482         AC_MSG_RESULT([found])
484 AC_SUBST(FCLIBS)
487 dnl Xft2 antialiased font support
488 dnl =============================
490 xft=yes
491 XFTLIBS=""
493 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
494         XFTCONFIG="$PKGCONFIG xft"
495         pkgconfig_xft=yes
496 else
497         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
500 AC_MSG_CHECKING([for the Xft2 library])
502 if test "x$XFTCONFIG" != x; then
503         XFTLIBS=`$XFTCONFIG --libs`
504         XFTFLAGS=`$XFTCONFIG --cflags`
505         AC_MSG_RESULT([found])
506 else
507         AC_MSG_RESULT([not found])
508         echo
509         echo "ERROR!!! libXft2 is not installed or could not be found."
510         echo "         Xft2 is a requirement for building Window Maker."
511         echo "         Please install it (along with fontconfig) before continuing."
512         echo
513         exit 1
516 minXFT="2.1.0"
517 goodxft="no"
520 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
522 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
524 if test "$goodxft" = no; then
525         echo
526         echo "ERROR!!! libXft on this system is an old version."
527         echo "         Please consider upgrading to at least version ${minXFT}."
528         echo
529         exit 1
532 AC_SUBST(XFTFLAGS)
533 AC_SUBST(XFTLIBS)
536 dnl XINERAMA support
537 dnl ================
538 xinerama=no
539 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--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, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
574                 shm=$enableval, shm=yes)
576 if test "$shm" = yes; then
577         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
579         if test "$ok" = yes; then
580         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
581         fi
583         if test "$ok" = yes; then
584                 if test "$added_xext" = no; then
585                         XLIBS="-lXext $XLIBS"
586                 fi
587                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
588         fi
592 dnl R6 Style Session Management Support
593 dnl ===================================
597 #AC_DEFINE(R6SM)
598 #AC_SUBST(XSMPLIBS)
602 dnl ==============================================
603 dnl         Graphic Format Libraries
604 dnl ==============================================
606 dnl XPM Support
607 dnl ===========
608 xpm=yes
609 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
610         xpm=$enableval, xpm=yes)
612 if test "$xpm" = yes; then
613     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
615     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
616         WM_CHECK_HEADER(X11/xpm.h)
617         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
618                 GFXLIBS="$GFXLIBS -lXpm"
619                 supported_gfx="XPM"
620                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
621         else
622                 supported_gfx="builtin-XPM"
623         fi
624     fi
627 AC_SUBST(XLFLAGS)
628 AC_SUBST(XLIBS)
629 AC_SUBST(X_EXTRA_LIBS)
631 dnl ===============================================
632 dnl             End of stuff that uses X
633 dnl ===============================================
635 dnl PNG Support
636 dnl ===========
637 png=yes
638 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
639         png=$enableval, png=yes, png=no)
641 if test "$png" = yes ; then
642     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
644     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
645         WM_CHECK_HEADER(png.h)
646         if test "x$ac_cv_header_png_h" = xyes; then
647             GFXLIBS="$GFXLIBS -lpng -lz" 
648             supported_gfx="$supported_gfx PNG"
649             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
650         fi
651     fi
655 dnl JPEG Support
656 dnl ============
657 jpeg=yes
658 ljpeg=""
659 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
660         jpeg=$enableval, jpeg=yes, jpeg=no)
662 if test "$jpeg" = yes; then
663     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
665     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
667         ljpeg="-ljpeg"
669         WM_CHECK_HEADER(jpeglib.h)
670         if test "x$ac_cv_header_jpeglib_h" = xyes; then
671             GFXLIBS="$GFXLIBS -ljpeg"
672             supported_gfx="$supported_gfx JPEG"
673             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
674         fi
675     fi
679 dnl GIF Support
680 dnl ============
681 gif=yes
682 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
683         gif=$enableval, gif=yes, gif=no)
685 if test "$gif" = yes; then
686     my_libname=""
687     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
688     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
689         my_libname=-lungif
690     fi
692 dnl libungif is the same thing as libgif for all practical purposes.
694     if test "x$my_libname" = x; then
695         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
696         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
697             my_libname=-lgif
698         fi
699     fi
701     if test "$my_libname" != x; then
702         WM_CHECK_HEADER(gif_lib.h)
703         if test "x$ac_cv_header_gif_lib_h" = xyes; then
704             GFXLIBS="$GFXLIBS $my_libname"
705             supported_gfx="$supported_gfx GIF"
706             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
707         fi
708     fi
713 dnl TIFF Support
714 dnl ============
715 AC_ARG_ENABLE(tiff, 
716 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
717         tif=$enableval, tif=yes, tif=no)
720 # TIFF can optionally have JPEG and/or zlib support. Must find out
721 # when they are supported so that correct library flags are passed during
722 # detection and linkage
725 # By default use xpm icons if tiff is not found.
726 ICONEXT="xpm"
729 if test "$tif" = yes; then
730     my_libname=""
731     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
732     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
733         my_libname="-ltiff"
734     fi
736 dnl Retry with zlib
738     unset ac_cv_lib_tiff_TIFFGetVersion
739     if test "x$my_libname" = x; then
740         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
741         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
742             my_libname="-ltiff -lz"
743         fi
744     fi
746     if test "x$my_libname" = x; then
747         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
748         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
749             my_libname="-ltiff34"
750         fi
751     fi
754     if test "x$my_libname" != x; then
755         WM_CHECK_HEADER(tiffio.h)
756         if test "x$ac_cv_header_tiffio_h" = xyes; then
757             GFXLIBS="$my_libname $GFXLIBS"
758             ICONEXT="tiff"
759             supported_gfx="$supported_gfx TIFF"
760             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
761         fi
762     fi
765 LIBRARY_SEARCH_PATH="$lib_search_path"
766 HEADER_SEARCH_PATH="$inc_search_path"
768 AC_SUBST(LIBRARY_SEARCH_PATH)
769 AC_SUBST(HEADER_SEARCH_PATH)
772 AC_SUBST(GFXLIBS)
773 AC_SUBST(ICONEXT)
776 dnl ==============================================
777 dnl         End of Graphic Format Libraries
778 dnl ==============================================
782 dnl stdlib.h is checked here, because of conflict in jpeglib.h
783 AC_CHECK_HEADERS(stdlib.h)
785 # AC_PREFIX_PROGRAM(wmaker)
787 dnl Support for PIXMAPDIR option
788 dnl ============================
789 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
791 if test "x$with_pixmapdir" != "x"; then
792         pixmapdir=$with_pixmapdir
793 else
794         pixmapdir=`eval echo ${datadir}/pixmaps`
797 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
799 pkgdatadir=`eval echo $datadir`
800 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
802 _sysconfdir=`eval echo $sysconfdir`
803 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
806 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
807 dnl ==============================================
809 AC_ARG_WITH(appspath, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
811 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
812     appspath=$with_gnustepdir
815 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
816     wprefs_base_dir=${prefix}
817     wprefs_datadir="${datadir}/WPrefs"
818     wprefs_bindir="${bindir}"
819 else
820     gnustepdir=$appspath
822     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
823         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
824         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
825     fi
827     wprefs_base_dir=$gnustepdir/Applications
828     wprefs_datadir=$wprefs_base_dir/WPrefs.app
829     wprefs_bindir=$wprefs_base_dir/WPrefs.app
832 AC_SUBST(wprefs_datadir)
833 AC_SUBST(wprefs_bindir)
836 dnl Enable User Defined Menu thing
837 dnl ==================================
838 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
839 if test "$enableval" = yes; then
840         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
844 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
845         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
846         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
847         WINGs/Extras/Makefile WINGs/po/Makefile \
848         wrlib/Makefile wrlib/tests/Makefile \
849         src/Makefile src/wconfig.h \
850         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
851         doc/ru/Makefile \
852         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
853         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
854         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
855         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
856         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
857         WPrefs.app/po/Makefile )
860 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
861 dnl ===================================================================
863 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
864 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
865 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
867 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
868 dnl parsed by m4
870 cat <<EOF >get-wraster-flags
871 #!/bin/sh
873 WCFLAGS="$inc_search_path"
874 WLFLAGS="$lib_search_path"
875 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
877 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
879 if test \$# -eq 0; then
880       echo "\${usage}" 1>&2
881       exit 1
884 while test \$# -gt 0; do
885   case \$1 in
886     --cflags)
887         echo \$WCFLAGS
888         ;;
889     --ldflags|--lflags)
890         echo \$WLFLAGS
891         ;;
892     --libs)
893         echo \$WLIBS
894         ;;
895     *)
896         echo "\${usage}" 1>&2
897         exit 1
898         ;;
899   esac
900   shift
901 done
906 cat <<EOF > wrlib/wrlib.pc
907 Name: wrlib
908 Description: Image manipulation and conversion library
909 Version: $VERSION
910 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
911 Cflags: $inc_search_path
914 cat <<EOF >get-wings-flags
915 #!/bin/sh
917 WCFLAGS="$inc_search_path"
918 WLFLAGS="$lib_search_path"
919 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
921 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
923 if test \$# -eq 0; then
924       echo "\${usage}" 1>&2
925       exit 1
928 while test \$# -gt 0; do
929   case \$1 in
930     --cflags)
931         echo \$WCFLAGS
932         ;;
933     --ldflags|--lflags)
934         echo \$WLFLAGS
935         ;;
936     --libs)
937         echo \$WLIBS
938         ;;
939     *)
940         echo "\${usage}" 1>&2
941         exit 1
942         ;;
943   esac
944   shift
945 done
950 cat <<EOF > WINGs/WINGs.pc
951 Name: WINGs
952 Description: Small widget set with the NeXTStep(TM) look and feel
953 Version: $VERSION
954 Requires: wrlib
955 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
956 Cflags: $inc_search_path
959 cat <<EOF >get-wutil-flags
960 #!/bin/sh
962 WCFLAGS="-I`eval echo ${includedir}`"
963 WLFLAGS="-L${_libdir}"
964 WLIBS="-lWUtil $INTLIBS"
966 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
968 if test \$# -eq 0; then
969       echo "\${usage}" 1>&2
970       exit 1
973 while test \$# -gt 0; do
974   case \$1 in
975     --cflags)
976         echo \$WCFLAGS
977         ;;
978     --ldflags|--lflags)
979         echo \$WLFLAGS
980         ;;
981     --libs)
982         echo \$WLIBS
983         ;;
984     *)
985         echo "\${usage}" 1>&2
986         exit 1
987         ;;
988   esac
989   shift
990 done
995 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
996 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
997 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
999 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1001 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1005 dnl Spit out the configuration
1006 dnl ==========================
1008 supported_gfx="$supported_gfx builtin-PPM"
1010 if test "x$MOFILES" = "x"; then
1011         mof=None
1012 else
1013         mof=`echo $MOFILES`
1016 if test "x$MOFILES" = "x"; then
1017         languages=None
1018 else
1019         languages=`echo $MOFILES | sed 's/.mo//g'`
1022 echo
1023 echo "Window Maker was configured as follows:"
1024 echo
1025 echo "Installation path prefix            : $prefix"
1026 echo "Installation path for binaries      : $_bindir"
1027 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1028 echo "Supported graphic format libraries  : $supported_gfx"
1029 echo "Use assembly routines for wrlib     : $asm_support"
1030 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1031 echo "Antialiased text support in WINGs   : $xft"
1032 echo "Xinerama extension support          : $xinerama"
1033 echo "XRandR extension support            : $xrandr"
1034 echo "Translated message files to install : $mof"
1035 dnl echo "Supported languages beside English  : $languages"
1036 if test "x$MOFILES" != "x"; then
1037         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1039 echo
1041 dnl WM_PRINT_REDCRAP_BUG_STATUS
1043 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1044 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1045 echo
1046 echo "JPEG support will not be included because the JPEG library is"
1047 echo "not installed correctly or was not found. Background images"
1048 echo "from themes will not display as they usually are JPEG files."
1049 echo
1050 echo "To fix, download and install the jpeg library and/or make sure you"
1051 echo "installed all jpeg related packages, SPECIALLY the development packages"
1052 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1053 echo
1054 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1058 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1059 dnl ================================================
1060 dnl Local Variables:
1061 dnl compile-command: "autoconf"
1062 dnl End: