Window Maker 0.95.2
[wmaker-crm.git] / configure.ac
blobb333c52d9a53d2034d3416c08e75b6a9d2cede64
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.95.2, , WindowMaker, http://www.windowmaker.org/)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AM_CONFIG_HEADER(config.h)
18 AM_INIT_AUTOMAKE([1.11 silent-rules])
20 AH_BOTTOM([#include "config-paths.h"])
22 dnl libtool library versioning
23 dnl =======================
24 dnl
25 dnl current
26 dnl revision
27 dnl age
28 dnl
29 dnl 1. Start with version information of ‘0:0:0’ for each libtool library.
30 dnl 2. Update the version information only immediately before a public
31 dnl release of your software. More frequent updates are unnecessary, and
32 dnl only guarantee that the current interface number gets larger faster.
33 dnl 3. If the library source code has changed at all since the last
34 dnl update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
35 dnl 4. If any interfaces have been added, removed, or changed since the
36 dnl last update, increment current, and set revision to 0.
37 dnl 5. If any interfaces have been added since the last public release,
38 dnl then increment age.
39 dnl 6. If any interfaces have been removed or changed since the last
40 dnl public release, then set age to 0.
41 dnl
42 dnl libwraster
43 WRASTER_CURRENT=4
44 WRASTER_REVISION=0
45 WRASTER_AGE=1
46 WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
47 AC_SUBST(WRASTER_VERSION)
48 dnl
49 dnl libWINGs
50 WINGS_CURRENT=2
51 WINGS_REVISION=1
52 WINGS_AGE=0
53 WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
54 AC_SUBST(WINGS_VERSION)
55 dnl
56 dnl libWUtil
57 WUTIL_CURRENT=2
58 WUTIL_REVISION=0
59 WUTIL_AGE=0
60 WUTIL_VERSION=$WUTIL_CURRENT:$WUTIL_REVISION:$WUTIL_AGE
61 AC_SUBST(WUTIL_VERSION)
64 dnl Checks for host/os name
65 dnl =======================
66 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
68 dnl Checks for programs.
69 dnl ===================
70 AC_ISC_POSIX
71 AC_PROG_CC
72 AC_PROG_LN_S
73 AC_PROG_GCC_TRADITIONAL
74 AC_PROG_LIBTOOL
76 AX_CFLAGS_GCC_OPTION(-Wall)
77 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
79 dnl Platform-specific Makefile setup
80 dnl ================================
82 case "${host}" in
83         *-*-linux*|*-*-cygwin*|*-gnu*)
84                 WM_OSDEP="linux"
85                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"
86         ;;
87         *-*-freebsd*|*-k*bsd-gnu*)
88                 WM_OSDEP="bsd"
89                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"
90         ;;
91         *-*-netbsd*)
92                 WM_OSDEP="bsd"
93                 CFLAGS="$CFLAGS -DNETBSD"
94         ;;
95         *-*-openbsd*)
96                 WM_OSDEP="bsd"
97         CFLAGS="$CFLAGS -DOPENBSD"
98         ;;
99         *-*-dragonfly*)
100                 WM_OSDEP="bsd"
101                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
102         ;;
103         *-apple-darwin*)
104                 WM_OSDEP="darwin"
105         ;;
106         *-*-solaris*)
107                 WM_OSDEP="stub"         # solaris.c when done
108         ;;
109         *)
110                 WM_OSDEP="stub"
111         ;;
112 esac
113 AC_SUBST(WM_OSDEP)
116 dnl the prefix
117 dnl ==========
119 dnl move this earlier in the script... anyone know why this is handled
120 dnl in such a bizarre way?
122 test "x$prefix" = xNONE && prefix=$ac_default_prefix
123 dnl Let make expand exec_prefix.
124 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
127 _bindir=`eval echo $bindir`
128 _bindir=`eval echo $_bindir`
130 lib_search_path='-L${libdir}'
132 inc_search_path='-I${includedir}'
134 dnl ===============================================
135 dnl Specify paths to look for libraries and headers
136 dnl ===============================================
137 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
138         [lib_search_path="$withval $lib_search_path"])
140 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
141         [inc_search_path="$withval $inc_search_path"])
144 dnl Boehm GC
145 dnl ========
146 with_boehm_gc=no
147 AC_ARG_ENABLE([boehm-gc],
148     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
149     [with_boehm_gc=$enableval])
151 AS_IF([test "x$with_boehm_gc" = "xyes"],
152     AC_SEARCH_LIBS([GC_malloc], [gc],
153         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
154         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]
155     )
158 dnl LCOV
159 dnl ====
160 AC_ARG_ENABLE([lcov],
161     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
162     [],
163     [enable_lcov=no])
165 AS_IF([test "x$enable_lcov" != "xno"],
166     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
167     if test "x$enable_lcov" = "xyes"; then
168         lcov_output_directory="coverage-report"
169     else
170         lcov_output_directory="${enable_lcov}/coverage-report"
171     fi
172     AC_SUBST(lcov_output_directory)]
174 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
177 dnl ============================
178 dnl Checks for library functions
179 dnl ============================
180 dnl not used anywhere
181 AC_FUNC_MEMCMP
182 AC_FUNC_VPRINTF
183 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
184                setsid mallinfo mkstemp sysconf)
186 dnl Check for strlcat/strlcpy
187 dnl =========================
188 AC_ARG_WITH([libbsd],
189   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
190   [AS_IF([test "x$with_libbsd" != "xno"],
191     [with_libbsd=bsd]
192     [with_libbsd=]
193   )],
194   [with_libbsd=bsd])
196 tmp_libs=$LIBS
197 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
198   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
199   []
201 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
202   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
203   []
205 LIBS=$tmp_libs
207 LIBBSD=
208 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
209   [LIBBSD=-lbsd
210    AC_CHECK_HEADERS([bsd/string.h])]
212 AC_SUBST(LIBBSD)
214 dnl Check for inotify
215 dnl =================
216 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
218 dnl Check CPP
219 dnl =========
220 if test "x$CPP_PATH" = x; then
221     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
222                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
226 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
227 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
228 dnl standard locations
230 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
231     if test "$GCC" = "yes"; then
232         CPP_PATH="gcc -E -x c"
233     else 
234         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
235             CPP_PATH="$CPP_PATH -B"
236         else
237             echo "cpp, the C preprocessor was not found in your system."
238             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
239             exit
240         fi
241     fi
246 dnl Checks for header files.
247 dnl =======================
248 AC_HEADER_SYS_WAIT
249 AC_HEADER_TIME
250 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
251                  string.h strings.h)
254 dnl Checks for typedefs, structures, and compiler characteristics.
255 dnl ==============================================================
256 AC_DECL_SYS_SIGLIST
257 AC_C_CONST
258 AC_TYPE_SIZE_T
259 AC_TYPE_PID_T
260 AC_TYPE_SIGNAL
263 dnl pkg-config
264 dnl ==========
265 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
266 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
268 dnl gettext
269 dnl =======
271 dnl AM_GNU_GETTEXT
273 INTLIBS=""
275 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
276         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
277                          INTLIBS="" ))
279 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
281 if test "$XGETTEXT" != ""; then 
282     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
283         echo "xgettext isn't GNU version"
284         XGETTEXT=""
285     fi
288 if test "$LINGUAS" != ""; then
289     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
290         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
291         PO=""
292         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
293     else
294         LINGUAS=""
295         PO=""
296         echo "xgettext and libintl.a don't both exist; will not build i18n support"
297     fi
298 else
299         INTLIBS=""
300         MOFILES=""
301         WPMOFILES=""
302         UTILMOFILES=""
303         PO=""
307 dnl The Tower of Babel
308 dnl ==================
310 dnl List of supported locales
311 dnl =========================
312 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"
313 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
314 supported_wings_locales="bg ca cs de fr sk"
315 supported_util_locales="de es fr"
317 for lang in $LINGUAS; do
318         ok=0
319         for l in $supported_locales; do
320                 if test "$l" = "$lang"; then
321                         ok=1
322                         break
323                 fi
324         done
325         if test "$ok" = 1; then
326                 MOFILES="$MOFILES $lang.mo"
327         else
328                 echo "Locale $lang is not supported."
329         fi
330         ok=0
331         for l in $supported_wprefs_locales; do
332                 if test "$l" = "$lang"; then
333                         ok=1
334                         break
335                 fi
336         done
337         if test "$ok" = 1; then
338                 WPMOFILES="$WPMOFILES $lang.mo"
339         fi
340         ok=0
341         for l in $supported_util_locales; do
342                 if test "$l" = "$lang"; then
343                         ok=1
344                         break
345                 fi
346         done
347         if test "$ok" = 1; then
348                 UTILMOFILES="$UTILMOFILES $lang.mo"
349         fi
350         ok=0
351         for l in $supported_wings_locales; do
352                 if test "$l" = "$lang"; then
353                         ok=1
354                         break
355                 fi
356         done
357         if test "$ok" = 1; then
358                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
359         fi
360 done
363 dnl Added by Oliver - Support for NLSDIR option
364 dnl ===========================================
365 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
367 if test "x$NLSDIR" = "x"; then
368         if test "x$with_nlsdir" != "x"; then
369                 NLSDIR=$with_nlsdir
370         else
371                 NLSDIR='$(prefix)/lib/locale'
372         fi
375 menutextdomain=
376 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
377         [if test "x$withval" != "xno"; then
378          menutextdomain=$withval
379          fi])
380 AC_SUBST(menutextdomain)
382 AC_SUBST(INTLIBS)
383 AC_SUBST(NLSDIR)
384 AC_SUBST(MOFILES)
385 AC_SUBST(WPMOFILES)
386 AC_SUBST(UTILMOFILES)
387 AC_SUBST(WINGSMOFILES)
388 AC_SUBST(supported_locales)
390 dnl ===========================================
391 dnl             Stuff that uses X
392 dnl ===========================================
394 AC_PATH_XTRA
396 if test $no_x; then
397     AC_MSG_ERROR([The path for the X11 files not found!
398 Make sure you have X and it's headers and libraries (the -devel packages
399 in Linux) installed.])
402 X_LIBRARY_PATH=$x_libraries
403 XCFLAGS="$X_CFLAGS"
404 XLFLAGS="$X_LIBS"
405 XLIBS="-lX11 $X_EXTRA_LIBS"
406 LIBXMU="-lXmu"
407 AC_SUBST(LIBXMU)
409 lib_search_path="$lib_search_path $XLFLAGS"
410 inc_search_path="$inc_search_path $XCFLAGS"
412 AC_SUBST(X_LIBRARY_PATH)
414 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
415 dnl by MANOME Tomonori 
416 dnl ===========================================
417 use_locale=yes
418 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
419               use_locale=no)
421 if test "$use_locale" = yes; then
422         AC_CHECK_LIB(X11, _Xsetlocale,
423                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
424                 $XLFLAGS $XLIBS)
427 dnl Check whether XInternAtoms() exist
428 dnl ==================================
429 AC_CHECK_LIB(X11, XInternAtoms, 
430              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
431              $XLFLAGS $XLIBS)
433 dnl Check whether XConvertCase() exist
434 dnl ==================================
435 AC_CHECK_LIB(X11, XConvertCase, 
436              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
437              $XLFLAGS $XLIBS)
439 dnl XKB keyboard language status
440 dnl ============================
441 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
442                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
444 dnl Shape support
445 dnl =============
446 shape=yes
447 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
448                 shape=$enableval, shape=yes)
449 added_xext=no
451 if test "$shape" = yes; then
452         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
453                 added_xext=yes
454                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
455                 shape=no, $XLFLAGS $XLIBS)
458 dnl XRandR support
459 dnl ==============
460 xrandr=no
461 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support]),
462                 xrandr=$enableval, xrandr=no)
463 added_xext=no
465 LIBXRANDR=
466 if test "$xrandr" = yes; then
467         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
468                 added_xext=yes
469                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
470                 xrandr=no, $XLFLAGS $XLIBS)
472 AC_SUBST(LIBXRANDR)
475 dnl libWINGS uses math functions, check whether usage requires linking
476 dnl against libm
478 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
479 if test "x$mathneedslibm" = "xdunno" ; then
480         AC_CHECK_LIB(m, atan, [LIBM=-lm])
482 AC_SUBST(LIBM)
486 dnl libWINGS uses FcPatternDel from libfontconfig
488 AC_MSG_CHECKING([for fontconfig library])
489 FCLIBS=`$PKGCONFIG fontconfig --libs`
490 if test "x$FCLIBS" = "x" ; then
491         AC_MSG_RESULT([not found])
492 else
493         AC_MSG_RESULT([found])
495 AC_SUBST(FCLIBS)
498 dnl Xft2 antialiased font support
499 dnl =============================
501 xft=yes
502 XFTLIBS=""
504 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
505         XFTCONFIG="$PKGCONFIG xft"
506         pkgconfig_xft=yes
507 else
508         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
511 AC_MSG_CHECKING([for the Xft2 library])
513 if test "x$XFTCONFIG" != x; then
514         XFTLIBS=`$XFTCONFIG --libs`
515         XFTFLAGS=`$XFTCONFIG --cflags`
516         AC_MSG_RESULT([found])
517 else
518         AC_MSG_RESULT([not found])
519         echo
520         echo "ERROR!!! libXft2 is not installed or could not be found."
521         echo "         Xft2 is a requirement for building Window Maker."
522         echo "         Please install it (along with fontconfig) before continuing."
523         echo
524         exit 1
527 minXFT="2.1.0"
528 goodxft="no"
531 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
533 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
535 if test "$goodxft" = no; then
536         echo
537         echo "ERROR!!! libXft on this system is an old version."
538         echo "         Please consider upgrading to at least version ${minXFT}."
539         echo
540         exit 1
543 AC_SUBST(XFTFLAGS)
544 AC_SUBST(XFTLIBS)
547 dnl XINERAMA support
548 dnl ================
549 xinerama=no
550 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
551                 xinerama=$enableval, xinerama=no)
553 LIBXINERAMA=
554 if test "$xinerama" = yes; then
555         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
556                 [LIBXINERAMA=-lXinerama
557                 xfxine=yes],
558                 xfxine=no, $XLFLAGS $XLIBS)
560         AC_CHECK_LIB(Xext, XineramaGetInfo,
561                 [sunxine=yes
562                 ], sunxine=no, $XLFLAGS $XLIBS)
564         if test "$xfxine" = yes; then
565                 xine=1
566         fi
568         if test "$sunxine" = yes; then
569             xine=1
570             AC_DEFINE(SOLARIS_XINERAMA, 1, 
571                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
572         fi
574         if test "$xine" = 1; then
575             AC_DEFINE(XINERAMA, 1, 
576                 [define if you want support for the XINERAMA extension (set by configure)])
577         fi
579 AC_SUBST(LIBXINERAMA)
582 dnl MIT-SHM support
583 dnl ===============
584 shm=yes
585 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
586                 shm=$enableval, shm=yes)
588 if test "$shm" = yes; then
589         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
591         if test "$ok" = yes; then
592         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
593         fi
595         if test "$ok" = yes; then
596                 if test "$added_xext" = no; then
597                         XLIBS="-lXext $XLIBS"
598                 fi
599                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
600         fi
604 dnl R6 Style Session Management Support
605 dnl ===================================
609 #AC_DEFINE(R6SM)
610 #AC_SUBST(XSMPLIBS)
614 dnl ==============================================
615 dnl         Graphic Format Libraries
616 dnl ==============================================
618 dnl XPM Support
619 dnl ===========
620 xpm=yes
621 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
622         xpm=$enableval, xpm=yes)
624 if test "$xpm" = yes; then
625     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
627     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
628         WM_CHECK_HEADER(X11/xpm.h)
629         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
630                 GFXLIBS="$GFXLIBS -lXpm"
631                 supported_gfx="XPM"
632                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
633         else
634                 supported_gfx="builtin-XPM"
635         fi
636     fi
639 AC_SUBST(XLFLAGS)
640 AC_SUBST(XLIBS)
641 AC_SUBST(X_EXTRA_LIBS)
643 dnl ===============================================
644 dnl             End of stuff that uses X
645 dnl ===============================================
647 dnl PNG Support
648 dnl ===========
649 png=yes
650 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
651         png=$enableval, png=yes, png=no)
653 if test "$png" = yes ; then
654     my_libname=""
655     WM_CHECK_LIB(png, png_get_valid, [-lm])
656     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
657         my_libname="-lpng"
658     fi
660 dnl Retry with zlib
662     if test "x$my_libname" = x; then
663         unset ac_cv_lib_png_png_get_valid
664         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
665         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
666             my_libname="-lpng -lz"
667         fi
668     fi
670     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
671         WM_CHECK_HEADER(png.h)
672         if test "x$ac_cv_header_png_h" = xyes; then
673             GFXLIBS="$GFXLIBS $my_libname"
674             supported_gfx="$supported_gfx PNG"
675             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
676         fi
677     fi
681 dnl JPEG Support
682 dnl ============
683 jpeg=yes
684 ljpeg=""
685 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
686         jpeg=$enableval, jpeg=yes, jpeg=no)
688 if test "$jpeg" = yes; then
689     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
691     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
693         ljpeg="-ljpeg"
695         WM_CHECK_HEADER(jpeglib.h)
696         if test "x$ac_cv_header_jpeglib_h" = xyes; then
697             GFXLIBS="$GFXLIBS -ljpeg"
698             supported_gfx="$supported_gfx JPEG"
699             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
700         fi
701     fi
705 dnl GIF Support
706 dnl ============
707 gif=yes
708 AC_ARG_ENABLE(gif, AS_HELP_STRING([--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 AS_HELP_STRING([--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, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
817 if test "x$with_pixmapdir" != "x"; then
818         pixmapdir=$with_pixmapdir
819 else
820         pixmapdir='${datadir}/pixmaps'
822 AC_SUBST(pixmapdir)
825 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
826 dnl ==============================================
828 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
830 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
831     appspath=$with_gnustepdir
834 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
835     wprefs_base_dir=${prefix}
836     wprefs_datadir="${datadir}/WPrefs"
837     wprefs_bindir="${bindir}"
838 else
839     gnustepdir=$appspath
841     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
842         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
843         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
844     fi
846     wprefs_base_dir=$gnustepdir/Applications
847     wprefs_datadir=$wprefs_base_dir/WPrefs.app
848     wprefs_bindir=$wprefs_base_dir/WPrefs.app
851 AC_SUBST(wprefs_datadir)
852 AC_SUBST(wprefs_bindir)
855 dnl Enable User Defined Menu thing
856 dnl ==============================
857 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
858 if test "$enableval" = yes; then
859         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
863 gl_LD_VERSION_SCRIPT
865 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
866         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
867         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
868         WINGs/Extras/Makefile WINGs/po/Makefile \
869         wrlib/Makefile wrlib/tests/Makefile \
870         src/Makefile src/wconfig.h \
871         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
872         doc/ru/Makefile \
873         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
874         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
875         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
876         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
877         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
878         WPrefs.app/po/Makefile )
881 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
882 dnl ===================================================================
884 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
885 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
886 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
888 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
889 dnl parsed by m4
891 AC_SUBST(lib_search_path)
892 AC_SUBST(inc_search_path)
895 dnl Spit out the configuration
896 dnl ==========================
898 supported_gfx="$supported_gfx builtin-PPM"
900 if test "x$MOFILES" = "x"; then
901         mof=None
902 else
903         mof=`echo $MOFILES`
906 if test "x$MOFILES" = "x"; then
907         languages=None
908 else
909         languages=`echo $MOFILES | sed 's/.mo//g'`
912 echo
913 echo "Window Maker was configured as follows:"
914 echo
915 echo "Installation path prefix            : $prefix"
916 echo "Installation path for binaries      : $_bindir"
917 echo "Installation path for libraries     : $libdir"
918 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
919 echo "Supported graphic format libraries  : $supported_gfx"
920 echo "Antialiased text support in WINGs   : $xft"
921 echo "Xinerama extension support          : $xinerama"
922 echo "XRandR extension support            : $xrandr"
923 echo "Translated message files to install : $mof"
924 dnl echo "Supported languages beside English  : $languages"
925 if test "x$MOFILES" != "x"; then
926         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
928 echo
930 dnl WM_PRINT_REDCRAP_BUG_STATUS
932 if test "x$ac_cv_header_jpeglib_h" != xyes; then
933 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
934 echo
935 echo "JPEG support will not be included because the JPEG library is"
936 echo "not installed correctly or was not found. Background images"
937 echo "from themes will not display as they usually are JPEG files."
938 echo
939 echo "To fix, download and install the jpeg library and/or make sure you"
940 echo "installed all jpeg related packages, SPECIALLY the development packages"
941 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
942 echo
943 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
947 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
948 dnl ================================================
949 dnl Local Variables:
950 dnl compile-command: "autoconf"
951 dnl End: