wmaker: Removed unused argument in function 'wDockFinishLaunch'
[wmaker-crm.git] / configure.ac
blobeb944a6db2647ab37176359833a769f65279bd14
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.5, , 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)
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 Reports declaration of global things that are done inside
106      dnl a local environment, instead of using the appropriate
107      dnl header
108      AX_CFLAGS_GCC_OPTION([-Wnested-externs])
109      dnl
110      dnl Use of 'sizeof()' on inappropriate pointer types
111      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
112 ], [dnl
113      dnl When debug not enabled, we try to avoid some non-necessary
114      dnl messages from the compiler
115      dnl
116      dnl To support legacy X servers, we have sometime to use
117      dnl functions marked as deprecated. We do not wish our users
118      dnl to be worried about it
119      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
120      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
123 dnl Platform-specific Makefile setup
124 dnl ================================
125 AS_CASE(["$host"],
126     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
127     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
128     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
129     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
130     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
131     [*-apple-darwin*],               [WM_OSDEP="darwin"],
132     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
133     [WM_OSDEP="stub"])
134 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
135 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
136 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
137 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
140 dnl the prefix
141 dnl ==========
143 dnl move this earlier in the script... anyone know why this is handled
144 dnl in such a bizarre way?
146 test "x$prefix" = xNONE && prefix=$ac_default_prefix
147 dnl Let make expand exec_prefix.
148 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
151 _bindir=`eval echo $bindir`
152 _bindir=`eval echo $_bindir`
154 lib_search_path='-L${libdir}'
156 inc_search_path='-I${includedir}'
158 dnl ===============================================
159 dnl Specify paths to look for libraries and headers
160 dnl ===============================================
161 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
162         [lib_search_path="$withval $lib_search_path"])
164 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
165         [inc_search_path="$withval $inc_search_path"])
168 dnl Boehm GC
169 dnl ========
170 with_boehm_gc=no
171 AC_ARG_ENABLE([boehm-gc],
172     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
173     [with_boehm_gc=$enableval])
175 AS_IF([test "x$with_boehm_gc" = "xyes"],
176     AC_SEARCH_LIBS([GC_malloc], [gc],
177         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
178         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
179         []
180     )
183 dnl LCOV
184 dnl ====
185 AC_ARG_ENABLE([lcov],
186     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
187     [],
188     [enable_lcov=no])
190 AS_IF([test "x$enable_lcov" != "xno"],
191     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
192     if test "x$enable_lcov" = "xyes"; then
193         lcov_output_directory="coverage-report"
194     else
195         lcov_output_directory="${enable_lcov}/coverage-report"
196     fi
197     AC_SUBST(lcov_output_directory)]
199 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
202 dnl ============================
203 dnl Checks for library functions
204 dnl ============================
205 dnl not used anywhere
206 AC_FUNC_MEMCMP
207 AC_FUNC_VPRINTF
208 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
209                setsid mallinfo mkstemp sysconf)
211 dnl Check for strlcat/strlcpy
212 dnl =========================
213 AC_ARG_WITH([libbsd],
214   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
215   [AS_IF([test "x$with_libbsd" != "xno"],
216     [with_libbsd=bsd]
217     [with_libbsd=]
218   )],
219   [with_libbsd=bsd])
221 tmp_libs=$LIBS
222 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
223   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
224   [],
225   []
227 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
228   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
229   [],
230   []
232 LIBS=$tmp_libs
234 LIBBSD=
235 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
236   [LIBBSD=-lbsd
237    AC_CHECK_HEADERS([bsd/string.h])]
239 AC_SUBST(LIBBSD)
241 dnl Check for OpenBSD kernel memory interface - kvm(3)
242 dnl ==================================================
243 AS_IF([test "x$WM_OSDEP" = "xbsd"],
244   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
246 dnl Check for inotify
247 dnl =================
248 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
251 dnl Checks for header files.
252 dnl =======================
253 AC_HEADER_SYS_WAIT
254 AC_HEADER_TIME
255 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
256                  string.h strings.h)
259 dnl Checks for typedefs, structures, and compiler characteristics.
260 dnl ==============================================================
261 AC_DECL_SYS_SIGLIST
262 AC_C_CONST
263 AC_C_INLINE
264 WM_C_NORETURN
265 AC_TYPE_SIZE_T
266 AC_TYPE_PID_T
267 AC_TYPE_SIGNAL
270 dnl pkg-config
271 dnl ==========
272 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
273 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
275 dnl gettext
276 dnl =======
278 dnl AM_GNU_GETTEXT
280 INTLIBS=""
282 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
283         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
284                          INTLIBS="" ))
286 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
288 if test "$XGETTEXT" != ""; then 
289     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
290         echo "xgettext isn't GNU version"
291         XGETTEXT=""
292     fi
295 if test "$LINGUAS" != ""; then
296     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
297         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
298         PO=""
299         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
300     else
301         LINGUAS=""
302         PO=""
303         echo "xgettext and libintl.a don't both exist; will not build i18n support"
304     fi
305 else
306         INTLIBS=""
307         MOFILES=""
308         WPMOFILES=""
309         UTILMOFILES=""
310         PO=""
314 dnl The Tower of Babel
315 dnl ==================
317 dnl List of supported locales
318 dnl =========================
319 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"
320 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
321 supported_wings_locales="bg ca cs de fr sk"
322 supported_util_locales="de es fr pt"
324 for lang in $LINGUAS; do
325         ok=0
326         for l in $supported_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 MOFILES="$MOFILES $lang.mo"
334         else
335                 echo "Locale $lang is not supported."
336         fi
337         ok=0
338         for l in $supported_wprefs_locales; do
339                 if test "$l" = "$lang"; then
340                         ok=1
341                         break
342                 fi
343         done
344         if test "$ok" = 1; then
345                 WPMOFILES="$WPMOFILES $lang.mo"
346         fi
347         ok=0
348         for l in $supported_util_locales; do
349                 if test "$l" = "$lang"; then
350                         ok=1
351                         break
352                 fi
353         done
354         if test "$ok" = 1; then
355                 UTILMOFILES="$UTILMOFILES $lang.mo"
356         fi
357         ok=0
358         for l in $supported_wings_locales; do
359                 if test "$l" = "$lang"; then
360                         ok=1
361                         break
362                 fi
363         done
364         if test "$ok" = 1; then
365                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
366         fi
367 done
370 dnl Added by Oliver - Support for NLSDIR option
371 dnl ===========================================
372 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
374 if test "x$NLSDIR" = "x"; then
375         if test "x$with_nlsdir" != "x"; then
376                 NLSDIR=$with_nlsdir
377         else
378                 NLSDIR='$(prefix)/lib/locale'
379         fi
382 menutextdomain=
383 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
384         [if test "x$withval" != "xno"; then
385          menutextdomain=$withval
386          fi])
387 AC_SUBST(menutextdomain)
389 AC_SUBST(INTLIBS)
390 AC_SUBST(NLSDIR)
391 AC_SUBST(MOFILES)
392 AC_SUBST(WPMOFILES)
393 AC_SUBST(UTILMOFILES)
394 AC_SUBST(WINGSMOFILES)
395 AC_SUBST(supported_locales)
397 dnl ===========================================
398 dnl             Stuff that uses X
399 dnl ===========================================
401 AC_PATH_XTRA
403 if test $no_x; then
404     AC_MSG_ERROR([The path for the X11 files not found!
405 Make sure you have X and it's headers and libraries (the -devel packages
406 in Linux) installed.])
409 X_LIBRARY_PATH=$x_libraries
410 XCFLAGS="$X_CFLAGS"
411 XLFLAGS="$X_LIBS"
412 XLIBS="-lX11 $X_EXTRA_LIBS"
413 LIBXMU="-lXmu"
414 AC_SUBST(LIBXMU)
416 lib_search_path="$lib_search_path $XLFLAGS"
417 inc_search_path="$inc_search_path $XCFLAGS"
419 AC_SUBST(X_LIBRARY_PATH)
421 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
422 dnl by MANOME Tomonori 
423 dnl ===========================================
424 use_locale=yes
425 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
426               use_locale=no)
428 if test "$use_locale" = yes; then
429         AC_CHECK_LIB(X11, _Xsetlocale,
430                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
431                 $XLFLAGS $XLIBS)
434 dnl Check whether XInternAtoms() exist
435 dnl ==================================
436 AC_CHECK_LIB(X11, XInternAtoms, 
437              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
438              $XLFLAGS $XLIBS)
440 dnl Check whether XConvertCase() exist
441 dnl ==================================
442 AC_CHECK_LIB(X11, XConvertCase, 
443              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
444              $XLFLAGS $XLIBS)
446 dnl XKB keyboard language status
447 dnl ============================
448 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
449                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
451 dnl Shape support
452 dnl =============
453 shape=yes
454 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
455                 shape=$enableval, shape=yes)
456 added_xext=no
458 if test "$shape" = yes; then
459         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
460                 added_xext=yes
461                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
462                 shape=no, $XLFLAGS $XLIBS)
465 dnl XRandR support
466 dnl ==============
467 xrandr=no
468 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
469                 xrandr=$enableval, xrandr=no)
470 added_xext=no
472 LIBXRANDR=
473 if test "$xrandr" = yes; then
474         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
475                 added_xext=yes
476                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
477                 xrandr=no, $XLFLAGS $XLIBS)
479 AC_SUBST(LIBXRANDR)
482 dnl libWINGS uses math functions, check whether usage requires linking
483 dnl against libm
485 WM_CHECK_LIBM
488 dnl libWINGS uses FcPatternDel from libfontconfig
490 AC_MSG_CHECKING([for fontconfig library])
491 FCLIBS=`$PKGCONFIG fontconfig --libs`
492 if test "x$FCLIBS" = "x" ; then
493         AC_MSG_RESULT([not found])
494 else
495         AC_MSG_RESULT([found])
497 AC_SUBST(FCLIBS)
500 dnl Xft2 antialiased font support
501 dnl =============================
503 xft=yes
504 XFTLIBS=""
506 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
507         XFTCONFIG="$PKGCONFIG xft"
508         pkgconfig_xft=yes
509 else
510         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
513 AC_MSG_CHECKING([for the Xft2 library])
515 if test "x$XFTCONFIG" != x; then
516         XFTLIBS=`$XFTCONFIG --libs`
517         XFTFLAGS=`$XFTCONFIG --cflags`
518         AC_MSG_RESULT([found])
519 else
520         AC_MSG_RESULT([not found])
521         echo
522         echo "ERROR!!! libXft2 is not installed or could not be found."
523         echo "         Xft2 is a requirement for building Window Maker."
524         echo "         Please install it (along with fontconfig) before continuing."
525         echo
526         exit 1
529 minXFT="2.1.0"
530 goodxft="no"
533 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
535 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
537 if test "$goodxft" = no; then
538         echo
539         echo "ERROR!!! libXft on this system is an old version."
540         echo "         Please consider upgrading to at least version ${minXFT}."
541         echo
542         exit 1
545 AC_SUBST(XFTFLAGS)
546 AC_SUBST(XFTLIBS)
549 dnl XINERAMA support
550 dnl ================
551 xinerama=no
552 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
553                 xinerama=$enableval, xinerama=no)
555 LIBXINERAMA=
556 if test "$xinerama" = yes; then
557         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
558                 [LIBXINERAMA=-lXinerama
559                 xfxine=yes],
560                 xfxine=no, $XLFLAGS $XLIBS)
562         AC_CHECK_LIB(Xext, XineramaGetInfo,
563                 [sunxine=yes
564                 ], sunxine=no, $XLFLAGS $XLIBS)
566         if test "$xfxine" = yes; then
567                 xine=1
568         fi
570         if test "$sunxine" = yes; then
571             xine=1
572             AC_DEFINE(SOLARIS_XINERAMA, 1, 
573                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
574         fi
576         if test "$xine" = 1; then
577             AC_DEFINE(XINERAMA, 1, 
578                 [define if you want support for the XINERAMA extension (set by configure)])
579         fi
581 AC_SUBST(LIBXINERAMA)
584 dnl MIT-SHM support
585 dnl ===============
586 shm=yes
587 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
588                 shm=$enableval, shm=yes)
590 if test "$shm" = yes; then
591         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
593         if test "$ok" = yes; then
594         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
595         fi
597         if test "$ok" = yes; then
598                 if test "$added_xext" = no; then
599                         XLIBS="-lXext $XLIBS"
600                 fi
601                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
602         fi
606 dnl R6 Style Session Management Support
607 dnl ===================================
611 #AC_DEFINE(R6SM)
612 #AC_SUBST(XSMPLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
620 dnl XPM Support
621 dnl ===========
622 xpm=yes
623 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
624         xpm=$enableval, xpm=yes)
626 if test "$xpm" = yes; then
627     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
629     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
630         WM_CHECK_HEADER(X11/xpm.h)
631         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
632                 GFXLIBS="$GFXLIBS -lXpm"
633                 supported_gfx="XPM"
634                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
635         else
636                 supported_gfx="builtin-XPM"
637         fi
638     fi
641 # for wmlib
642 AC_SUBST(XCFLAGS)
643 # for test
644 AC_SUBST(XLFLAGS)
645 AC_SUBST(XLIBS)
646 AC_SUBST(X_EXTRA_LIBS)
648 dnl ===============================================
649 dnl             End of stuff that uses X
650 dnl ===============================================
652 dnl PNG Support
653 dnl ===========
654 png=yes
655 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
656         png=$enableval, png=yes, png=no)
658 if test "$png" = yes ; then
659     my_libname=""
660     WM_CHECK_LIB(png, png_get_valid, [-lm])
661     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
662         my_libname="-lpng"
663     fi
665 dnl Retry with zlib
667     if test "x$my_libname" = x; then
668         unset ac_cv_lib_png_png_get_valid
669         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
670         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
671             my_libname="-lpng -lz"
672         fi
673     fi
675     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
676         WM_CHECK_HEADER(png.h)
677         if test "x$ac_cv_header_png_h" = xyes; then
678             GFXLIBS="$GFXLIBS $my_libname"
679             supported_gfx="$supported_gfx PNG"
680             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
681         fi
682     fi
686 dnl JPEG Support
687 dnl ============
688 jpeg=yes
689 ljpeg=""
690 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
691         jpeg=$enableval, jpeg=yes, jpeg=no)
693 if test "$jpeg" = yes; then
694     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
696     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
698         ljpeg="-ljpeg"
700         WM_CHECK_HEADER(jpeglib.h)
701         if test "x$ac_cv_header_jpeglib_h" = xyes; then
702             GFXLIBS="$GFXLIBS -ljpeg"
703             supported_gfx="$supported_gfx JPEG"
704             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
705         fi
706     fi
710 dnl GIF Support
711 dnl ============
712 gif=yes
713 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
714         gif=$enableval, gif=yes, gif=no)
716 if test "$gif" = yes; then
717     my_libname=""
718     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
719     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
720         my_libname=-lungif
721     fi
723 dnl libungif is the same thing as libgif for all practical purposes.
725     if test "x$my_libname" = x; then
726         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
727         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
728             my_libname=-lgif
729         fi
730     fi
732     if test "$my_libname" != x; then
733         WM_CHECK_HEADER(gif_lib.h)
734         if test "x$ac_cv_header_gif_lib_h" = xyes; then
735             GFXLIBS="$GFXLIBS $my_libname"
736             supported_gfx="$supported_gfx GIF"
737             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
738         fi
739     fi
744 dnl TIFF Support
745 dnl ============
746 AC_ARG_ENABLE(tiff, 
747 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
748         tif=$enableval, tif=yes, tif=no)
751 # TIFF can optionally have JPEG and/or zlib support. Must find out
752 # when they are supported so that correct library flags are passed during
753 # detection and linkage
756 # By default use xpm icons if tiff is not found.
757 ICONEXT="xpm"
760 if test "$tif" = yes; then
761     my_libname=""
762     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
763     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
764         my_libname="-ltiff"
765     fi
767 dnl Retry with zlib
769     unset ac_cv_lib_tiff_TIFFGetVersion
770     if test "x$my_libname" = x; then
771         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
772         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
773             my_libname="-ltiff -lz"
774         fi
775     fi
777     if test "x$my_libname" = x; then
778         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
779         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
780             my_libname="-ltiff34"
781         fi
782     fi
785     if test "x$my_libname" != x; then
786         WM_CHECK_HEADER(tiffio.h)
787         if test "x$ac_cv_header_tiffio_h" = xyes; then
788             GFXLIBS="$my_libname $GFXLIBS"
789             ICONEXT="tiff"
790             supported_gfx="$supported_gfx TIFF"
791             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
792         fi
793     fi
796 LIBRARY_SEARCH_PATH="$lib_search_path"
797 HEADER_SEARCH_PATH="$inc_search_path"
799 AC_SUBST(LIBRARY_SEARCH_PATH)
800 AC_SUBST(HEADER_SEARCH_PATH)
803 AC_SUBST(GFXLIBS)
804 AC_SUBST(ICONEXT)
805 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
806 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
809 dnl ==============================================
810 dnl         End of Graphic Format Libraries
811 dnl ==============================================
815 dnl stdlib.h is checked here, because of conflict in jpeglib.h
816 AC_CHECK_HEADERS(stdlib.h)
818 # AC_PREFIX_PROGRAM(wmaker)
820 dnl Support for PIXMAPDIR option
821 dnl ============================
822 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
824 if test "x$with_pixmapdir" != "x"; then
825         pixmapdir=$with_pixmapdir
826 else
827         pixmapdir='${datadir}/pixmaps'
829 AC_SUBST(pixmapdir)
832 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
833 dnl ==============================================
835 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
837 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
838     appspath=$with_gnustepdir
841 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
842     wprefs_base_dir=${prefix}
843     wprefs_datadir="${datadir}/WPrefs"
844     wprefs_bindir="${bindir}"
845 else
846     gnustepdir=$appspath
848     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
849         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
850         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
851     fi
853     wprefs_base_dir=$gnustepdir/Applications
854     wprefs_datadir=$wprefs_base_dir/WPrefs.app
855     wprefs_bindir=$wprefs_base_dir/WPrefs.app
858 AC_SUBST(wprefs_datadir)
859 AC_SUBST(wprefs_bindir)
862 dnl Enable User Defined Menu thing
863 dnl ==============================
864 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
865 if test "$enableval" = yes; then
866         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
870 gl_LD_VERSION_SCRIPT
872 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
873         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
874         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
875         WINGs/Extras/Makefile WINGs/po/Makefile \
876         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
877         src/Makefile src/wconfig.h \
878         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
879         doc/ru/Makefile \
880         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
881         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
882         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
883         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
884         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
885         WPrefs.app/po/Makefile )
888 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
889 dnl ===================================================================
891 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
892 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
893 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
895 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
896 dnl parsed by m4
898 AC_SUBST(lib_search_path)
899 AC_SUBST(inc_search_path)
902 dnl Spit out the configuration
903 dnl ==========================
905 supported_gfx="$supported_gfx builtin-PPM"
907 if test "x$MOFILES" = "x"; then
908         mof=None
909 else
910         mof=`echo $MOFILES`
913 if test "x$MOFILES" = "x"; then
914         languages=None
915 else
916         languages=`echo $MOFILES | sed 's/.mo//g'`
919 echo
920 echo "Window Maker was configured as follows:"
921 echo
922 echo "Installation path prefix            : $prefix"
923 echo "Installation path for binaries      : $_bindir"
924 echo "Installation path for libraries     : $libdir"
925 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
926 echo "Supported graphic format libraries  : $supported_gfx"
927 echo "Antialiased text support in WINGs   : $xft"
928 echo "Xinerama extension support          : $xinerama"
929 echo "XRandR extension support            : $xrandr"
930 echo "Translated message files to install : $mof"
931 dnl echo "Supported languages beside English  : $languages"
932 if test "x$MOFILES" != "x"; then
933         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
935 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
936 echo
938 dnl WM_PRINT_REDCRAP_BUG_STATUS
940 if test "x$ac_cv_header_jpeglib_h" != xyes; then
941 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
942 echo
943 echo "JPEG support will not be included because the JPEG library is"
944 echo "not installed correctly or was not found. Background images"
945 echo "from themes will not display as they usually are JPEG files."
946 echo
947 echo "To fix, download and install the jpeg library and/or make sure you"
948 echo "installed all jpeg related packages, SPECIALLY the development packages"
949 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
950 echo
951 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
955 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
956 dnl ================================================
957 dnl Local Variables:
958 dnl compile-command: "autoconf"
959 dnl End: