wrlib: Use a Conditional for GIF in the makefile instead of #if in source
[wmaker-crm.git] / configure.ac
blob4ebce2168a7dec8fb9f1bf7ede8fa1f55321d9b3
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.5, , WindowMaker, http://www.windowmaker.org/)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AC_CONFIG_HEADERS(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=1
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=3
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
77 dnl Debugging Options
78 dnl =================
79 AC_ARG_ENABLE(debug,
80     [AS_HELP_STRING([--enable-debug], [enable debugging options, @<:@default=no@:>@])],
81     [AS_CASE(["$enableval"],
82         [yes], [debug=yes],
83         [no],  [debug=no],
84         [AC_MSG_ERROR([bad value $enableval for --enable-debug])] )],
85     [debug=no])
86 AS_IF([test "x$debug" = "xyes"],
87     [CFLAGS="-g -O0" ; CPPFLAGS="$CPPFLAGS -DDEBUG"])
90 AX_CFLAGS_GCC_OPTION(-Wall)
91 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
92 AS_IF([test "x$debug" = "xyes"],
93     [dnl When debug is enabled, we try to activate more checks from
94      dnl the compiler. They are on independant check because the
95      dnl macro checks all the options at once, but we may have cases
96      dnl where some options are not supported and we don't want to
97      dnl loose all of them.
98      dnl
99      dnl Floating-point comparison is not a good idea
100      AX_CFLAGS_GCC_OPTION([-Wfloat-equal])
101      dnl
102      dnl Try to report misuses of '&' versus '&&' and similar
103      AX_CFLAGS_GCC_OPTION([-Wlogical-op])
104      dnl
105      dnl Reports declaration of global things that are done inside
106      dnl a local environment, instead of using the appropriate
107      dnl header
108      AX_CFLAGS_GCC_OPTION([-Wnested-externs])
109      dnl
110      dnl Use of 'sizeof()' on inappropriate pointer types
111      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
112 ], [dnl
113      dnl When debug not enabled, we try to avoid some non-necessary
114      dnl messages from the compiler
115      dnl
116      dnl To support legacy X servers, we have sometime to use
117      dnl functions marked as deprecated. We do not wish our users
118      dnl to be worried about it
119      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
120      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
124 dnl Tracking on what is detected for final status
125 dnl =============================================
126 unsupported=""
129 dnl Platform-specific Makefile setup
130 dnl ================================
131 AS_CASE(["$host"],
132     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
133     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
134     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
135     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
136     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
137     [*-apple-darwin*],               [WM_OSDEP="darwin"],
138     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
139     [WM_OSDEP="stub"])
140 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
141 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
142 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
143 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
146 dnl the prefix
147 dnl ==========
149 dnl move this earlier in the script... anyone know why this is handled
150 dnl in such a bizarre way?
152 test "x$prefix" = xNONE && prefix=$ac_default_prefix
153 dnl Let make expand exec_prefix.
154 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
157 _bindir=`eval echo $bindir`
158 _bindir=`eval echo $_bindir`
160 lib_search_path='-L${libdir}'
162 inc_search_path='-I${includedir}'
164 dnl ===============================================
165 dnl Specify paths to look for libraries and headers
166 dnl ===============================================
167 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
168         [lib_search_path="$withval $lib_search_path"])
170 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
171         [inc_search_path="$withval $inc_search_path"])
174 dnl Boehm GC
175 dnl ========
176 with_boehm_gc=no
177 AC_ARG_ENABLE([boehm-gc],
178     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
179     [with_boehm_gc=$enableval])
181 AS_IF([test "x$with_boehm_gc" = "xyes"],
182     AC_SEARCH_LIBS([GC_malloc], [gc],
183         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
184         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
185         []
186     )
189 dnl LCOV
190 dnl ====
191 AC_ARG_ENABLE([lcov],
192     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
193     [],
194     [enable_lcov=no])
196 AS_IF([test "x$enable_lcov" != "xno"],
197     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
198     if test "x$enable_lcov" = "xyes"; then
199         lcov_output_directory="coverage-report"
200     else
201         lcov_output_directory="${enable_lcov}/coverage-report"
202     fi
203     AC_SUBST(lcov_output_directory)]
205 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
208 dnl ============================
209 dnl Checks for library functions
210 dnl ============================
211 dnl not used anywhere
212 AC_FUNC_MEMCMP
213 AC_FUNC_VPRINTF
214 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
215                setsid mallinfo mkstemp sysconf)
217 dnl Check for strlcat/strlcpy
218 dnl =========================
219 AC_ARG_WITH([libbsd],
220   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
221   [AS_IF([test "x$with_libbsd" != "xno"],
222     [with_libbsd=bsd]
223     [with_libbsd=]
224   )],
225   [with_libbsd=bsd])
227 tmp_libs=$LIBS
228 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
229   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
230   [],
231   []
233 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
234   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
235   [],
236   []
238 LIBS=$tmp_libs
240 LIBBSD=
241 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
242   [LIBBSD=-lbsd
243    AC_CHECK_HEADERS([bsd/string.h])]
245 AC_SUBST(LIBBSD)
247 dnl Check for OpenBSD kernel memory interface - kvm(3)
248 dnl ==================================================
249 AS_IF([test "x$WM_OSDEP" = "xbsd"],
250   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
252 dnl Check for inotify
253 dnl =================
254 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
257 dnl Checks for header files.
258 dnl =======================
259 AC_HEADER_SYS_WAIT
260 AC_HEADER_TIME
261 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
262                  string.h strings.h)
265 dnl Checks for typedefs, structures, and compiler characteristics.
266 dnl ==============================================================
267 AC_DECL_SYS_SIGLIST
268 AC_C_CONST
269 AC_C_INLINE
270 WM_C_NORETURN
271 AC_TYPE_SIZE_T
272 AC_TYPE_PID_T
273 AC_TYPE_SIGNAL
276 dnl pkg-config
277 dnl ==========
278 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
279 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
281 dnl gettext
282 dnl =======
284 dnl AM_GNU_GETTEXT
286 INTLIBS=""
288 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
289         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
290                          INTLIBS="" ))
292 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
294 if test "$XGETTEXT" != ""; then 
295     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
296         echo "xgettext isn't GNU version"
297         XGETTEXT=""
298     fi
301 if test "$LINGUAS" != ""; then
302     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
303         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
304         PO=""
305         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
306     else
307         LINGUAS=""
308         PO=""
309         echo "xgettext and libintl.a don't both exist; will not build i18n support"
310     fi
311 else
312         INTLIBS=""
313         MOFILES=""
314         WPMOFILES=""
315         UTILMOFILES=""
316         PO=""
320 dnl The Tower of Babel
321 dnl ==================
323 dnl List of supported locales
324 dnl =========================
325 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"
326 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
327 supported_wings_locales="bg ca cs de fr sk"
328 supported_util_locales="de es fr pt"
330 for lang in $LINGUAS; do
331         ok=0
332         for l in $supported_locales; do
333                 if test "$l" = "$lang"; then
334                         ok=1
335                         break
336                 fi
337         done
338         if test "$ok" = 1; then
339                 MOFILES="$MOFILES $lang.mo"
340         else
341                 echo "Locale $lang is not supported."
342         fi
343         ok=0
344         for l in $supported_wprefs_locales; do
345                 if test "$l" = "$lang"; then
346                         ok=1
347                         break
348                 fi
349         done
350         if test "$ok" = 1; then
351                 WPMOFILES="$WPMOFILES $lang.mo"
352         fi
353         ok=0
354         for l in $supported_util_locales; do
355                 if test "$l" = "$lang"; then
356                         ok=1
357                         break
358                 fi
359         done
360         if test "$ok" = 1; then
361                 UTILMOFILES="$UTILMOFILES $lang.mo"
362         fi
363         ok=0
364         for l in $supported_wings_locales; do
365                 if test "$l" = "$lang"; then
366                         ok=1
367                         break
368                 fi
369         done
370         if test "$ok" = 1; then
371                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
372         fi
373 done
376 dnl Added by Oliver - Support for NLSDIR option
377 dnl ===========================================
378 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
380 if test "x$NLSDIR" = "x"; then
381         if test "x$with_nlsdir" != "x"; then
382                 NLSDIR=$with_nlsdir
383         else
384                 NLSDIR='$(prefix)/lib/locale'
385         fi
388 menutextdomain=
389 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
390         [if test "x$withval" != "xno"; then
391          menutextdomain=$withval
392          fi])
393 AC_SUBST(menutextdomain)
395 AC_SUBST(INTLIBS)
396 AC_SUBST(NLSDIR)
397 AC_SUBST(MOFILES)
398 AC_SUBST(WPMOFILES)
399 AC_SUBST(UTILMOFILES)
400 AC_SUBST(WINGSMOFILES)
401 AC_SUBST(supported_locales)
403 dnl ===========================================
404 dnl             Stuff that uses X
405 dnl ===========================================
407 AC_PATH_XTRA
409 if test $no_x; then
410     AC_MSG_ERROR([The path for the X11 files not found!
411 Make sure you have X and it's headers and libraries (the -devel packages
412 in Linux) installed.])
415 X_LIBRARY_PATH=$x_libraries
416 XCFLAGS="$X_CFLAGS"
417 XLFLAGS="$X_LIBS"
418 XLIBS="-lX11 $X_EXTRA_LIBS"
419 LIBXMU="-lXmu"
420 AC_SUBST(LIBXMU)
422 lib_search_path="$lib_search_path $XLFLAGS"
423 inc_search_path="$inc_search_path $XCFLAGS"
425 AC_SUBST(X_LIBRARY_PATH)
427 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
428 dnl by MANOME Tomonori 
429 dnl ===========================================
430 use_locale=yes
431 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
432               use_locale=no)
434 if test "$use_locale" = yes; then
435         AC_CHECK_LIB(X11, _Xsetlocale,
436                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
437                 $XLFLAGS $XLIBS)
440 dnl Check whether XInternAtoms() exist
441 dnl ==================================
442 AC_CHECK_LIB(X11, XInternAtoms, 
443              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
444              $XLFLAGS $XLIBS)
446 dnl Check whether XConvertCase() exist
447 dnl ==================================
448 AC_CHECK_LIB(X11, XConvertCase, 
449              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
450              $XLFLAGS $XLIBS)
452 dnl XKB keyboard language status
453 dnl ============================
454 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
455                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
457 dnl Shape support
458 dnl =============
459 shape=yes
460 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
461                 shape=$enableval, shape=yes)
462 added_xext=no
464 if test "$shape" = yes; then
465         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
466                 added_xext=yes
467                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
468                 shape=no, $XLFLAGS $XLIBS)
471 dnl XRandR support
472 dnl ==============
473 xrandr=no
474 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
475                 xrandr=$enableval, xrandr=no)
476 added_xext=no
478 LIBXRANDR=
479 if test "$xrandr" = yes; then
480         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
481                 added_xext=yes
482                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
483                 xrandr=no, $XLFLAGS $XLIBS)
485 AC_SUBST(LIBXRANDR)
488 dnl libWINGS uses math functions, check whether usage requires linking
489 dnl against libm
491 WM_CHECK_LIBM
494 dnl libWINGS uses FcPatternDel from libfontconfig
496 AC_MSG_CHECKING([for fontconfig library])
497 FCLIBS=`$PKGCONFIG fontconfig --libs`
498 if test "x$FCLIBS" = "x" ; then
499         AC_MSG_RESULT([not found])
500 else
501         AC_MSG_RESULT([found])
503 AC_SUBST(FCLIBS)
506 dnl Xft2 antialiased font support
507 dnl =============================
509 xft=yes
510 XFTLIBS=""
512 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
513         XFTCONFIG="$PKGCONFIG xft"
514         pkgconfig_xft=yes
515 else
516         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
519 AC_MSG_CHECKING([for the Xft2 library])
521 if test "x$XFTCONFIG" != x; then
522         XFTLIBS=`$XFTCONFIG --libs`
523         XFTFLAGS=`$XFTCONFIG --cflags`
524         AC_MSG_RESULT([found])
525 else
526         AC_MSG_RESULT([not found])
527         echo
528         echo "ERROR!!! libXft2 is not installed or could not be found."
529         echo "         Xft2 is a requirement for building Window Maker."
530         echo "         Please install it (along with fontconfig) before continuing."
531         echo
532         exit 1
535 minXFT="2.1.0"
536 goodxft="no"
539 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
541 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
543 if test "$goodxft" = no; then
544         echo
545         echo "ERROR!!! libXft on this system is an old version."
546         echo "         Please consider upgrading to at least version ${minXFT}."
547         echo
548         exit 1
551 AC_SUBST(XFTFLAGS)
552 AC_SUBST(XFTLIBS)
555 dnl XINERAMA support
556 dnl ================
557 xinerama=no
558 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
559                 xinerama=$enableval, xinerama=no)
561 LIBXINERAMA=
562 if test "$xinerama" = yes; then
563         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
564                 [LIBXINERAMA=-lXinerama
565                 xfxine=yes],
566                 xfxine=no, $XLFLAGS $XLIBS)
568         AC_CHECK_LIB(Xext, XineramaGetInfo,
569                 [sunxine=yes
570                 ], sunxine=no, $XLFLAGS $XLIBS)
572         if test "$xfxine" = yes; then
573                 xine=1
574         fi
576         if test "$sunxine" = yes; then
577             xine=1
578             AC_DEFINE(SOLARIS_XINERAMA, 1, 
579                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
580         fi
582         if test "$xine" = 1; then
583             AC_DEFINE(XINERAMA, 1, 
584                 [define if you want support for the XINERAMA extension (set by configure)])
585         fi
587 AC_SUBST(LIBXINERAMA)
590 dnl MIT-SHM support
591 dnl ===============
592 shm=yes
593 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
594                 shm=$enableval, shm=yes)
596 if test "$shm" = yes; then
597         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
599         if test "$ok" = yes; then
600         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
601         fi
603         if test "$ok" = yes; then
604                 if test "$added_xext" = no; then
605                         XLIBS="-lXext $XLIBS"
606                 fi
607                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
608         fi
612 dnl R6 Style Session Management Support
613 dnl ===================================
617 #AC_DEFINE(R6SM)
618 #AC_SUBST(XSMPLIBS)
622 dnl ==============================================
623 dnl         Graphic Format Libraries
624 dnl ==============================================
626 dnl XPM Support
627 dnl ===========
628 xpm=yes
629 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
630         xpm=$enableval, xpm=yes)
632 if test "$xpm" = yes; then
633     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
635     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
636         WM_CHECK_HEADER(X11/xpm.h)
637         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
638                 GFXLIBS="$GFXLIBS -lXpm"
639                 supported_gfx="XPM"
640                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
641         else
642                 supported_gfx="builtin-XPM"
643         fi
644     fi
647 # for wmlib
648 AC_SUBST(XCFLAGS)
649 # for test
650 AC_SUBST(XLFLAGS)
651 AC_SUBST(XLIBS)
652 AC_SUBST(X_EXTRA_LIBS)
654 dnl ===============================================
655 dnl             End of stuff that uses X
656 dnl ===============================================
658 dnl PNG Support
659 dnl ===========
660 png=yes
661 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
662         png=$enableval, png=yes, png=no)
664 if test "$png" = yes ; then
665     my_libname=""
666     WM_CHECK_LIB(png, png_get_valid, [-lm])
667     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
668         my_libname="-lpng"
669     fi
671 dnl Retry with zlib
673     if test "x$my_libname" = x; then
674         unset ac_cv_lib_png_png_get_valid
675         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
676         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
677             my_libname="-lpng -lz"
678         fi
679     fi
681     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
682         WM_CHECK_HEADER(png.h)
683         if test "x$ac_cv_header_png_h" = xyes; then
684             GFXLIBS="$GFXLIBS $my_libname"
685             supported_gfx="$supported_gfx PNG"
686             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
687         fi
688     fi
692 dnl JPEG Support
693 dnl ============
694 jpeg=yes
695 ljpeg=""
696 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
697         jpeg=$enableval, jpeg=yes, jpeg=no)
699 if test "$jpeg" = yes; then
700     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
702     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
704         ljpeg="-ljpeg"
706         WM_CHECK_HEADER(jpeglib.h)
707         if test "x$ac_cv_header_jpeglib_h" = xyes; then
708             GFXLIBS="$GFXLIBS -ljpeg"
709             supported_gfx="$supported_gfx JPEG"
710             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
711         fi
712     fi
716 dnl GIF Support
717 dnl ============
718 AC_ARG_ENABLE(gif,
719     [AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif])],
720     [AS_CASE(["$enableval"],
721         [yes|no], [],
722         [AC_MSG_ERROR([bad value $enableval for --enable-gif])] )],
723     [enable_gif=auto])
724 WM_IMGFMT_CHECK_GIF
727 dnl TIFF Support
728 dnl ============
729 AC_ARG_ENABLE(tiff, 
730 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
731         tif=$enableval, tif=yes, tif=no)
734 # TIFF can optionally have JPEG and/or zlib support. Must find out
735 # when they are supported so that correct library flags are passed during
736 # detection and linkage
739 # By default use xpm icons if tiff is not found.
740 ICONEXT="xpm"
743 if test "$tif" = yes; then
744     my_libname=""
745     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
746     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
747         my_libname="-ltiff"
748     fi
750 dnl Retry with zlib
752     unset ac_cv_lib_tiff_TIFFGetVersion
753     if test "x$my_libname" = x; then
754         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
755         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
756             my_libname="-ltiff -lz"
757         fi
758     fi
760     if test "x$my_libname" = x; then
761         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
762         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
763             my_libname="-ltiff34"
764         fi
765     fi
768     if test "x$my_libname" != x; then
769         WM_CHECK_HEADER(tiffio.h)
770         if test "x$ac_cv_header_tiffio_h" = xyes; then
771             GFXLIBS="$my_libname $GFXLIBS"
772             ICONEXT="tiff"
773             supported_gfx="$supported_gfx TIFF"
774             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
775         fi
776     fi
779 LIBRARY_SEARCH_PATH="$lib_search_path"
780 HEADER_SEARCH_PATH="$inc_search_path"
782 AC_SUBST(LIBRARY_SEARCH_PATH)
783 AC_SUBST(HEADER_SEARCH_PATH)
786 AC_SUBST(GFXLIBS)
787 AC_SUBST(ICONEXT)
788 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
789 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
792 dnl ==============================================
793 dnl         End of Graphic Format Libraries
794 dnl ==============================================
798 dnl stdlib.h is checked here, because of conflict in jpeglib.h
799 AC_CHECK_HEADERS(stdlib.h)
801 # AC_PREFIX_PROGRAM(wmaker)
803 dnl Support for PIXMAPDIR option
804 dnl ============================
805 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
807 if test "x$with_pixmapdir" != "x"; then
808         pixmapdir=$with_pixmapdir
809 else
810         pixmapdir='${datadir}/pixmaps'
812 AC_SUBST(pixmapdir)
815 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
816 dnl ==============================================
818 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
820 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
821     appspath=$with_gnustepdir
824 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
825     wprefs_base_dir=${prefix}
826     wprefs_datadir="${datadir}/WPrefs"
827     wprefs_bindir="${bindir}"
828 else
829     gnustepdir=$appspath
831     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
832         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
833         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
834     fi
836     wprefs_base_dir=$gnustepdir/Applications
837     wprefs_datadir=$wprefs_base_dir/WPrefs.app
838     wprefs_bindir=$wprefs_base_dir/WPrefs.app
841 AC_SUBST(wprefs_datadir)
842 AC_SUBST(wprefs_bindir)
845 dnl Enable User Defined Menu thing
846 dnl ==============================
847 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
848 if test "$enableval" = yes; then
849         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
853 gl_LD_VERSION_SCRIPT
855 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
856         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
857         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
858         WINGs/Extras/Makefile WINGs/po/Makefile \
859         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
860         src/Makefile src/wconfig.h \
861         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
862         doc/ru/Makefile \
863         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
864         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
865         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
866         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
867         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
868         WPrefs.app/po/Makefile )
871 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
872 dnl ===================================================================
874 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
875 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
876 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
878 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
879 dnl parsed by m4
881 AC_SUBST(lib_search_path)
882 AC_SUBST(inc_search_path)
885 dnl Spit out the configuration
886 dnl ==========================
888 supported_gfx="$supported_gfx builtin-PPM"
890 if test "x$MOFILES" = "x"; then
891         mof=None
892 else
893         mof=`echo $MOFILES`
896 if test "x$MOFILES" = "x"; then
897         languages=None
898 else
899         languages=`echo $MOFILES | sed 's/.mo//g'`
902 echo
903 echo "Window Maker was configured as follows:"
904 echo
905 echo "Installation path prefix            : $prefix"
906 echo "Installation path for binaries      : $_bindir"
907 echo "Installation path for libraries     : $libdir"
908 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
909 echo "Supported graphic format libraries  : $supported_gfx"
910 echo "Unsupported features                :$unsupported"
911 echo "Antialiased text support in WINGs   : $xft"
912 echo "Xinerama extension support          : $xinerama"
913 echo "XRandR extension support            : $xrandr"
914 echo "Translated message files to install : $mof"
915 dnl echo "Supported languages beside English  : $languages"
916 if test "x$MOFILES" != "x"; then
917         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
919 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
920 echo
922 dnl WM_PRINT_REDCRAP_BUG_STATUS
924 if test "x$ac_cv_header_jpeglib_h" != xyes; then
925 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
926 echo
927 echo "JPEG support will not be included because the JPEG library is"
928 echo "not installed correctly or was not found. Background images"
929 echo "from themes will not display as they usually are JPEG files."
930 echo
931 echo "To fix, download and install the jpeg library and/or make sure you"
932 echo "installed all jpeg related packages, SPECIALLY the development packages"
933 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
934 echo
935 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
939 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
940 dnl ================================================
941 dnl Local Variables:
942 dnl compile-command: "autoconf"
943 dnl End: