WPrefs: Fixed empty list of Mouse Grab Modifier problem
[wmaker-crm.git] / configure.ac
blob2f04b02cc446dbf3aef72a65c24adfad9435d988
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)
92 AS_IF([test "x$debug" = "xyes"],
93     [dnl When debug is enabled, we try to activate more checks from
94      dnl the compiler. They are on independant check because the
95      dnl macro checks all the options at once, but we may have cases
96      dnl where some options are not supported and we don't want to
97      dnl loose all of them.
98      dnl
99      dnl Floating-point comparison is not a good idea
100      AX_CFLAGS_GCC_OPTION([-Wfloat-equal])
101      dnl
102      dnl Try to report misuses of '&' versus '&&' and similar
103      AX_CFLAGS_GCC_OPTION([-Wlogical-op])
104      dnl
105      dnl Use of 'sizeof()' on inappropriate pointer types
106      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
109 dnl Platform-specific Makefile setup
110 dnl ================================
111 AS_CASE(["$host"],
112     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
113     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
114     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
115     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
116     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
117     [*-apple-darwin*],               [WM_OSDEP="darwin"],
118     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
119     [WM_OSDEP="stub"])
120 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
121 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
122 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
123 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
126 dnl the prefix
127 dnl ==========
129 dnl move this earlier in the script... anyone know why this is handled
130 dnl in such a bizarre way?
132 test "x$prefix" = xNONE && prefix=$ac_default_prefix
133 dnl Let make expand exec_prefix.
134 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
137 _bindir=`eval echo $bindir`
138 _bindir=`eval echo $_bindir`
140 lib_search_path='-L${libdir}'
142 inc_search_path='-I${includedir}'
144 dnl ===============================================
145 dnl Specify paths to look for libraries and headers
146 dnl ===============================================
147 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
148         [lib_search_path="$withval $lib_search_path"])
150 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
151         [inc_search_path="$withval $inc_search_path"])
154 dnl Boehm GC
155 dnl ========
156 with_boehm_gc=no
157 AC_ARG_ENABLE([boehm-gc],
158     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
159     [with_boehm_gc=$enableval])
161 AS_IF([test "x$with_boehm_gc" = "xyes"],
162     AC_SEARCH_LIBS([GC_malloc], [gc],
163         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
164         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
165         []
166     )
169 dnl LCOV
170 dnl ====
171 AC_ARG_ENABLE([lcov],
172     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
173     [],
174     [enable_lcov=no])
176 AS_IF([test "x$enable_lcov" != "xno"],
177     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
178     if test "x$enable_lcov" = "xyes"; then
179         lcov_output_directory="coverage-report"
180     else
181         lcov_output_directory="${enable_lcov}/coverage-report"
182     fi
183     AC_SUBST(lcov_output_directory)]
185 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
188 dnl ============================
189 dnl Checks for library functions
190 dnl ============================
191 dnl not used anywhere
192 AC_FUNC_MEMCMP
193 AC_FUNC_VPRINTF
194 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
195                setsid mallinfo mkstemp sysconf)
197 dnl Check for strlcat/strlcpy
198 dnl =========================
199 AC_ARG_WITH([libbsd],
200   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
201   [AS_IF([test "x$with_libbsd" != "xno"],
202     [with_libbsd=bsd]
203     [with_libbsd=]
204   )],
205   [with_libbsd=bsd])
207 tmp_libs=$LIBS
208 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
209   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
210   [],
211   []
213 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
214   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
215   [],
216   []
218 LIBS=$tmp_libs
220 LIBBSD=
221 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
222   [LIBBSD=-lbsd
223    AC_CHECK_HEADERS([bsd/string.h])]
225 AC_SUBST(LIBBSD)
227 dnl Check for OpenBSD kernel memory interface - kvm(3)
228 dnl ==================================================
229 AS_IF([test "x$WM_OSDEP" = "xbsd"],
230   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
232 dnl Check for inotify
233 dnl =================
234 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
237 dnl Checks for header files.
238 dnl =======================
239 AC_HEADER_SYS_WAIT
240 AC_HEADER_TIME
241 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
242                  string.h strings.h)
245 dnl Checks for typedefs, structures, and compiler characteristics.
246 dnl ==============================================================
247 AC_DECL_SYS_SIGLIST
248 AC_C_CONST
249 AC_C_INLINE
250 WM_C_NORETURN
251 AC_TYPE_SIZE_T
252 AC_TYPE_PID_T
253 AC_TYPE_SIGNAL
256 dnl pkg-config
257 dnl ==========
258 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
259 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
261 dnl gettext
262 dnl =======
264 dnl AM_GNU_GETTEXT
266 INTLIBS=""
268 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
269         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
270                          INTLIBS="" ))
272 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
274 if test "$XGETTEXT" != ""; then 
275     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
276         echo "xgettext isn't GNU version"
277         XGETTEXT=""
278     fi
281 if test "$LINGUAS" != ""; then
282     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
283         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
284         PO=""
285         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
286     else
287         LINGUAS=""
288         PO=""
289         echo "xgettext and libintl.a don't both exist; will not build i18n support"
290     fi
291 else
292         INTLIBS=""
293         MOFILES=""
294         WPMOFILES=""
295         UTILMOFILES=""
296         PO=""
300 dnl The Tower of Babel
301 dnl ==================
303 dnl List of supported locales
304 dnl =========================
305 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"
306 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
307 supported_wings_locales="bg ca cs de fr sk"
308 supported_util_locales="de es fr pt"
310 for lang in $LINGUAS; do
311         ok=0
312         for l in $supported_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 MOFILES="$MOFILES $lang.mo"
320         else
321                 echo "Locale $lang is not supported."
322         fi
323         ok=0
324         for l in $supported_wprefs_locales; do
325                 if test "$l" = "$lang"; then
326                         ok=1
327                         break
328                 fi
329         done
330         if test "$ok" = 1; then
331                 WPMOFILES="$WPMOFILES $lang.mo"
332         fi
333         ok=0
334         for l in $supported_util_locales; do
335                 if test "$l" = "$lang"; then
336                         ok=1
337                         break
338                 fi
339         done
340         if test "$ok" = 1; then
341                 UTILMOFILES="$UTILMOFILES $lang.mo"
342         fi
343         ok=0
344         for l in $supported_wings_locales; do
345                 if test "$l" = "$lang"; then
346                         ok=1
347                         break
348                 fi
349         done
350         if test "$ok" = 1; then
351                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
352         fi
353 done
356 dnl Added by Oliver - Support for NLSDIR option
357 dnl ===========================================
358 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
360 if test "x$NLSDIR" = "x"; then
361         if test "x$with_nlsdir" != "x"; then
362                 NLSDIR=$with_nlsdir
363         else
364                 NLSDIR='$(prefix)/lib/locale'
365         fi
368 menutextdomain=
369 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
370         [if test "x$withval" != "xno"; then
371          menutextdomain=$withval
372          fi])
373 AC_SUBST(menutextdomain)
375 AC_SUBST(INTLIBS)
376 AC_SUBST(NLSDIR)
377 AC_SUBST(MOFILES)
378 AC_SUBST(WPMOFILES)
379 AC_SUBST(UTILMOFILES)
380 AC_SUBST(WINGSMOFILES)
381 AC_SUBST(supported_locales)
383 dnl ===========================================
384 dnl             Stuff that uses X
385 dnl ===========================================
387 AC_PATH_XTRA
389 if test $no_x; then
390     AC_MSG_ERROR([The path for the X11 files not found!
391 Make sure you have X and it's headers and libraries (the -devel packages
392 in Linux) installed.])
395 X_LIBRARY_PATH=$x_libraries
396 XCFLAGS="$X_CFLAGS"
397 XLFLAGS="$X_LIBS"
398 XLIBS="-lX11 $X_EXTRA_LIBS"
399 LIBXMU="-lXmu"
400 AC_SUBST(LIBXMU)
402 lib_search_path="$lib_search_path $XLFLAGS"
403 inc_search_path="$inc_search_path $XCFLAGS"
405 AC_SUBST(X_LIBRARY_PATH)
407 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
408 dnl by MANOME Tomonori 
409 dnl ===========================================
410 use_locale=yes
411 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
412               use_locale=no)
414 if test "$use_locale" = yes; then
415         AC_CHECK_LIB(X11, _Xsetlocale,
416                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
417                 $XLFLAGS $XLIBS)
420 dnl Check whether XInternAtoms() exist
421 dnl ==================================
422 AC_CHECK_LIB(X11, XInternAtoms, 
423              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
424              $XLFLAGS $XLIBS)
426 dnl Check whether XConvertCase() exist
427 dnl ==================================
428 AC_CHECK_LIB(X11, XConvertCase, 
429              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
430              $XLFLAGS $XLIBS)
432 dnl XKB keyboard language status
433 dnl ============================
434 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
435                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
437 dnl Shape support
438 dnl =============
439 shape=yes
440 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
441                 shape=$enableval, shape=yes)
442 added_xext=no
444 if test "$shape" = yes; then
445         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
446                 added_xext=yes
447                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
448                 shape=no, $XLFLAGS $XLIBS)
451 dnl XRandR support
452 dnl ==============
453 xrandr=no
454 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
455                 xrandr=$enableval, xrandr=no)
456 added_xext=no
458 LIBXRANDR=
459 if test "$xrandr" = yes; then
460         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
461                 added_xext=yes
462                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
463                 xrandr=no, $XLFLAGS $XLIBS)
465 AC_SUBST(LIBXRANDR)
468 dnl libWINGS uses math functions, check whether usage requires linking
469 dnl against libm
471 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
472 if test "x$mathneedslibm" = "xdunno" ; then
473         AC_CHECK_LIB(m, atan, [LIBM=-lm])
475 AC_SUBST(LIBM)
479 dnl libWINGS uses FcPatternDel from libfontconfig
481 AC_MSG_CHECKING([for fontconfig library])
482 FCLIBS=`$PKGCONFIG fontconfig --libs`
483 if test "x$FCLIBS" = "x" ; then
484         AC_MSG_RESULT([not found])
485 else
486         AC_MSG_RESULT([found])
488 AC_SUBST(FCLIBS)
491 dnl Xft2 antialiased font support
492 dnl =============================
494 xft=yes
495 XFTLIBS=""
497 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
498         XFTCONFIG="$PKGCONFIG xft"
499         pkgconfig_xft=yes
500 else
501         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
504 AC_MSG_CHECKING([for the Xft2 library])
506 if test "x$XFTCONFIG" != x; then
507         XFTLIBS=`$XFTCONFIG --libs`
508         XFTFLAGS=`$XFTCONFIG --cflags`
509         AC_MSG_RESULT([found])
510 else
511         AC_MSG_RESULT([not found])
512         echo
513         echo "ERROR!!! libXft2 is not installed or could not be found."
514         echo "         Xft2 is a requirement for building Window Maker."
515         echo "         Please install it (along with fontconfig) before continuing."
516         echo
517         exit 1
520 minXFT="2.1.0"
521 goodxft="no"
524 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
526 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
528 if test "$goodxft" = no; then
529         echo
530         echo "ERROR!!! libXft on this system is an old version."
531         echo "         Please consider upgrading to at least version ${minXFT}."
532         echo
533         exit 1
536 AC_SUBST(XFTFLAGS)
537 AC_SUBST(XFTLIBS)
540 dnl XINERAMA support
541 dnl ================
542 xinerama=no
543 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
544                 xinerama=$enableval, xinerama=no)
546 LIBXINERAMA=
547 if test "$xinerama" = yes; then
548         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
549                 [LIBXINERAMA=-lXinerama
550                 xfxine=yes],
551                 xfxine=no, $XLFLAGS $XLIBS)
553         AC_CHECK_LIB(Xext, XineramaGetInfo,
554                 [sunxine=yes
555                 ], sunxine=no, $XLFLAGS $XLIBS)
557         if test "$xfxine" = yes; then
558                 xine=1
559         fi
561         if test "$sunxine" = yes; then
562             xine=1
563             AC_DEFINE(SOLARIS_XINERAMA, 1, 
564                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
565         fi
567         if test "$xine" = 1; then
568             AC_DEFINE(XINERAMA, 1, 
569                 [define if you want support for the XINERAMA extension (set by configure)])
570         fi
572 AC_SUBST(LIBXINERAMA)
575 dnl MIT-SHM support
576 dnl ===============
577 shm=yes
578 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
579                 shm=$enableval, shm=yes)
581 if test "$shm" = yes; then
582         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
584         if test "$ok" = yes; then
585         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
586         fi
588         if test "$ok" = yes; then
589                 if test "$added_xext" = no; then
590                         XLIBS="-lXext $XLIBS"
591                 fi
592                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
593         fi
597 dnl R6 Style Session Management Support
598 dnl ===================================
602 #AC_DEFINE(R6SM)
603 #AC_SUBST(XSMPLIBS)
607 dnl ==============================================
608 dnl         Graphic Format Libraries
609 dnl ==============================================
611 dnl XPM Support
612 dnl ===========
613 xpm=yes
614 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
615         xpm=$enableval, xpm=yes)
617 if test "$xpm" = yes; then
618     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
620     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
621         WM_CHECK_HEADER(X11/xpm.h)
622         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
623                 GFXLIBS="$GFXLIBS -lXpm"
624                 supported_gfx="XPM"
625                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
626         else
627                 supported_gfx="builtin-XPM"
628         fi
629     fi
632 # for wmlib
633 AC_SUBST(XCFLAGS)
634 # for test
635 AC_SUBST(XLFLAGS)
636 AC_SUBST(XLIBS)
637 AC_SUBST(X_EXTRA_LIBS)
639 dnl ===============================================
640 dnl             End of stuff that uses X
641 dnl ===============================================
643 dnl PNG Support
644 dnl ===========
645 png=yes
646 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
647         png=$enableval, png=yes, png=no)
649 if test "$png" = yes ; then
650     my_libname=""
651     WM_CHECK_LIB(png, png_get_valid, [-lm])
652     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
653         my_libname="-lpng"
654     fi
656 dnl Retry with zlib
658     if test "x$my_libname" = x; then
659         unset ac_cv_lib_png_png_get_valid
660         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
661         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
662             my_libname="-lpng -lz"
663         fi
664     fi
666     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
667         WM_CHECK_HEADER(png.h)
668         if test "x$ac_cv_header_png_h" = xyes; then
669             GFXLIBS="$GFXLIBS $my_libname"
670             supported_gfx="$supported_gfx PNG"
671             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
672         fi
673     fi
677 dnl JPEG Support
678 dnl ============
679 jpeg=yes
680 ljpeg=""
681 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
682         jpeg=$enableval, jpeg=yes, jpeg=no)
684 if test "$jpeg" = yes; then
685     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
687     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
689         ljpeg="-ljpeg"
691         WM_CHECK_HEADER(jpeglib.h)
692         if test "x$ac_cv_header_jpeglib_h" = xyes; then
693             GFXLIBS="$GFXLIBS -ljpeg"
694             supported_gfx="$supported_gfx JPEG"
695             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
696         fi
697     fi
701 dnl GIF Support
702 dnl ============
703 gif=yes
704 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
705         gif=$enableval, gif=yes, gif=no)
707 if test "$gif" = yes; then
708     my_libname=""
709     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
710     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
711         my_libname=-lungif
712     fi
714 dnl libungif is the same thing as libgif for all practical purposes.
716     if test "x$my_libname" = x; then
717         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
718         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
719             my_libname=-lgif
720         fi
721     fi
723     if test "$my_libname" != x; then
724         WM_CHECK_HEADER(gif_lib.h)
725         if test "x$ac_cv_header_gif_lib_h" = xyes; then
726             GFXLIBS="$GFXLIBS $my_libname"
727             supported_gfx="$supported_gfx GIF"
728             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
729         fi
730     fi
735 dnl TIFF Support
736 dnl ============
737 AC_ARG_ENABLE(tiff, 
738 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
739         tif=$enableval, tif=yes, tif=no)
742 # TIFF can optionally have JPEG and/or zlib support. Must find out
743 # when they are supported so that correct library flags are passed during
744 # detection and linkage
747 # By default use xpm icons if tiff is not found.
748 ICONEXT="xpm"
751 if test "$tif" = yes; then
752     my_libname=""
753     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
754     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
755         my_libname="-ltiff"
756     fi
758 dnl Retry with zlib
760     unset ac_cv_lib_tiff_TIFFGetVersion
761     if test "x$my_libname" = x; then
762         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
763         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
764             my_libname="-ltiff -lz"
765         fi
766     fi
768     if test "x$my_libname" = x; then
769         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
770         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
771             my_libname="-ltiff34"
772         fi
773     fi
776     if test "x$my_libname" != x; then
777         WM_CHECK_HEADER(tiffio.h)
778         if test "x$ac_cv_header_tiffio_h" = xyes; then
779             GFXLIBS="$my_libname $GFXLIBS"
780             ICONEXT="tiff"
781             supported_gfx="$supported_gfx TIFF"
782             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
783         fi
784     fi
787 LIBRARY_SEARCH_PATH="$lib_search_path"
788 HEADER_SEARCH_PATH="$inc_search_path"
790 AC_SUBST(LIBRARY_SEARCH_PATH)
791 AC_SUBST(HEADER_SEARCH_PATH)
794 AC_SUBST(GFXLIBS)
795 AC_SUBST(ICONEXT)
796 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
797 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
800 dnl ==============================================
801 dnl         End of Graphic Format Libraries
802 dnl ==============================================
806 dnl stdlib.h is checked here, because of conflict in jpeglib.h
807 AC_CHECK_HEADERS(stdlib.h)
809 # AC_PREFIX_PROGRAM(wmaker)
811 dnl Support for PIXMAPDIR option
812 dnl ============================
813 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
815 if test "x$with_pixmapdir" != "x"; then
816         pixmapdir=$with_pixmapdir
817 else
818         pixmapdir='${datadir}/pixmaps'
820 AC_SUBST(pixmapdir)
823 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
824 dnl ==============================================
826 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
828 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
829     appspath=$with_gnustepdir
832 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
833     wprefs_base_dir=${prefix}
834     wprefs_datadir="${datadir}/WPrefs"
835     wprefs_bindir="${bindir}"
836 else
837     gnustepdir=$appspath
839     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
840         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
841         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
842     fi
844     wprefs_base_dir=$gnustepdir/Applications
845     wprefs_datadir=$wprefs_base_dir/WPrefs.app
846     wprefs_bindir=$wprefs_base_dir/WPrefs.app
849 AC_SUBST(wprefs_datadir)
850 AC_SUBST(wprefs_bindir)
853 dnl Enable User Defined Menu thing
854 dnl ==============================
855 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
856 if test "$enableval" = yes; then
857         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
861 gl_LD_VERSION_SCRIPT
863 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
864         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
865         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
866         WINGs/Extras/Makefile WINGs/po/Makefile \
867         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
868         src/Makefile src/wconfig.h \
869         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
870         doc/ru/Makefile \
871         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
872         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
873         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
874         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
875         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
876         WPrefs.app/po/Makefile )
879 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
880 dnl ===================================================================
882 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
883 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
884 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
886 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
887 dnl parsed by m4
889 AC_SUBST(lib_search_path)
890 AC_SUBST(inc_search_path)
893 dnl Spit out the configuration
894 dnl ==========================
896 supported_gfx="$supported_gfx builtin-PPM"
898 if test "x$MOFILES" = "x"; then
899         mof=None
900 else
901         mof=`echo $MOFILES`
904 if test "x$MOFILES" = "x"; then
905         languages=None
906 else
907         languages=`echo $MOFILES | sed 's/.mo//g'`
910 echo
911 echo "Window Maker was configured as follows:"
912 echo
913 echo "Installation path prefix            : $prefix"
914 echo "Installation path for binaries      : $_bindir"
915 echo "Installation path for libraries     : $libdir"
916 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
917 echo "Supported graphic format libraries  : $supported_gfx"
918 echo "Antialiased text support in WINGs   : $xft"
919 echo "Xinerama extension support          : $xinerama"
920 echo "XRandR extension support            : $xrandr"
921 echo "Translated message files to install : $mof"
922 dnl echo "Supported languages beside English  : $languages"
923 if test "x$MOFILES" != "x"; then
924         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
926 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
927 echo
929 dnl WM_PRINT_REDCRAP_BUG_STATUS
931 if test "x$ac_cv_header_jpeglib_h" != xyes; then
932 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
933 echo
934 echo "JPEG support will not be included because the JPEG library is"
935 echo "not installed correctly or was not found. Background images"
936 echo "from themes will not display as they usually are JPEG files."
937 echo
938 echo "To fix, download and install the jpeg library and/or make sure you"
939 echo "installed all jpeg related packages, SPECIALLY the development packages"
940 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
941 echo
942 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
946 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
947 dnl ================================================
948 dnl Local Variables:
949 dnl compile-command: "autoconf"
950 dnl End: