Configure: Changed OS dependant check to use Autoconf's macro
[wmaker-crm.git] / configure.ac
blob006c8fa5f6636fb3e8abe876f45824853fcee859
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 -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" ; CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"],
97     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
98     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CFLAGS="$CFLAGS -DNETBSD"],
99     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CFLAGS="$CFLAGS -DOPENBSD"],
100     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CFLAGS="$CFLAGS -DDRAGONFLYBSD"],
101     [*-apple-darwin*],               [WM_OSDEP="darwin"],
102     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
103     [WM_OSDEP="stub"])
104 AC_SUBST(WM_OSDEP)
107 dnl the prefix
108 dnl ==========
110 dnl move this earlier in the script... anyone know why this is handled
111 dnl in such a bizarre way?
113 test "x$prefix" = xNONE && prefix=$ac_default_prefix
114 dnl Let make expand exec_prefix.
115 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
118 _bindir=`eval echo $bindir`
119 _bindir=`eval echo $_bindir`
121 lib_search_path='-L${libdir}'
123 inc_search_path='-I${includedir}'
125 dnl ===============================================
126 dnl Specify paths to look for libraries and headers
127 dnl ===============================================
128 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
129         [lib_search_path="$withval $lib_search_path"])
131 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
132         [inc_search_path="$withval $inc_search_path"])
135 dnl Boehm GC
136 dnl ========
137 with_boehm_gc=no
138 AC_ARG_ENABLE([boehm-gc],
139     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
140     [with_boehm_gc=$enableval])
142 AS_IF([test "x$with_boehm_gc" = "xyes"],
143     AC_SEARCH_LIBS([GC_malloc], [gc],
144         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
145         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
146         []
147     )
150 dnl LCOV
151 dnl ====
152 AC_ARG_ENABLE([lcov],
153     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
154     [],
155     [enable_lcov=no])
157 AS_IF([test "x$enable_lcov" != "xno"],
158     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
159     if test "x$enable_lcov" = "xyes"; then
160         lcov_output_directory="coverage-report"
161     else
162         lcov_output_directory="${enable_lcov}/coverage-report"
163     fi
164     AC_SUBST(lcov_output_directory)]
166 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
169 dnl ============================
170 dnl Checks for library functions
171 dnl ============================
172 dnl not used anywhere
173 AC_FUNC_MEMCMP
174 AC_FUNC_VPRINTF
175 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
176                setsid mallinfo mkstemp sysconf)
178 dnl Check for strlcat/strlcpy
179 dnl =========================
180 AC_ARG_WITH([libbsd],
181   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
182   [AS_IF([test "x$with_libbsd" != "xno"],
183     [with_libbsd=bsd]
184     [with_libbsd=]
185   )],
186   [with_libbsd=bsd])
188 tmp_libs=$LIBS
189 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
190   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
191   [],
192   []
194 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
195   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
196   [],
197   []
199 LIBS=$tmp_libs
201 LIBBSD=
202 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
203   [LIBBSD=-lbsd
204    AC_CHECK_HEADERS([bsd/string.h])]
206 AC_SUBST(LIBBSD)
208 dnl Check for OpenBSD kernel memory interface - kvm(3)
209 dnl ==================================================
210 AS_IF([test "x$WM_OSDEP" = "xbsd"],
211   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
213 dnl Check for inotify
214 dnl =================
215 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
218 dnl Checks for header files.
219 dnl =======================
220 AC_HEADER_SYS_WAIT
221 AC_HEADER_TIME
222 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
223                  string.h strings.h)
226 dnl Checks for typedefs, structures, and compiler characteristics.
227 dnl ==============================================================
228 AC_DECL_SYS_SIGLIST
229 AC_C_CONST
230 AC_TYPE_SIZE_T
231 AC_TYPE_PID_T
232 AC_TYPE_SIGNAL
235 dnl pkg-config
236 dnl ==========
237 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
238 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
240 dnl gettext
241 dnl =======
243 dnl AM_GNU_GETTEXT
245 INTLIBS=""
247 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
248         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
249                          INTLIBS="" ))
251 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
253 if test "$XGETTEXT" != ""; then 
254     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
255         echo "xgettext isn't GNU version"
256         XGETTEXT=""
257     fi
260 if test "$LINGUAS" != ""; then
261     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
262         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
263         PO=""
264         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
265     else
266         LINGUAS=""
267         PO=""
268         echo "xgettext and libintl.a don't both exist; will not build i18n support"
269     fi
270 else
271         INTLIBS=""
272         MOFILES=""
273         WPMOFILES=""
274         UTILMOFILES=""
275         PO=""
279 dnl The Tower of Babel
280 dnl ==================
282 dnl List of supported locales
283 dnl =========================
284 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"
285 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
286 supported_wings_locales="bg ca cs de fr sk"
287 supported_util_locales="de es fr pt"
289 for lang in $LINGUAS; do
290         ok=0
291         for l in $supported_locales; do
292                 if test "$l" = "$lang"; then
293                         ok=1
294                         break
295                 fi
296         done
297         if test "$ok" = 1; then
298                 MOFILES="$MOFILES $lang.mo"
299         else
300                 echo "Locale $lang is not supported."
301         fi
302         ok=0
303         for l in $supported_wprefs_locales; do
304                 if test "$l" = "$lang"; then
305                         ok=1
306                         break
307                 fi
308         done
309         if test "$ok" = 1; then
310                 WPMOFILES="$WPMOFILES $lang.mo"
311         fi
312         ok=0
313         for l in $supported_util_locales; do
314                 if test "$l" = "$lang"; then
315                         ok=1
316                         break
317                 fi
318         done
319         if test "$ok" = 1; then
320                 UTILMOFILES="$UTILMOFILES $lang.mo"
321         fi
322         ok=0
323         for l in $supported_wings_locales; do
324                 if test "$l" = "$lang"; then
325                         ok=1
326                         break
327                 fi
328         done
329         if test "$ok" = 1; then
330                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
331         fi
332 done
335 dnl Added by Oliver - Support for NLSDIR option
336 dnl ===========================================
337 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
339 if test "x$NLSDIR" = "x"; then
340         if test "x$with_nlsdir" != "x"; then
341                 NLSDIR=$with_nlsdir
342         else
343                 NLSDIR='$(prefix)/lib/locale'
344         fi
347 menutextdomain=
348 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
349         [if test "x$withval" != "xno"; then
350          menutextdomain=$withval
351          fi])
352 AC_SUBST(menutextdomain)
354 AC_SUBST(INTLIBS)
355 AC_SUBST(NLSDIR)
356 AC_SUBST(MOFILES)
357 AC_SUBST(WPMOFILES)
358 AC_SUBST(UTILMOFILES)
359 AC_SUBST(WINGSMOFILES)
360 AC_SUBST(supported_locales)
362 dnl ===========================================
363 dnl             Stuff that uses X
364 dnl ===========================================
366 AC_PATH_XTRA
368 if test $no_x; then
369     AC_MSG_ERROR([The path for the X11 files not found!
370 Make sure you have X and it's headers and libraries (the -devel packages
371 in Linux) installed.])
374 X_LIBRARY_PATH=$x_libraries
375 XCFLAGS="$X_CFLAGS"
376 XLFLAGS="$X_LIBS"
377 XLIBS="-lX11 $X_EXTRA_LIBS"
378 LIBXMU="-lXmu"
379 AC_SUBST(LIBXMU)
381 lib_search_path="$lib_search_path $XLFLAGS"
382 inc_search_path="$inc_search_path $XCFLAGS"
384 AC_SUBST(X_LIBRARY_PATH)
386 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
387 dnl by MANOME Tomonori 
388 dnl ===========================================
389 use_locale=yes
390 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
391               use_locale=no)
393 if test "$use_locale" = yes; then
394         AC_CHECK_LIB(X11, _Xsetlocale,
395                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
396                 $XLFLAGS $XLIBS)
399 dnl Check whether XInternAtoms() exist
400 dnl ==================================
401 AC_CHECK_LIB(X11, XInternAtoms, 
402              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
403              $XLFLAGS $XLIBS)
405 dnl Check whether XConvertCase() exist
406 dnl ==================================
407 AC_CHECK_LIB(X11, XConvertCase, 
408              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
409              $XLFLAGS $XLIBS)
411 dnl XKB keyboard language status
412 dnl ============================
413 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
414                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
416 dnl Shape support
417 dnl =============
418 shape=yes
419 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
420                 shape=$enableval, shape=yes)
421 added_xext=no
423 if test "$shape" = yes; then
424         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
425                 added_xext=yes
426                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
427                 shape=no, $XLFLAGS $XLIBS)
430 dnl XRandR support
431 dnl ==============
432 xrandr=no
433 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
434                 xrandr=$enableval, xrandr=no)
435 added_xext=no
437 LIBXRANDR=
438 if test "$xrandr" = yes; then
439         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
440                 added_xext=yes
441                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
442                 xrandr=no, $XLFLAGS $XLIBS)
444 AC_SUBST(LIBXRANDR)
447 dnl libWINGS uses math functions, check whether usage requires linking
448 dnl against libm
450 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
451 if test "x$mathneedslibm" = "xdunno" ; then
452         AC_CHECK_LIB(m, atan, [LIBM=-lm])
454 AC_SUBST(LIBM)
458 dnl libWINGS uses FcPatternDel from libfontconfig
460 AC_MSG_CHECKING([for fontconfig library])
461 FCLIBS=`$PKGCONFIG fontconfig --libs`
462 if test "x$FCLIBS" = "x" ; then
463         AC_MSG_RESULT([not found])
464 else
465         AC_MSG_RESULT([found])
467 AC_SUBST(FCLIBS)
470 dnl Xft2 antialiased font support
471 dnl =============================
473 xft=yes
474 XFTLIBS=""
476 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
477         XFTCONFIG="$PKGCONFIG xft"
478         pkgconfig_xft=yes
479 else
480         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
483 AC_MSG_CHECKING([for the Xft2 library])
485 if test "x$XFTCONFIG" != x; then
486         XFTLIBS=`$XFTCONFIG --libs`
487         XFTFLAGS=`$XFTCONFIG --cflags`
488         AC_MSG_RESULT([found])
489 else
490         AC_MSG_RESULT([not found])
491         echo
492         echo "ERROR!!! libXft2 is not installed or could not be found."
493         echo "         Xft2 is a requirement for building Window Maker."
494         echo "         Please install it (along with fontconfig) before continuing."
495         echo
496         exit 1
499 minXFT="2.1.0"
500 goodxft="no"
503 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
505 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
507 if test "$goodxft" = no; then
508         echo
509         echo "ERROR!!! libXft on this system is an old version."
510         echo "         Please consider upgrading to at least version ${minXFT}."
511         echo
512         exit 1
515 AC_SUBST(XFTFLAGS)
516 AC_SUBST(XFTLIBS)
519 dnl XINERAMA support
520 dnl ================
521 xinerama=no
522 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
523                 xinerama=$enableval, xinerama=no)
525 LIBXINERAMA=
526 if test "$xinerama" = yes; then
527         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
528                 [LIBXINERAMA=-lXinerama
529                 xfxine=yes],
530                 xfxine=no, $XLFLAGS $XLIBS)
532         AC_CHECK_LIB(Xext, XineramaGetInfo,
533                 [sunxine=yes
534                 ], sunxine=no, $XLFLAGS $XLIBS)
536         if test "$xfxine" = yes; then
537                 xine=1
538         fi
540         if test "$sunxine" = yes; then
541             xine=1
542             AC_DEFINE(SOLARIS_XINERAMA, 1, 
543                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
544         fi
546         if test "$xine" = 1; then
547             AC_DEFINE(XINERAMA, 1, 
548                 [define if you want support for the XINERAMA extension (set by configure)])
549         fi
551 AC_SUBST(LIBXINERAMA)
554 dnl MIT-SHM support
555 dnl ===============
556 shm=yes
557 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
558                 shm=$enableval, shm=yes)
560 if test "$shm" = yes; then
561         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
563         if test "$ok" = yes; then
564         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
565         fi
567         if test "$ok" = yes; then
568                 if test "$added_xext" = no; then
569                         XLIBS="-lXext $XLIBS"
570                 fi
571                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
572         fi
576 dnl R6 Style Session Management Support
577 dnl ===================================
581 #AC_DEFINE(R6SM)
582 #AC_SUBST(XSMPLIBS)
586 dnl ==============================================
587 dnl         Graphic Format Libraries
588 dnl ==============================================
590 dnl XPM Support
591 dnl ===========
592 xpm=yes
593 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
594         xpm=$enableval, xpm=yes)
596 if test "$xpm" = yes; then
597     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
599     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
600         WM_CHECK_HEADER(X11/xpm.h)
601         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
602                 GFXLIBS="$GFXLIBS -lXpm"
603                 supported_gfx="XPM"
604                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
605         else
606                 supported_gfx="builtin-XPM"
607         fi
608     fi
611 # for wmlib
612 AC_SUBST(XCFLAGS)
613 # for test
614 AC_SUBST(XLFLAGS)
615 AC_SUBST(XLIBS)
616 AC_SUBST(X_EXTRA_LIBS)
618 dnl ===============================================
619 dnl             End of stuff that uses X
620 dnl ===============================================
622 dnl PNG Support
623 dnl ===========
624 png=yes
625 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
626         png=$enableval, png=yes, png=no)
628 if test "$png" = yes ; then
629     my_libname=""
630     WM_CHECK_LIB(png, png_get_valid, [-lm])
631     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
632         my_libname="-lpng"
633     fi
635 dnl Retry with zlib
637     if test "x$my_libname" = x; then
638         unset ac_cv_lib_png_png_get_valid
639         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
640         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
641             my_libname="-lpng -lz"
642         fi
643     fi
645     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
646         WM_CHECK_HEADER(png.h)
647         if test "x$ac_cv_header_png_h" = xyes; then
648             GFXLIBS="$GFXLIBS $my_libname"
649             supported_gfx="$supported_gfx PNG"
650             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
651         fi
652     fi
656 dnl JPEG Support
657 dnl ============
658 jpeg=yes
659 ljpeg=""
660 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
661         jpeg=$enableval, jpeg=yes, jpeg=no)
663 if test "$jpeg" = yes; then
664     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
666     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
668         ljpeg="-ljpeg"
670         WM_CHECK_HEADER(jpeglib.h)
671         if test "x$ac_cv_header_jpeglib_h" = xyes; then
672             GFXLIBS="$GFXLIBS -ljpeg"
673             supported_gfx="$supported_gfx JPEG"
674             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
675         fi
676     fi
680 dnl GIF Support
681 dnl ============
682 gif=yes
683 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
684         gif=$enableval, gif=yes, gif=no)
686 if test "$gif" = yes; then
687     my_libname=""
688     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
689     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
690         my_libname=-lungif
691     fi
693 dnl libungif is the same thing as libgif for all practical purposes.
695     if test "x$my_libname" = x; then
696         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
697         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
698             my_libname=-lgif
699         fi
700     fi
702     if test "$my_libname" != x; then
703         WM_CHECK_HEADER(gif_lib.h)
704         if test "x$ac_cv_header_gif_lib_h" = xyes; then
705             GFXLIBS="$GFXLIBS $my_libname"
706             supported_gfx="$supported_gfx GIF"
707             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
708         fi
709     fi
714 dnl TIFF Support
715 dnl ============
716 AC_ARG_ENABLE(tiff, 
717 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
718         tif=$enableval, tif=yes, tif=no)
721 # TIFF can optionally have JPEG and/or zlib support. Must find out
722 # when they are supported so that correct library flags are passed during
723 # detection and linkage
726 # By default use xpm icons if tiff is not found.
727 ICONEXT="xpm"
730 if test "$tif" = yes; then
731     my_libname=""
732     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
733     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
734         my_libname="-ltiff"
735     fi
737 dnl Retry with zlib
739     unset ac_cv_lib_tiff_TIFFGetVersion
740     if test "x$my_libname" = x; then
741         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
742         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
743             my_libname="-ltiff -lz"
744         fi
745     fi
747     if test "x$my_libname" = x; then
748         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
749         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
750             my_libname="-ltiff34"
751         fi
752     fi
755     if test "x$my_libname" != x; then
756         WM_CHECK_HEADER(tiffio.h)
757         if test "x$ac_cv_header_tiffio_h" = xyes; then
758             GFXLIBS="$my_libname $GFXLIBS"
759             ICONEXT="tiff"
760             supported_gfx="$supported_gfx TIFF"
761             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
762         fi
763     fi
766 LIBRARY_SEARCH_PATH="$lib_search_path"
767 HEADER_SEARCH_PATH="$inc_search_path"
769 AC_SUBST(LIBRARY_SEARCH_PATH)
770 AC_SUBST(HEADER_SEARCH_PATH)
773 AC_SUBST(GFXLIBS)
774 AC_SUBST(ICONEXT)
777 dnl ==============================================
778 dnl         End of Graphic Format Libraries
779 dnl ==============================================
783 dnl stdlib.h is checked here, because of conflict in jpeglib.h
784 AC_CHECK_HEADERS(stdlib.h)
786 # AC_PREFIX_PROGRAM(wmaker)
788 dnl Support for PIXMAPDIR option
789 dnl ============================
790 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
792 if test "x$with_pixmapdir" != "x"; then
793         pixmapdir=$with_pixmapdir
794 else
795         pixmapdir='${datadir}/pixmaps'
797 AC_SUBST(pixmapdir)
800 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
801 dnl ==============================================
803 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
805 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
806     appspath=$with_gnustepdir
809 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
810     wprefs_base_dir=${prefix}
811     wprefs_datadir="${datadir}/WPrefs"
812     wprefs_bindir="${bindir}"
813 else
814     gnustepdir=$appspath
816     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
817         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
818         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
819     fi
821     wprefs_base_dir=$gnustepdir/Applications
822     wprefs_datadir=$wprefs_base_dir/WPrefs.app
823     wprefs_bindir=$wprefs_base_dir/WPrefs.app
826 AC_SUBST(wprefs_datadir)
827 AC_SUBST(wprefs_bindir)
830 dnl Enable User Defined Menu thing
831 dnl ==============================
832 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
833 if test "$enableval" = yes; then
834         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
838 gl_LD_VERSION_SCRIPT
840 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
841         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
842         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
843         WINGs/Extras/Makefile WINGs/po/Makefile \
844         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
845         src/Makefile src/wconfig.h \
846         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
847         doc/ru/Makefile \
848         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
849         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
850         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
851         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
852         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
853         WPrefs.app/po/Makefile )
856 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
857 dnl ===================================================================
859 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
860 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
861 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
863 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
864 dnl parsed by m4
866 AC_SUBST(lib_search_path)
867 AC_SUBST(inc_search_path)
870 dnl Spit out the configuration
871 dnl ==========================
873 supported_gfx="$supported_gfx builtin-PPM"
875 if test "x$MOFILES" = "x"; then
876         mof=None
877 else
878         mof=`echo $MOFILES`
881 if test "x$MOFILES" = "x"; then
882         languages=None
883 else
884         languages=`echo $MOFILES | sed 's/.mo//g'`
887 echo
888 echo "Window Maker was configured as follows:"
889 echo
890 echo "Installation path prefix            : $prefix"
891 echo "Installation path for binaries      : $_bindir"
892 echo "Installation path for libraries     : $libdir"
893 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
894 echo "Supported graphic format libraries  : $supported_gfx"
895 echo "Antialiased text support in WINGs   : $xft"
896 echo "Xinerama extension support          : $xinerama"
897 echo "XRandR extension support            : $xrandr"
898 echo "Translated message files to install : $mof"
899 dnl echo "Supported languages beside English  : $languages"
900 if test "x$MOFILES" != "x"; then
901         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
903 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
904 echo
906 dnl WM_PRINT_REDCRAP_BUG_STATUS
908 if test "x$ac_cv_header_jpeglib_h" != xyes; then
909 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
910 echo
911 echo "JPEG support will not be included because the JPEG library is"
912 echo "not installed correctly or was not found. Background images"
913 echo "from themes will not display as they usually are JPEG files."
914 echo
915 echo "To fix, download and install the jpeg library and/or make sure you"
916 echo "installed all jpeg related packages, SPECIALLY the development packages"
917 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
918 echo
919 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
923 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
924 dnl ================================================
925 dnl Local Variables:
926 dnl compile-command: "autoconf"
927 dnl End: