Changed formula for getting the number of elements in a static array
[wmaker-crm.git] / configure.ac
blob0e4e7bdf48b28fea2cfecb0457411eeb85de8535
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_TYPE_SIZE_T
234 AC_TYPE_PID_T
235 AC_TYPE_SIGNAL
238 dnl pkg-config
239 dnl ==========
240 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
241 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
243 dnl gettext
244 dnl =======
246 dnl AM_GNU_GETTEXT
248 INTLIBS=""
250 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
251         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
252                          INTLIBS="" ))
254 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
256 if test "$XGETTEXT" != ""; then 
257     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
258         echo "xgettext isn't GNU version"
259         XGETTEXT=""
260     fi
263 if test "$LINGUAS" != ""; then
264     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
265         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
266         PO=""
267         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
268     else
269         LINGUAS=""
270         PO=""
271         echo "xgettext and libintl.a don't both exist; will not build i18n support"
272     fi
273 else
274         INTLIBS=""
275         MOFILES=""
276         WPMOFILES=""
277         UTILMOFILES=""
278         PO=""
282 dnl The Tower of Babel
283 dnl ==================
285 dnl List of supported locales
286 dnl =========================
287 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"
288 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
289 supported_wings_locales="bg ca cs de fr sk"
290 supported_util_locales="de es fr pt"
292 for lang in $LINGUAS; do
293         ok=0
294         for l in $supported_locales; do
295                 if test "$l" = "$lang"; then
296                         ok=1
297                         break
298                 fi
299         done
300         if test "$ok" = 1; then
301                 MOFILES="$MOFILES $lang.mo"
302         else
303                 echo "Locale $lang is not supported."
304         fi
305         ok=0
306         for l in $supported_wprefs_locales; do
307                 if test "$l" = "$lang"; then
308                         ok=1
309                         break
310                 fi
311         done
312         if test "$ok" = 1; then
313                 WPMOFILES="$WPMOFILES $lang.mo"
314         fi
315         ok=0
316         for l in $supported_util_locales; do
317                 if test "$l" = "$lang"; then
318                         ok=1
319                         break
320                 fi
321         done
322         if test "$ok" = 1; then
323                 UTILMOFILES="$UTILMOFILES $lang.mo"
324         fi
325         ok=0
326         for l in $supported_wings_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
334         fi
335 done
338 dnl Added by Oliver - Support for NLSDIR option
339 dnl ===========================================
340 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
342 if test "x$NLSDIR" = "x"; then
343         if test "x$with_nlsdir" != "x"; then
344                 NLSDIR=$with_nlsdir
345         else
346                 NLSDIR='$(prefix)/lib/locale'
347         fi
350 menutextdomain=
351 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
352         [if test "x$withval" != "xno"; then
353          menutextdomain=$withval
354          fi])
355 AC_SUBST(menutextdomain)
357 AC_SUBST(INTLIBS)
358 AC_SUBST(NLSDIR)
359 AC_SUBST(MOFILES)
360 AC_SUBST(WPMOFILES)
361 AC_SUBST(UTILMOFILES)
362 AC_SUBST(WINGSMOFILES)
363 AC_SUBST(supported_locales)
365 dnl ===========================================
366 dnl             Stuff that uses X
367 dnl ===========================================
369 AC_PATH_XTRA
371 if test $no_x; then
372     AC_MSG_ERROR([The path for the X11 files not found!
373 Make sure you have X and it's headers and libraries (the -devel packages
374 in Linux) installed.])
377 X_LIBRARY_PATH=$x_libraries
378 XCFLAGS="$X_CFLAGS"
379 XLFLAGS="$X_LIBS"
380 XLIBS="-lX11 $X_EXTRA_LIBS"
381 LIBXMU="-lXmu"
382 AC_SUBST(LIBXMU)
384 lib_search_path="$lib_search_path $XLFLAGS"
385 inc_search_path="$inc_search_path $XCFLAGS"
387 AC_SUBST(X_LIBRARY_PATH)
389 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
390 dnl by MANOME Tomonori 
391 dnl ===========================================
392 use_locale=yes
393 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
394               use_locale=no)
396 if test "$use_locale" = yes; then
397         AC_CHECK_LIB(X11, _Xsetlocale,
398                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
399                 $XLFLAGS $XLIBS)
402 dnl Check whether XInternAtoms() exist
403 dnl ==================================
404 AC_CHECK_LIB(X11, XInternAtoms, 
405              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
406              $XLFLAGS $XLIBS)
408 dnl Check whether XConvertCase() exist
409 dnl ==================================
410 AC_CHECK_LIB(X11, XConvertCase, 
411              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
412              $XLFLAGS $XLIBS)
414 dnl XKB keyboard language status
415 dnl ============================
416 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
417                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
419 dnl Shape support
420 dnl =============
421 shape=yes
422 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
423                 shape=$enableval, shape=yes)
424 added_xext=no
426 if test "$shape" = yes; then
427         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
428                 added_xext=yes
429                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
430                 shape=no, $XLFLAGS $XLIBS)
433 dnl XRandR support
434 dnl ==============
435 xrandr=no
436 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
437                 xrandr=$enableval, xrandr=no)
438 added_xext=no
440 LIBXRANDR=
441 if test "$xrandr" = yes; then
442         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
443                 added_xext=yes
444                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
445                 xrandr=no, $XLFLAGS $XLIBS)
447 AC_SUBST(LIBXRANDR)
450 dnl libWINGS uses math functions, check whether usage requires linking
451 dnl against libm
453 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
454 if test "x$mathneedslibm" = "xdunno" ; then
455         AC_CHECK_LIB(m, atan, [LIBM=-lm])
457 AC_SUBST(LIBM)
461 dnl libWINGS uses FcPatternDel from libfontconfig
463 AC_MSG_CHECKING([for fontconfig library])
464 FCLIBS=`$PKGCONFIG fontconfig --libs`
465 if test "x$FCLIBS" = "x" ; then
466         AC_MSG_RESULT([not found])
467 else
468         AC_MSG_RESULT([found])
470 AC_SUBST(FCLIBS)
473 dnl Xft2 antialiased font support
474 dnl =============================
476 xft=yes
477 XFTLIBS=""
479 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
480         XFTCONFIG="$PKGCONFIG xft"
481         pkgconfig_xft=yes
482 else
483         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
486 AC_MSG_CHECKING([for the Xft2 library])
488 if test "x$XFTCONFIG" != x; then
489         XFTLIBS=`$XFTCONFIG --libs`
490         XFTFLAGS=`$XFTCONFIG --cflags`
491         AC_MSG_RESULT([found])
492 else
493         AC_MSG_RESULT([not found])
494         echo
495         echo "ERROR!!! libXft2 is not installed or could not be found."
496         echo "         Xft2 is a requirement for building Window Maker."
497         echo "         Please install it (along with fontconfig) before continuing."
498         echo
499         exit 1
502 minXFT="2.1.0"
503 goodxft="no"
506 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
508 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
510 if test "$goodxft" = no; then
511         echo
512         echo "ERROR!!! libXft on this system is an old version."
513         echo "         Please consider upgrading to at least version ${minXFT}."
514         echo
515         exit 1
518 AC_SUBST(XFTFLAGS)
519 AC_SUBST(XFTLIBS)
522 dnl XINERAMA support
523 dnl ================
524 xinerama=no
525 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
526                 xinerama=$enableval, xinerama=no)
528 LIBXINERAMA=
529 if test "$xinerama" = yes; then
530         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
531                 [LIBXINERAMA=-lXinerama
532                 xfxine=yes],
533                 xfxine=no, $XLFLAGS $XLIBS)
535         AC_CHECK_LIB(Xext, XineramaGetInfo,
536                 [sunxine=yes
537                 ], sunxine=no, $XLFLAGS $XLIBS)
539         if test "$xfxine" = yes; then
540                 xine=1
541         fi
543         if test "$sunxine" = yes; then
544             xine=1
545             AC_DEFINE(SOLARIS_XINERAMA, 1, 
546                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
547         fi
549         if test "$xine" = 1; then
550             AC_DEFINE(XINERAMA, 1, 
551                 [define if you want support for the XINERAMA extension (set by configure)])
552         fi
554 AC_SUBST(LIBXINERAMA)
557 dnl MIT-SHM support
558 dnl ===============
559 shm=yes
560 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
561                 shm=$enableval, shm=yes)
563 if test "$shm" = yes; then
564         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
566         if test "$ok" = yes; then
567         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
568         fi
570         if test "$ok" = yes; then
571                 if test "$added_xext" = no; then
572                         XLIBS="-lXext $XLIBS"
573                 fi
574                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
575         fi
579 dnl R6 Style Session Management Support
580 dnl ===================================
584 #AC_DEFINE(R6SM)
585 #AC_SUBST(XSMPLIBS)
589 dnl ==============================================
590 dnl         Graphic Format Libraries
591 dnl ==============================================
593 dnl XPM Support
594 dnl ===========
595 xpm=yes
596 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
597         xpm=$enableval, xpm=yes)
599 if test "$xpm" = yes; then
600     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
602     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
603         WM_CHECK_HEADER(X11/xpm.h)
604         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
605                 GFXLIBS="$GFXLIBS -lXpm"
606                 supported_gfx="XPM"
607                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
608         else
609                 supported_gfx="builtin-XPM"
610         fi
611     fi
614 # for wmlib
615 AC_SUBST(XCFLAGS)
616 # for test
617 AC_SUBST(XLFLAGS)
618 AC_SUBST(XLIBS)
619 AC_SUBST(X_EXTRA_LIBS)
621 dnl ===============================================
622 dnl             End of stuff that uses X
623 dnl ===============================================
625 dnl PNG Support
626 dnl ===========
627 png=yes
628 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
629         png=$enableval, png=yes, png=no)
631 if test "$png" = yes ; then
632     my_libname=""
633     WM_CHECK_LIB(png, png_get_valid, [-lm])
634     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
635         my_libname="-lpng"
636     fi
638 dnl Retry with zlib
640     if test "x$my_libname" = x; then
641         unset ac_cv_lib_png_png_get_valid
642         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
643         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
644             my_libname="-lpng -lz"
645         fi
646     fi
648     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
649         WM_CHECK_HEADER(png.h)
650         if test "x$ac_cv_header_png_h" = xyes; then
651             GFXLIBS="$GFXLIBS $my_libname"
652             supported_gfx="$supported_gfx PNG"
653             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
654         fi
655     fi
659 dnl JPEG Support
660 dnl ============
661 jpeg=yes
662 ljpeg=""
663 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
664         jpeg=$enableval, jpeg=yes, jpeg=no)
666 if test "$jpeg" = yes; then
667     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
669     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
671         ljpeg="-ljpeg"
673         WM_CHECK_HEADER(jpeglib.h)
674         if test "x$ac_cv_header_jpeglib_h" = xyes; then
675             GFXLIBS="$GFXLIBS -ljpeg"
676             supported_gfx="$supported_gfx JPEG"
677             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
678         fi
679     fi
683 dnl GIF Support
684 dnl ============
685 gif=yes
686 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
687         gif=$enableval, gif=yes, gif=no)
689 if test "$gif" = yes; then
690     my_libname=""
691     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
692     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
693         my_libname=-lungif
694     fi
696 dnl libungif is the same thing as libgif for all practical purposes.
698     if test "x$my_libname" = x; then
699         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
700         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
701             my_libname=-lgif
702         fi
703     fi
705     if test "$my_libname" != x; then
706         WM_CHECK_HEADER(gif_lib.h)
707         if test "x$ac_cv_header_gif_lib_h" = xyes; then
708             GFXLIBS="$GFXLIBS $my_libname"
709             supported_gfx="$supported_gfx GIF"
710             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
711         fi
712     fi
717 dnl TIFF Support
718 dnl ============
719 AC_ARG_ENABLE(tiff, 
720 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
721         tif=$enableval, tif=yes, tif=no)
724 # TIFF can optionally have JPEG and/or zlib support. Must find out
725 # when they are supported so that correct library flags are passed during
726 # detection and linkage
729 # By default use xpm icons if tiff is not found.
730 ICONEXT="xpm"
733 if test "$tif" = yes; then
734     my_libname=""
735     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
736     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
737         my_libname="-ltiff"
738     fi
740 dnl Retry with zlib
742     unset ac_cv_lib_tiff_TIFFGetVersion
743     if test "x$my_libname" = x; then
744         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
745         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
746             my_libname="-ltiff -lz"
747         fi
748     fi
750     if test "x$my_libname" = x; then
751         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
752         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
753             my_libname="-ltiff34"
754         fi
755     fi
758     if test "x$my_libname" != x; then
759         WM_CHECK_HEADER(tiffio.h)
760         if test "x$ac_cv_header_tiffio_h" = xyes; then
761             GFXLIBS="$my_libname $GFXLIBS"
762             ICONEXT="tiff"
763             supported_gfx="$supported_gfx TIFF"
764             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
765         fi
766     fi
769 LIBRARY_SEARCH_PATH="$lib_search_path"
770 HEADER_SEARCH_PATH="$inc_search_path"
772 AC_SUBST(LIBRARY_SEARCH_PATH)
773 AC_SUBST(HEADER_SEARCH_PATH)
776 AC_SUBST(GFXLIBS)
777 AC_SUBST(ICONEXT)
780 dnl ==============================================
781 dnl         End of Graphic Format Libraries
782 dnl ==============================================
786 dnl stdlib.h is checked here, because of conflict in jpeglib.h
787 AC_CHECK_HEADERS(stdlib.h)
789 # AC_PREFIX_PROGRAM(wmaker)
791 dnl Support for PIXMAPDIR option
792 dnl ============================
793 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
795 if test "x$with_pixmapdir" != "x"; then
796         pixmapdir=$with_pixmapdir
797 else
798         pixmapdir='${datadir}/pixmaps'
800 AC_SUBST(pixmapdir)
803 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
804 dnl ==============================================
806 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
808 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
809     appspath=$with_gnustepdir
812 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
813     wprefs_base_dir=${prefix}
814     wprefs_datadir="${datadir}/WPrefs"
815     wprefs_bindir="${bindir}"
816 else
817     gnustepdir=$appspath
819     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
820         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
821         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
822     fi
824     wprefs_base_dir=$gnustepdir/Applications
825     wprefs_datadir=$wprefs_base_dir/WPrefs.app
826     wprefs_bindir=$wprefs_base_dir/WPrefs.app
829 AC_SUBST(wprefs_datadir)
830 AC_SUBST(wprefs_bindir)
833 dnl Enable User Defined Menu thing
834 dnl ==============================
835 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
836 if test "$enableval" = yes; then
837         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
841 gl_LD_VERSION_SCRIPT
843 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
844         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
845         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
846         WINGs/Extras/Makefile WINGs/po/Makefile \
847         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
848         src/Makefile src/wconfig.h \
849         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
850         doc/ru/Makefile \
851         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
852         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
853         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
854         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
855         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
856         WPrefs.app/po/Makefile )
859 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
860 dnl ===================================================================
862 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
863 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
864 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
866 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
867 dnl parsed by m4
869 AC_SUBST(lib_search_path)
870 AC_SUBST(inc_search_path)
873 dnl Spit out the configuration
874 dnl ==========================
876 supported_gfx="$supported_gfx builtin-PPM"
878 if test "x$MOFILES" = "x"; then
879         mof=None
880 else
881         mof=`echo $MOFILES`
884 if test "x$MOFILES" = "x"; then
885         languages=None
886 else
887         languages=`echo $MOFILES | sed 's/.mo//g'`
890 echo
891 echo "Window Maker was configured as follows:"
892 echo
893 echo "Installation path prefix            : $prefix"
894 echo "Installation path for binaries      : $_bindir"
895 echo "Installation path for libraries     : $libdir"
896 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
897 echo "Supported graphic format libraries  : $supported_gfx"
898 echo "Antialiased text support in WINGs   : $xft"
899 echo "Xinerama extension support          : $xinerama"
900 echo "XRandR extension support            : $xrandr"
901 echo "Translated message files to install : $mof"
902 dnl echo "Supported languages beside English  : $languages"
903 if test "x$MOFILES" != "x"; then
904         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
906 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
907 echo
909 dnl WM_PRINT_REDCRAP_BUG_STATUS
911 if test "x$ac_cv_header_jpeglib_h" != xyes; then
912 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
913 echo
914 echo "JPEG support will not be included because the JPEG library is"
915 echo "not installed correctly or was not found. Background images"
916 echo "from themes will not display as they usually are JPEG files."
917 echo
918 echo "To fix, download and install the jpeg library and/or make sure you"
919 echo "installed all jpeg related packages, SPECIALLY the development packages"
920 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
921 echo
922 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
926 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
927 dnl ================================================
928 dnl Local Variables:
929 dnl compile-command: "autoconf"
930 dnl End: