Fix underlinking
[wmaker-crm.git] / configure.ac
blobd8acbebe240fdf400e3f5e715dc91d05b4fc3d2d
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=0
45 WRASTER_AGE=1
46 WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
47 AC_SUBST(WRASTER_VERSION)
48 dnl
49 dnl libWINGs
50 WINGS_CURRENT=2
51 WINGS_REVISION=1
52 WINGS_AGE=0
53 WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
54 AC_SUBST(WINGS_VERSION)
55 dnl
56 dnl libWUtil
57 WUTIL_CURRENT=2
58 WUTIL_REVISION=0
59 WUTIL_AGE=0
60 WUTIL_VERSION=$WUTIL_CURRENT:$WUTIL_REVISION:$WUTIL_AGE
61 AC_SUBST(WUTIL_VERSION)
64 dnl Checks for host/os name
65 dnl =======================
66 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
68 dnl Checks for programs.
69 dnl ===================
70 AC_ISC_POSIX
71 AC_PROG_CC
72 AC_PROG_LN_S
73 AC_PROG_GCC_TRADITIONAL
74 AC_PROG_LIBTOOL
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 ================================
96 case "${host}" in
97         *-*-linux*|*-*-cygwin*|*-gnu*)
98                 WM_OSDEP="linux"
99                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"
100         ;;
101         *-*-freebsd*|*-k*bsd-gnu*)
102                 WM_OSDEP="bsd"
103                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"
104         ;;
105         *-*-netbsd*)
106                 WM_OSDEP="bsd"
107                 CFLAGS="$CFLAGS -DNETBSD"
108         ;;
109         *-*-openbsd*)
110                 WM_OSDEP="bsd"
111                 CFLAGS="$CFLAGS -DOPENBSD"
112         ;;
113         *-*-dragonfly*)
114                 WM_OSDEP="bsd"
115                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
116         ;;
117         *-apple-darwin*)
118                 WM_OSDEP="darwin"
119         ;;
120         *-*-solaris*)
121                 WM_OSDEP="stub"         # solaris.c when done
122         ;;
123         *)
124                 WM_OSDEP="stub"
125         ;;
126 esac
127 AC_SUBST(WM_OSDEP)
130 dnl the prefix
131 dnl ==========
133 dnl move this earlier in the script... anyone know why this is handled
134 dnl in such a bizarre way?
136 test "x$prefix" = xNONE && prefix=$ac_default_prefix
137 dnl Let make expand exec_prefix.
138 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
141 _bindir=`eval echo $bindir`
142 _bindir=`eval echo $_bindir`
144 lib_search_path='-L${libdir}'
146 inc_search_path='-I${includedir}'
148 dnl ===============================================
149 dnl Specify paths to look for libraries and headers
150 dnl ===============================================
151 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
152         [lib_search_path="$withval $lib_search_path"])
154 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
155         [inc_search_path="$withval $inc_search_path"])
158 dnl Boehm GC
159 dnl ========
160 with_boehm_gc=no
161 AC_ARG_ENABLE([boehm-gc],
162     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
163     [with_boehm_gc=$enableval])
165 AS_IF([test "x$with_boehm_gc" = "xyes"],
166     AC_SEARCH_LIBS([GC_malloc], [gc],
167         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
168         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]
169     )
172 dnl LCOV
173 dnl ====
174 AC_ARG_ENABLE([lcov],
175     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
176     [],
177     [enable_lcov=no])
179 AS_IF([test "x$enable_lcov" != "xno"],
180     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
181     if test "x$enable_lcov" = "xyes"; then
182         lcov_output_directory="coverage-report"
183     else
184         lcov_output_directory="${enable_lcov}/coverage-report"
185     fi
186     AC_SUBST(lcov_output_directory)]
188 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
191 dnl ============================
192 dnl Checks for library functions
193 dnl ============================
194 dnl not used anywhere
195 AC_FUNC_MEMCMP
196 AC_FUNC_VPRINTF
197 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
198                setsid mallinfo mkstemp sysconf)
200 dnl Check for strlcat/strlcpy
201 dnl =========================
202 AC_ARG_WITH([libbsd],
203   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
204   [AS_IF([test "x$with_libbsd" != "xno"],
205     [with_libbsd=bsd]
206     [with_libbsd=]
207   )],
208   [with_libbsd=bsd])
210 tmp_libs=$LIBS
211 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
212   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
213   []
215 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
216   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
217   []
219 LIBS=$tmp_libs
221 LIBBSD=
222 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
223   [LIBBSD=-lbsd
224    AC_CHECK_HEADERS([bsd/string.h])]
226 AC_SUBST(LIBBSD)
228 dnl Check for inotify
229 dnl =================
230 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
233 dnl Checks for header files.
234 dnl =======================
235 AC_HEADER_SYS_WAIT
236 AC_HEADER_TIME
237 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
238                  string.h strings.h)
241 dnl Checks for typedefs, structures, and compiler characteristics.
242 dnl ==============================================================
243 AC_DECL_SYS_SIGLIST
244 AC_C_CONST
245 AC_TYPE_SIZE_T
246 AC_TYPE_PID_T
247 AC_TYPE_SIGNAL
250 dnl pkg-config
251 dnl ==========
252 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
253 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
255 dnl gettext
256 dnl =======
258 dnl AM_GNU_GETTEXT
260 INTLIBS=""
262 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
263         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
264                          INTLIBS="" ))
266 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
268 if test "$XGETTEXT" != ""; then 
269     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
270         echo "xgettext isn't GNU version"
271         XGETTEXT=""
272     fi
275 if test "$LINGUAS" != ""; then
276     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
277         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
278         PO=""
279         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
280     else
281         LINGUAS=""
282         PO=""
283         echo "xgettext and libintl.a don't both exist; will not build i18n support"
284     fi
285 else
286         INTLIBS=""
287         MOFILES=""
288         WPMOFILES=""
289         UTILMOFILES=""
290         PO=""
294 dnl The Tower of Babel
295 dnl ==================
297 dnl List of supported locales
298 dnl =========================
299 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"
300 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
301 supported_wings_locales="bg ca cs de fr sk"
302 supported_util_locales="de es fr pt"
304 for lang in $LINGUAS; do
305         ok=0
306         for l in $supported_locales; do
307                 if test "$l" = "$lang"; then
308                         ok=1
309                         break
310                 fi
311         done
312         if test "$ok" = 1; then
313                 MOFILES="$MOFILES $lang.mo"
314         else
315                 echo "Locale $lang is not supported."
316         fi
317         ok=0
318         for l in $supported_wprefs_locales; do
319                 if test "$l" = "$lang"; then
320                         ok=1
321                         break
322                 fi
323         done
324         if test "$ok" = 1; then
325                 WPMOFILES="$WPMOFILES $lang.mo"
326         fi
327         ok=0
328         for l in $supported_util_locales; do
329                 if test "$l" = "$lang"; then
330                         ok=1
331                         break
332                 fi
333         done
334         if test "$ok" = 1; then
335                 UTILMOFILES="$UTILMOFILES $lang.mo"
336         fi
337         ok=0
338         for l in $supported_wings_locales; do
339                 if test "$l" = "$lang"; then
340                         ok=1
341                         break
342                 fi
343         done
344         if test "$ok" = 1; then
345                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
346         fi
347 done
350 dnl Added by Oliver - Support for NLSDIR option
351 dnl ===========================================
352 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
354 if test "x$NLSDIR" = "x"; then
355         if test "x$with_nlsdir" != "x"; then
356                 NLSDIR=$with_nlsdir
357         else
358                 NLSDIR='$(prefix)/lib/locale'
359         fi
362 menutextdomain=
363 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
364         [if test "x$withval" != "xno"; then
365          menutextdomain=$withval
366          fi])
367 AC_SUBST(menutextdomain)
369 AC_SUBST(INTLIBS)
370 AC_SUBST(NLSDIR)
371 AC_SUBST(MOFILES)
372 AC_SUBST(WPMOFILES)
373 AC_SUBST(UTILMOFILES)
374 AC_SUBST(WINGSMOFILES)
375 AC_SUBST(supported_locales)
377 dnl ===========================================
378 dnl             Stuff that uses X
379 dnl ===========================================
381 AC_PATH_XTRA
383 if test $no_x; then
384     AC_MSG_ERROR([The path for the X11 files not found!
385 Make sure you have X and it's headers and libraries (the -devel packages
386 in Linux) installed.])
389 X_LIBRARY_PATH=$x_libraries
390 XCFLAGS="$X_CFLAGS"
391 XLFLAGS="$X_LIBS"
392 XLIBS="-lX11 $X_EXTRA_LIBS"
393 LIBXMU="-lXmu"
394 AC_SUBST(LIBXMU)
396 lib_search_path="$lib_search_path $XLFLAGS"
397 inc_search_path="$inc_search_path $XCFLAGS"
399 AC_SUBST(X_LIBRARY_PATH)
401 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
402 dnl by MANOME Tomonori 
403 dnl ===========================================
404 use_locale=yes
405 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
406               use_locale=no)
408 if test "$use_locale" = yes; then
409         AC_CHECK_LIB(X11, _Xsetlocale,
410                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
411                 $XLFLAGS $XLIBS)
414 dnl Check whether XInternAtoms() exist
415 dnl ==================================
416 AC_CHECK_LIB(X11, XInternAtoms, 
417              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
418              $XLFLAGS $XLIBS)
420 dnl Check whether XConvertCase() exist
421 dnl ==================================
422 AC_CHECK_LIB(X11, XConvertCase, 
423              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
424              $XLFLAGS $XLIBS)
426 dnl XKB keyboard language status
427 dnl ============================
428 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
429                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
431 dnl Shape support
432 dnl =============
433 shape=yes
434 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
435                 shape=$enableval, shape=yes)
436 added_xext=no
438 if test "$shape" = yes; then
439         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
440                 added_xext=yes
441                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
442                 shape=no, $XLFLAGS $XLIBS)
445 dnl XRandR support
446 dnl ==============
447 xrandr=no
448 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
449                 xrandr=$enableval, xrandr=no)
450 added_xext=no
452 LIBXRANDR=
453 if test "$xrandr" = yes; then
454         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
455                 added_xext=yes
456                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
457                 xrandr=no, $XLFLAGS $XLIBS)
459 AC_SUBST(LIBXRANDR)
462 dnl libWINGS uses math functions, check whether usage requires linking
463 dnl against libm
465 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
466 if test "x$mathneedslibm" = "xdunno" ; then
467         AC_CHECK_LIB(m, atan, [LIBM=-lm])
469 AC_SUBST(LIBM)
473 dnl libWINGS uses FcPatternDel from libfontconfig
475 AC_MSG_CHECKING([for fontconfig library])
476 FCLIBS=`$PKGCONFIG fontconfig --libs`
477 if test "x$FCLIBS" = "x" ; then
478         AC_MSG_RESULT([not found])
479 else
480         AC_MSG_RESULT([found])
482 AC_SUBST(FCLIBS)
485 dnl Xft2 antialiased font support
486 dnl =============================
488 xft=yes
489 XFTLIBS=""
491 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
492         XFTCONFIG="$PKGCONFIG xft"
493         pkgconfig_xft=yes
494 else
495         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
498 AC_MSG_CHECKING([for the Xft2 library])
500 if test "x$XFTCONFIG" != x; then
501         XFTLIBS=`$XFTCONFIG --libs`
502         XFTFLAGS=`$XFTCONFIG --cflags`
503         AC_MSG_RESULT([found])
504 else
505         AC_MSG_RESULT([not found])
506         echo
507         echo "ERROR!!! libXft2 is not installed or could not be found."
508         echo "         Xft2 is a requirement for building Window Maker."
509         echo "         Please install it (along with fontconfig) before continuing."
510         echo
511         exit 1
514 minXFT="2.1.0"
515 goodxft="no"
518 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
520 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
522 if test "$goodxft" = no; then
523         echo
524         echo "ERROR!!! libXft on this system is an old version."
525         echo "         Please consider upgrading to at least version ${minXFT}."
526         echo
527         exit 1
530 AC_SUBST(XFTFLAGS)
531 AC_SUBST(XFTLIBS)
534 dnl XINERAMA support
535 dnl ================
536 xinerama=no
537 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
538                 xinerama=$enableval, xinerama=no)
540 LIBXINERAMA=
541 if test "$xinerama" = yes; then
542         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
543                 [LIBXINERAMA=-lXinerama
544                 xfxine=yes],
545                 xfxine=no, $XLFLAGS $XLIBS)
547         AC_CHECK_LIB(Xext, XineramaGetInfo,
548                 [sunxine=yes
549                 ], sunxine=no, $XLFLAGS $XLIBS)
551         if test "$xfxine" = yes; then
552                 xine=1
553         fi
555         if test "$sunxine" = yes; then
556             xine=1
557             AC_DEFINE(SOLARIS_XINERAMA, 1, 
558                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
559         fi
561         if test "$xine" = 1; then
562             AC_DEFINE(XINERAMA, 1, 
563                 [define if you want support for the XINERAMA extension (set by configure)])
564         fi
566 AC_SUBST(LIBXINERAMA)
569 dnl MIT-SHM support
570 dnl ===============
571 shm=yes
572 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
573                 shm=$enableval, shm=yes)
575 if test "$shm" = yes; then
576         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
578         if test "$ok" = yes; then
579         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
580         fi
582         if test "$ok" = yes; then
583                 if test "$added_xext" = no; then
584                         XLIBS="-lXext $XLIBS"
585                 fi
586                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
587         fi
591 dnl R6 Style Session Management Support
592 dnl ===================================
596 #AC_DEFINE(R6SM)
597 #AC_SUBST(XSMPLIBS)
601 dnl ==============================================
602 dnl         Graphic Format Libraries
603 dnl ==============================================
605 dnl XPM Support
606 dnl ===========
607 xpm=yes
608 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
609         xpm=$enableval, xpm=yes)
611 if test "$xpm" = yes; then
612     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
614     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
615         WM_CHECK_HEADER(X11/xpm.h)
616         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
617                 GFXLIBS="$GFXLIBS -lXpm"
618                 supported_gfx="XPM"
619                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
620         else
621                 supported_gfx="builtin-XPM"
622         fi
623     fi
626 # for wmlib
627 AC_SUBST(XCFLAGS)
628 # for test
629 AC_SUBST(XLFLAGS)
630 AC_SUBST(XLIBS)
631 AC_SUBST(X_EXTRA_LIBS)
633 dnl ===============================================
634 dnl             End of stuff that uses X
635 dnl ===============================================
637 dnl PNG Support
638 dnl ===========
639 png=yes
640 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
641         png=$enableval, png=yes, png=no)
643 if test "$png" = yes ; then
644     my_libname=""
645     WM_CHECK_LIB(png, png_get_valid, [-lm])
646     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
647         my_libname="-lpng"
648     fi
650 dnl Retry with zlib
652     if test "x$my_libname" = x; then
653         unset ac_cv_lib_png_png_get_valid
654         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
655         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
656             my_libname="-lpng -lz"
657         fi
658     fi
660     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
661         WM_CHECK_HEADER(png.h)
662         if test "x$ac_cv_header_png_h" = xyes; then
663             GFXLIBS="$GFXLIBS $my_libname"
664             supported_gfx="$supported_gfx PNG"
665             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
666         fi
667     fi
671 dnl JPEG Support
672 dnl ============
673 jpeg=yes
674 ljpeg=""
675 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
676         jpeg=$enableval, jpeg=yes, jpeg=no)
678 if test "$jpeg" = yes; then
679     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
681     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
683         ljpeg="-ljpeg"
685         WM_CHECK_HEADER(jpeglib.h)
686         if test "x$ac_cv_header_jpeglib_h" = xyes; then
687             GFXLIBS="$GFXLIBS -ljpeg"
688             supported_gfx="$supported_gfx JPEG"
689             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
690         fi
691     fi
695 dnl GIF Support
696 dnl ============
697 gif=yes
698 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
699         gif=$enableval, gif=yes, gif=no)
701 if test "$gif" = yes; then
702     my_libname=""
703     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
704     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
705         my_libname=-lungif
706     fi
708 dnl libungif is the same thing as libgif for all practical purposes.
710     if test "x$my_libname" = x; then
711         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
712         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
713             my_libname=-lgif
714         fi
715     fi
717     if test "$my_libname" != x; then
718         WM_CHECK_HEADER(gif_lib.h)
719         if test "x$ac_cv_header_gif_lib_h" = xyes; then
720             GFXLIBS="$GFXLIBS $my_libname"
721             supported_gfx="$supported_gfx GIF"
722             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
723         fi
724     fi
729 dnl TIFF Support
730 dnl ============
731 AC_ARG_ENABLE(tiff, 
732 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
733         tif=$enableval, tif=yes, tif=no)
736 # TIFF can optionally have JPEG and/or zlib support. Must find out
737 # when they are supported so that correct library flags are passed during
738 # detection and linkage
741 # By default use xpm icons if tiff is not found.
742 ICONEXT="xpm"
745 if test "$tif" = yes; then
746     my_libname=""
747     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
748     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
749         my_libname="-ltiff"
750     fi
752 dnl Retry with zlib
754     unset ac_cv_lib_tiff_TIFFGetVersion
755     if test "x$my_libname" = x; then
756         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
757         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
758             my_libname="-ltiff -lz"
759         fi
760     fi
762     if test "x$my_libname" = x; then
763         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
764         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
765             my_libname="-ltiff34"
766         fi
767     fi
770     if test "x$my_libname" != x; then
771         WM_CHECK_HEADER(tiffio.h)
772         if test "x$ac_cv_header_tiffio_h" = xyes; then
773             GFXLIBS="$my_libname $GFXLIBS"
774             ICONEXT="tiff"
775             supported_gfx="$supported_gfx TIFF"
776             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
777         fi
778     fi
781 LIBRARY_SEARCH_PATH="$lib_search_path"
782 HEADER_SEARCH_PATH="$inc_search_path"
784 AC_SUBST(LIBRARY_SEARCH_PATH)
785 AC_SUBST(HEADER_SEARCH_PATH)
788 AC_SUBST(GFXLIBS)
789 AC_SUBST(ICONEXT)
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 "Antialiased text support in WINGs   : $xft"
911 echo "Xinerama extension support          : $xinerama"
912 echo "XRandR extension support            : $xrandr"
913 echo "Translated message files to install : $mof"
914 dnl echo "Supported languages beside English  : $languages"
915 if test "x$MOFILES" != "x"; then
916         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
918 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
919 echo
921 dnl WM_PRINT_REDCRAP_BUG_STATUS
923 if test "x$ac_cv_header_jpeglib_h" != xyes; then
924 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
925 echo
926 echo "JPEG support will not be included because the JPEG library is"
927 echo "not installed correctly or was not found. Background images"
928 echo "from themes will not display as they usually are JPEG files."
929 echo
930 echo "To fix, download and install the jpeg library and/or make sure you"
931 echo "installed all jpeg related packages, SPECIALLY the development packages"
932 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
933 echo
934 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
938 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
939 dnl ================================================
940 dnl Local Variables:
941 dnl compile-command: "autoconf"
942 dnl End: