WINGs: Changed equality comparison on floating point number
[wmaker-crm.git] / configure.ac
blob14190807131d69850565d2a9351b99af70fe5455
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.4, , 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 -Wno-unused-parameter)
93 dnl Platform-specific Makefile setup
94 dnl ================================
95 AS_CASE(["$host"],
96     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
97     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
98     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
99     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
100     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
101     [*-apple-darwin*],               [WM_OSDEP="darwin"],
102     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
103     [WM_OSDEP="stub"])
104 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
105 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
106 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
107 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
110 dnl the prefix
111 dnl ==========
113 dnl move this earlier in the script... anyone know why this is handled
114 dnl in such a bizarre way?
116 test "x$prefix" = xNONE && prefix=$ac_default_prefix
117 dnl Let make expand exec_prefix.
118 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
121 _bindir=`eval echo $bindir`
122 _bindir=`eval echo $_bindir`
124 lib_search_path='-L${libdir}'
126 inc_search_path='-I${includedir}'
128 dnl ===============================================
129 dnl Specify paths to look for libraries and headers
130 dnl ===============================================
131 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
132         [lib_search_path="$withval $lib_search_path"])
134 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
135         [inc_search_path="$withval $inc_search_path"])
138 dnl Boehm GC
139 dnl ========
140 with_boehm_gc=no
141 AC_ARG_ENABLE([boehm-gc],
142     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
143     [with_boehm_gc=$enableval])
145 AS_IF([test "x$with_boehm_gc" = "xyes"],
146     AC_SEARCH_LIBS([GC_malloc], [gc],
147         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
148         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
149         []
150     )
153 dnl LCOV
154 dnl ====
155 AC_ARG_ENABLE([lcov],
156     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
157     [],
158     [enable_lcov=no])
160 AS_IF([test "x$enable_lcov" != "xno"],
161     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
162     if test "x$enable_lcov" = "xyes"; then
163         lcov_output_directory="coverage-report"
164     else
165         lcov_output_directory="${enable_lcov}/coverage-report"
166     fi
167     AC_SUBST(lcov_output_directory)]
169 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
172 dnl ============================
173 dnl Checks for library functions
174 dnl ============================
175 dnl not used anywhere
176 AC_FUNC_MEMCMP
177 AC_FUNC_VPRINTF
178 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
179                setsid mallinfo mkstemp sysconf)
181 dnl Check for strlcat/strlcpy
182 dnl =========================
183 AC_ARG_WITH([libbsd],
184   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
185   [AS_IF([test "x$with_libbsd" != "xno"],
186     [with_libbsd=bsd]
187     [with_libbsd=]
188   )],
189   [with_libbsd=bsd])
191 tmp_libs=$LIBS
192 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
193   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
194   [],
195   []
197 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
198   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
199   [],
200   []
202 LIBS=$tmp_libs
204 LIBBSD=
205 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
206   [LIBBSD=-lbsd
207    AC_CHECK_HEADERS([bsd/string.h])]
209 AC_SUBST(LIBBSD)
211 dnl Check for OpenBSD kernel memory interface - kvm(3)
212 dnl ==================================================
213 AS_IF([test "x$WM_OSDEP" = "xbsd"],
214   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
216 dnl Check for inotify
217 dnl =================
218 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
221 dnl Checks for header files.
222 dnl =======================
223 AC_HEADER_SYS_WAIT
224 AC_HEADER_TIME
225 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
226                  string.h strings.h)
229 dnl Checks for typedefs, structures, and compiler characteristics.
230 dnl ==============================================================
231 AC_DECL_SYS_SIGLIST
232 AC_C_CONST
233 AC_C_INLINE
234 AC_TYPE_SIZE_T
235 AC_TYPE_PID_T
236 AC_TYPE_SIGNAL
239 dnl pkg-config
240 dnl ==========
241 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
242 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
244 dnl gettext
245 dnl =======
247 dnl AM_GNU_GETTEXT
249 INTLIBS=""
251 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
252         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
253                          INTLIBS="" ))
255 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
257 if test "$XGETTEXT" != ""; then 
258     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
259         echo "xgettext isn't GNU version"
260         XGETTEXT=""
261     fi
264 if test "$LINGUAS" != ""; then
265     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
266         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
267         PO=""
268         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
269     else
270         LINGUAS=""
271         PO=""
272         echo "xgettext and libintl.a don't both exist; will not build i18n support"
273     fi
274 else
275         INTLIBS=""
276         MOFILES=""
277         WPMOFILES=""
278         UTILMOFILES=""
279         PO=""
283 dnl The Tower of Babel
284 dnl ==================
286 dnl List of supported locales
287 dnl =========================
288 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"
289 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
290 supported_wings_locales="bg ca cs de fr sk"
291 supported_util_locales="de es fr pt"
293 for lang in $LINGUAS; do
294         ok=0
295         for l in $supported_locales; do
296                 if test "$l" = "$lang"; then
297                         ok=1
298                         break
299                 fi
300         done
301         if test "$ok" = 1; then
302                 MOFILES="$MOFILES $lang.mo"
303         else
304                 echo "Locale $lang is not supported."
305         fi
306         ok=0
307         for l in $supported_wprefs_locales; do
308                 if test "$l" = "$lang"; then
309                         ok=1
310                         break
311                 fi
312         done
313         if test "$ok" = 1; then
314                 WPMOFILES="$WPMOFILES $lang.mo"
315         fi
316         ok=0
317         for l in $supported_util_locales; do
318                 if test "$l" = "$lang"; then
319                         ok=1
320                         break
321                 fi
322         done
323         if test "$ok" = 1; then
324                 UTILMOFILES="$UTILMOFILES $lang.mo"
325         fi
326         ok=0
327         for l in $supported_wings_locales; do
328                 if test "$l" = "$lang"; then
329                         ok=1
330                         break
331                 fi
332         done
333         if test "$ok" = 1; then
334                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
335         fi
336 done
339 dnl Added by Oliver - Support for NLSDIR option
340 dnl ===========================================
341 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
343 if test "x$NLSDIR" = "x"; then
344         if test "x$with_nlsdir" != "x"; then
345                 NLSDIR=$with_nlsdir
346         else
347                 NLSDIR='$(prefix)/lib/locale'
348         fi
351 menutextdomain=
352 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
353         [if test "x$withval" != "xno"; then
354          menutextdomain=$withval
355          fi])
356 AC_SUBST(menutextdomain)
358 AC_SUBST(INTLIBS)
359 AC_SUBST(NLSDIR)
360 AC_SUBST(MOFILES)
361 AC_SUBST(WPMOFILES)
362 AC_SUBST(UTILMOFILES)
363 AC_SUBST(WINGSMOFILES)
364 AC_SUBST(supported_locales)
366 dnl ===========================================
367 dnl             Stuff that uses X
368 dnl ===========================================
370 AC_PATH_XTRA
372 if test $no_x; then
373     AC_MSG_ERROR([The path for the X11 files not found!
374 Make sure you have X and it's headers and libraries (the -devel packages
375 in Linux) installed.])
378 X_LIBRARY_PATH=$x_libraries
379 XCFLAGS="$X_CFLAGS"
380 XLFLAGS="$X_LIBS"
381 XLIBS="-lX11 $X_EXTRA_LIBS"
382 LIBXMU="-lXmu"
383 AC_SUBST(LIBXMU)
385 lib_search_path="$lib_search_path $XLFLAGS"
386 inc_search_path="$inc_search_path $XCFLAGS"
388 AC_SUBST(X_LIBRARY_PATH)
390 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
391 dnl by MANOME Tomonori 
392 dnl ===========================================
393 use_locale=yes
394 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
395               use_locale=no)
397 if test "$use_locale" = yes; then
398         AC_CHECK_LIB(X11, _Xsetlocale,
399                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
400                 $XLFLAGS $XLIBS)
403 dnl Check whether XInternAtoms() exist
404 dnl ==================================
405 AC_CHECK_LIB(X11, XInternAtoms, 
406              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
407              $XLFLAGS $XLIBS)
409 dnl Check whether XConvertCase() exist
410 dnl ==================================
411 AC_CHECK_LIB(X11, XConvertCase, 
412              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
413              $XLFLAGS $XLIBS)
415 dnl XKB keyboard language status
416 dnl ============================
417 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
418                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
420 dnl Shape support
421 dnl =============
422 shape=yes
423 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
424                 shape=$enableval, shape=yes)
425 added_xext=no
427 if test "$shape" = yes; then
428         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
429                 added_xext=yes
430                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
431                 shape=no, $XLFLAGS $XLIBS)
434 dnl XRandR support
435 dnl ==============
436 xrandr=no
437 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
438                 xrandr=$enableval, xrandr=no)
439 added_xext=no
441 LIBXRANDR=
442 if test "$xrandr" = yes; then
443         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
444                 added_xext=yes
445                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
446                 xrandr=no, $XLFLAGS $XLIBS)
448 AC_SUBST(LIBXRANDR)
451 dnl libWINGS uses math functions, check whether usage requires linking
452 dnl against libm
454 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
455 if test "x$mathneedslibm" = "xdunno" ; then
456         AC_CHECK_LIB(m, atan, [LIBM=-lm])
458 AC_SUBST(LIBM)
462 dnl libWINGS uses FcPatternDel from libfontconfig
464 AC_MSG_CHECKING([for fontconfig library])
465 FCLIBS=`$PKGCONFIG fontconfig --libs`
466 if test "x$FCLIBS" = "x" ; then
467         AC_MSG_RESULT([not found])
468 else
469         AC_MSG_RESULT([found])
471 AC_SUBST(FCLIBS)
474 dnl Xft2 antialiased font support
475 dnl =============================
477 xft=yes
478 XFTLIBS=""
480 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
481         XFTCONFIG="$PKGCONFIG xft"
482         pkgconfig_xft=yes
483 else
484         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
487 AC_MSG_CHECKING([for the Xft2 library])
489 if test "x$XFTCONFIG" != x; then
490         XFTLIBS=`$XFTCONFIG --libs`
491         XFTFLAGS=`$XFTCONFIG --cflags`
492         AC_MSG_RESULT([found])
493 else
494         AC_MSG_RESULT([not found])
495         echo
496         echo "ERROR!!! libXft2 is not installed or could not be found."
497         echo "         Xft2 is a requirement for building Window Maker."
498         echo "         Please install it (along with fontconfig) before continuing."
499         echo
500         exit 1
503 minXFT="2.1.0"
504 goodxft="no"
507 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
509 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
511 if test "$goodxft" = no; then
512         echo
513         echo "ERROR!!! libXft on this system is an old version."
514         echo "         Please consider upgrading to at least version ${minXFT}."
515         echo
516         exit 1
519 AC_SUBST(XFTFLAGS)
520 AC_SUBST(XFTLIBS)
523 dnl XINERAMA support
524 dnl ================
525 xinerama=no
526 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
527                 xinerama=$enableval, xinerama=no)
529 LIBXINERAMA=
530 if test "$xinerama" = yes; then
531         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
532                 [LIBXINERAMA=-lXinerama
533                 xfxine=yes],
534                 xfxine=no, $XLFLAGS $XLIBS)
536         AC_CHECK_LIB(Xext, XineramaGetInfo,
537                 [sunxine=yes
538                 ], sunxine=no, $XLFLAGS $XLIBS)
540         if test "$xfxine" = yes; then
541                 xine=1
542         fi
544         if test "$sunxine" = yes; then
545             xine=1
546             AC_DEFINE(SOLARIS_XINERAMA, 1, 
547                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
548         fi
550         if test "$xine" = 1; then
551             AC_DEFINE(XINERAMA, 1, 
552                 [define if you want support for the XINERAMA extension (set by configure)])
553         fi
555 AC_SUBST(LIBXINERAMA)
558 dnl MIT-SHM support
559 dnl ===============
560 shm=yes
561 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
562                 shm=$enableval, shm=yes)
564 if test "$shm" = yes; then
565         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
567         if test "$ok" = yes; then
568         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
569         fi
571         if test "$ok" = yes; then
572                 if test "$added_xext" = no; then
573                         XLIBS="-lXext $XLIBS"
574                 fi
575                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
576         fi
580 dnl R6 Style Session Management Support
581 dnl ===================================
585 #AC_DEFINE(R6SM)
586 #AC_SUBST(XSMPLIBS)
590 dnl ==============================================
591 dnl         Graphic Format Libraries
592 dnl ==============================================
594 dnl XPM Support
595 dnl ===========
596 xpm=yes
597 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
598         xpm=$enableval, xpm=yes)
600 if test "$xpm" = yes; then
601     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
603     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
604         WM_CHECK_HEADER(X11/xpm.h)
605         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
606                 GFXLIBS="$GFXLIBS -lXpm"
607                 supported_gfx="XPM"
608                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
609         else
610                 supported_gfx="builtin-XPM"
611         fi
612     fi
615 # for wmlib
616 AC_SUBST(XCFLAGS)
617 # for test
618 AC_SUBST(XLFLAGS)
619 AC_SUBST(XLIBS)
620 AC_SUBST(X_EXTRA_LIBS)
622 dnl ===============================================
623 dnl             End of stuff that uses X
624 dnl ===============================================
626 dnl PNG Support
627 dnl ===========
628 png=yes
629 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
630         png=$enableval, png=yes, png=no)
632 if test "$png" = yes ; then
633     my_libname=""
634     WM_CHECK_LIB(png, png_get_valid, [-lm])
635     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
636         my_libname="-lpng"
637     fi
639 dnl Retry with zlib
641     if test "x$my_libname" = x; then
642         unset ac_cv_lib_png_png_get_valid
643         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
644         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
645             my_libname="-lpng -lz"
646         fi
647     fi
649     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
650         WM_CHECK_HEADER(png.h)
651         if test "x$ac_cv_header_png_h" = xyes; then
652             GFXLIBS="$GFXLIBS $my_libname"
653             supported_gfx="$supported_gfx PNG"
654             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
655         fi
656     fi
660 dnl JPEG Support
661 dnl ============
662 jpeg=yes
663 ljpeg=""
664 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
665         jpeg=$enableval, jpeg=yes, jpeg=no)
667 if test "$jpeg" = yes; then
668     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
670     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
672         ljpeg="-ljpeg"
674         WM_CHECK_HEADER(jpeglib.h)
675         if test "x$ac_cv_header_jpeglib_h" = xyes; then
676             GFXLIBS="$GFXLIBS -ljpeg"
677             supported_gfx="$supported_gfx JPEG"
678             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
679         fi
680     fi
684 dnl GIF Support
685 dnl ============
686 gif=yes
687 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
688         gif=$enableval, gif=yes, gif=no)
690 if test "$gif" = yes; then
691     my_libname=""
692     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
693     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
694         my_libname=-lungif
695     fi
697 dnl libungif is the same thing as libgif for all practical purposes.
699     if test "x$my_libname" = x; then
700         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
701         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
702             my_libname=-lgif
703         fi
704     fi
706     if test "$my_libname" != x; then
707         WM_CHECK_HEADER(gif_lib.h)
708         if test "x$ac_cv_header_gif_lib_h" = xyes; then
709             GFXLIBS="$GFXLIBS $my_libname"
710             supported_gfx="$supported_gfx GIF"
711             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
712         fi
713     fi
718 dnl TIFF Support
719 dnl ============
720 AC_ARG_ENABLE(tiff, 
721 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
722         tif=$enableval, tif=yes, tif=no)
725 # TIFF can optionally have JPEG and/or zlib support. Must find out
726 # when they are supported so that correct library flags are passed during
727 # detection and linkage
730 # By default use xpm icons if tiff is not found.
731 ICONEXT="xpm"
734 if test "$tif" = yes; then
735     my_libname=""
736     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
737     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
738         my_libname="-ltiff"
739     fi
741 dnl Retry with zlib
743     unset ac_cv_lib_tiff_TIFFGetVersion
744     if test "x$my_libname" = x; then
745         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
746         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
747             my_libname="-ltiff -lz"
748         fi
749     fi
751     if test "x$my_libname" = x; then
752         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
753         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
754             my_libname="-ltiff34"
755         fi
756     fi
759     if test "x$my_libname" != x; then
760         WM_CHECK_HEADER(tiffio.h)
761         if test "x$ac_cv_header_tiffio_h" = xyes; then
762             GFXLIBS="$my_libname $GFXLIBS"
763             ICONEXT="tiff"
764             supported_gfx="$supported_gfx TIFF"
765             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
766         fi
767     fi
770 LIBRARY_SEARCH_PATH="$lib_search_path"
771 HEADER_SEARCH_PATH="$inc_search_path"
773 AC_SUBST(LIBRARY_SEARCH_PATH)
774 AC_SUBST(HEADER_SEARCH_PATH)
777 AC_SUBST(GFXLIBS)
778 AC_SUBST(ICONEXT)
781 dnl ==============================================
782 dnl         End of Graphic Format Libraries
783 dnl ==============================================
787 dnl stdlib.h is checked here, because of conflict in jpeglib.h
788 AC_CHECK_HEADERS(stdlib.h)
790 # AC_PREFIX_PROGRAM(wmaker)
792 dnl Support for PIXMAPDIR option
793 dnl ============================
794 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
796 if test "x$with_pixmapdir" != "x"; then
797         pixmapdir=$with_pixmapdir
798 else
799         pixmapdir='${datadir}/pixmaps'
801 AC_SUBST(pixmapdir)
804 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
805 dnl ==============================================
807 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
809 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
810     appspath=$with_gnustepdir
813 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
814     wprefs_base_dir=${prefix}
815     wprefs_datadir="${datadir}/WPrefs"
816     wprefs_bindir="${bindir}"
817 else
818     gnustepdir=$appspath
820     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
821         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
822         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
823     fi
825     wprefs_base_dir=$gnustepdir/Applications
826     wprefs_datadir=$wprefs_base_dir/WPrefs.app
827     wprefs_bindir=$wprefs_base_dir/WPrefs.app
830 AC_SUBST(wprefs_datadir)
831 AC_SUBST(wprefs_bindir)
834 dnl Enable User Defined Menu thing
835 dnl ==============================
836 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
837 if test "$enableval" = yes; then
838         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
842 gl_LD_VERSION_SCRIPT
844 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/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         wmlib/Makefile 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 AC_SUBST(lib_search_path)
871 AC_SUBST(inc_search_path)
874 dnl Spit out the configuration
875 dnl ==========================
877 supported_gfx="$supported_gfx builtin-PPM"
879 if test "x$MOFILES" = "x"; then
880         mof=None
881 else
882         mof=`echo $MOFILES`
885 if test "x$MOFILES" = "x"; then
886         languages=None
887 else
888         languages=`echo $MOFILES | sed 's/.mo//g'`
891 echo
892 echo "Window Maker was configured as follows:"
893 echo
894 echo "Installation path prefix            : $prefix"
895 echo "Installation path for binaries      : $_bindir"
896 echo "Installation path for libraries     : $libdir"
897 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
898 echo "Supported graphic format libraries  : $supported_gfx"
899 echo "Antialiased text support in WINGs   : $xft"
900 echo "Xinerama extension support          : $xinerama"
901 echo "XRandR extension support            : $xrandr"
902 echo "Translated message files to install : $mof"
903 dnl echo "Supported languages beside English  : $languages"
904 if test "x$MOFILES" != "x"; then
905         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
907 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
908 echo
910 dnl WM_PRINT_REDCRAP_BUG_STATUS
912 if test "x$ac_cv_header_jpeglib_h" != xyes; then
913 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
914 echo
915 echo "JPEG support will not be included because the JPEG library is"
916 echo "not installed correctly or was not found. Background images"
917 echo "from themes will not display as they usually are JPEG files."
918 echo
919 echo "To fix, download and install the jpeg library and/or make sure you"
920 echo "installed all jpeg related packages, SPECIALLY the development packages"
921 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
922 echo
923 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
927 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
928 dnl ================================================
929 dnl Local Variables:
930 dnl compile-command: "autoconf"
931 dnl End: