simplified logic of wMaximizeWindow function
[wmaker-crm.git] / configure.ac
blob32ea0d68eafc964ce8eec08abd5ab271efb47ee4
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 AC_TYPE_SIZE_T
251 AC_TYPE_PID_T
252 AC_TYPE_SIGNAL
255 dnl pkg-config
256 dnl ==========
257 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
258 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
260 dnl gettext
261 dnl =======
263 dnl AM_GNU_GETTEXT
265 INTLIBS=""
267 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
268         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
269                          INTLIBS="" ))
271 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
273 if test "$XGETTEXT" != ""; then 
274     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
275         echo "xgettext isn't GNU version"
276         XGETTEXT=""
277     fi
280 if test "$LINGUAS" != ""; then
281     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
282         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
283         PO=""
284         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
285     else
286         LINGUAS=""
287         PO=""
288         echo "xgettext and libintl.a don't both exist; will not build i18n support"
289     fi
290 else
291         INTLIBS=""
292         MOFILES=""
293         WPMOFILES=""
294         UTILMOFILES=""
295         PO=""
299 dnl The Tower of Babel
300 dnl ==================
302 dnl List of supported locales
303 dnl =========================
304 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"
305 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
306 supported_wings_locales="bg ca cs de fr sk"
307 supported_util_locales="de es fr pt"
309 for lang in $LINGUAS; do
310         ok=0
311         for l in $supported_locales; do
312                 if test "$l" = "$lang"; then
313                         ok=1
314                         break
315                 fi
316         done
317         if test "$ok" = 1; then
318                 MOFILES="$MOFILES $lang.mo"
319         else
320                 echo "Locale $lang is not supported."
321         fi
322         ok=0
323         for l in $supported_wprefs_locales; do
324                 if test "$l" = "$lang"; then
325                         ok=1
326                         break
327                 fi
328         done
329         if test "$ok" = 1; then
330                 WPMOFILES="$WPMOFILES $lang.mo"
331         fi
332         ok=0
333         for l in $supported_util_locales; do
334                 if test "$l" = "$lang"; then
335                         ok=1
336                         break
337                 fi
338         done
339         if test "$ok" = 1; then
340                 UTILMOFILES="$UTILMOFILES $lang.mo"
341         fi
342         ok=0
343         for l in $supported_wings_locales; do
344                 if test "$l" = "$lang"; then
345                         ok=1
346                         break
347                 fi
348         done
349         if test "$ok" = 1; then
350                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
351         fi
352 done
355 dnl Added by Oliver - Support for NLSDIR option
356 dnl ===========================================
357 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
359 if test "x$NLSDIR" = "x"; then
360         if test "x$with_nlsdir" != "x"; then
361                 NLSDIR=$with_nlsdir
362         else
363                 NLSDIR='$(prefix)/lib/locale'
364         fi
367 menutextdomain=
368 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
369         [if test "x$withval" != "xno"; then
370          menutextdomain=$withval
371          fi])
372 AC_SUBST(menutextdomain)
374 AC_SUBST(INTLIBS)
375 AC_SUBST(NLSDIR)
376 AC_SUBST(MOFILES)
377 AC_SUBST(WPMOFILES)
378 AC_SUBST(UTILMOFILES)
379 AC_SUBST(WINGSMOFILES)
380 AC_SUBST(supported_locales)
382 dnl ===========================================
383 dnl             Stuff that uses X
384 dnl ===========================================
386 AC_PATH_XTRA
388 if test $no_x; then
389     AC_MSG_ERROR([The path for the X11 files not found!
390 Make sure you have X and it's headers and libraries (the -devel packages
391 in Linux) installed.])
394 X_LIBRARY_PATH=$x_libraries
395 XCFLAGS="$X_CFLAGS"
396 XLFLAGS="$X_LIBS"
397 XLIBS="-lX11 $X_EXTRA_LIBS"
398 LIBXMU="-lXmu"
399 AC_SUBST(LIBXMU)
401 lib_search_path="$lib_search_path $XLFLAGS"
402 inc_search_path="$inc_search_path $XCFLAGS"
404 AC_SUBST(X_LIBRARY_PATH)
406 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
407 dnl by MANOME Tomonori 
408 dnl ===========================================
409 use_locale=yes
410 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
411               use_locale=no)
413 if test "$use_locale" = yes; then
414         AC_CHECK_LIB(X11, _Xsetlocale,
415                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
416                 $XLFLAGS $XLIBS)
419 dnl Check whether XInternAtoms() exist
420 dnl ==================================
421 AC_CHECK_LIB(X11, XInternAtoms, 
422              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
423              $XLFLAGS $XLIBS)
425 dnl Check whether XConvertCase() exist
426 dnl ==================================
427 AC_CHECK_LIB(X11, XConvertCase, 
428              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
429              $XLFLAGS $XLIBS)
431 dnl XKB keyboard language status
432 dnl ============================
433 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
434                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
436 dnl Shape support
437 dnl =============
438 shape=yes
439 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
440                 shape=$enableval, shape=yes)
441 added_xext=no
443 if test "$shape" = yes; then
444         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
445                 added_xext=yes
446                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
447                 shape=no, $XLFLAGS $XLIBS)
450 dnl XRandR support
451 dnl ==============
452 xrandr=no
453 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
454                 xrandr=$enableval, xrandr=no)
455 added_xext=no
457 LIBXRANDR=
458 if test "$xrandr" = yes; then
459         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
460                 added_xext=yes
461                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
462                 xrandr=no, $XLFLAGS $XLIBS)
464 AC_SUBST(LIBXRANDR)
467 dnl libWINGS uses math functions, check whether usage requires linking
468 dnl against libm
470 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
471 if test "x$mathneedslibm" = "xdunno" ; then
472         AC_CHECK_LIB(m, atan, [LIBM=-lm])
474 AC_SUBST(LIBM)
478 dnl libWINGS uses FcPatternDel from libfontconfig
480 AC_MSG_CHECKING([for fontconfig library])
481 FCLIBS=`$PKGCONFIG fontconfig --libs`
482 if test "x$FCLIBS" = "x" ; then
483         AC_MSG_RESULT([not found])
484 else
485         AC_MSG_RESULT([found])
487 AC_SUBST(FCLIBS)
490 dnl Xft2 antialiased font support
491 dnl =============================
493 xft=yes
494 XFTLIBS=""
496 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
497         XFTCONFIG="$PKGCONFIG xft"
498         pkgconfig_xft=yes
499 else
500         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
503 AC_MSG_CHECKING([for the Xft2 library])
505 if test "x$XFTCONFIG" != x; then
506         XFTLIBS=`$XFTCONFIG --libs`
507         XFTFLAGS=`$XFTCONFIG --cflags`
508         AC_MSG_RESULT([found])
509 else
510         AC_MSG_RESULT([not found])
511         echo
512         echo "ERROR!!! libXft2 is not installed or could not be found."
513         echo "         Xft2 is a requirement for building Window Maker."
514         echo "         Please install it (along with fontconfig) before continuing."
515         echo
516         exit 1
519 minXFT="2.1.0"
520 goodxft="no"
523 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
525 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
527 if test "$goodxft" = no; then
528         echo
529         echo "ERROR!!! libXft on this system is an old version."
530         echo "         Please consider upgrading to at least version ${minXFT}."
531         echo
532         exit 1
535 AC_SUBST(XFTFLAGS)
536 AC_SUBST(XFTLIBS)
539 dnl XINERAMA support
540 dnl ================
541 xinerama=no
542 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
543                 xinerama=$enableval, xinerama=no)
545 LIBXINERAMA=
546 if test "$xinerama" = yes; then
547         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
548                 [LIBXINERAMA=-lXinerama
549                 xfxine=yes],
550                 xfxine=no, $XLFLAGS $XLIBS)
552         AC_CHECK_LIB(Xext, XineramaGetInfo,
553                 [sunxine=yes
554                 ], sunxine=no, $XLFLAGS $XLIBS)
556         if test "$xfxine" = yes; then
557                 xine=1
558         fi
560         if test "$sunxine" = yes; then
561             xine=1
562             AC_DEFINE(SOLARIS_XINERAMA, 1, 
563                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
564         fi
566         if test "$xine" = 1; then
567             AC_DEFINE(XINERAMA, 1, 
568                 [define if you want support for the XINERAMA extension (set by configure)])
569         fi
571 AC_SUBST(LIBXINERAMA)
574 dnl MIT-SHM support
575 dnl ===============
576 shm=yes
577 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
578                 shm=$enableval, shm=yes)
580 if test "$shm" = yes; then
581         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
583         if test "$ok" = yes; then
584         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
585         fi
587         if test "$ok" = yes; then
588                 if test "$added_xext" = no; then
589                         XLIBS="-lXext $XLIBS"
590                 fi
591                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
592         fi
596 dnl R6 Style Session Management Support
597 dnl ===================================
601 #AC_DEFINE(R6SM)
602 #AC_SUBST(XSMPLIBS)
606 dnl ==============================================
607 dnl         Graphic Format Libraries
608 dnl ==============================================
610 dnl XPM Support
611 dnl ===========
612 xpm=yes
613 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
614         xpm=$enableval, xpm=yes)
616 if test "$xpm" = yes; then
617     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
619     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
620         WM_CHECK_HEADER(X11/xpm.h)
621         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
622                 GFXLIBS="$GFXLIBS -lXpm"
623                 supported_gfx="XPM"
624                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
625         else
626                 supported_gfx="builtin-XPM"
627         fi
628     fi
631 # for wmlib
632 AC_SUBST(XCFLAGS)
633 # for test
634 AC_SUBST(XLFLAGS)
635 AC_SUBST(XLIBS)
636 AC_SUBST(X_EXTRA_LIBS)
638 dnl ===============================================
639 dnl             End of stuff that uses X
640 dnl ===============================================
642 dnl PNG Support
643 dnl ===========
644 png=yes
645 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
646         png=$enableval, png=yes, png=no)
648 if test "$png" = yes ; then
649     my_libname=""
650     WM_CHECK_LIB(png, png_get_valid, [-lm])
651     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
652         my_libname="-lpng"
653     fi
655 dnl Retry with zlib
657     if test "x$my_libname" = x; then
658         unset ac_cv_lib_png_png_get_valid
659         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
660         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
661             my_libname="-lpng -lz"
662         fi
663     fi
665     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
666         WM_CHECK_HEADER(png.h)
667         if test "x$ac_cv_header_png_h" = xyes; then
668             GFXLIBS="$GFXLIBS $my_libname"
669             supported_gfx="$supported_gfx PNG"
670             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
671         fi
672     fi
676 dnl JPEG Support
677 dnl ============
678 jpeg=yes
679 ljpeg=""
680 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
681         jpeg=$enableval, jpeg=yes, jpeg=no)
683 if test "$jpeg" = yes; then
684     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
686     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
688         ljpeg="-ljpeg"
690         WM_CHECK_HEADER(jpeglib.h)
691         if test "x$ac_cv_header_jpeglib_h" = xyes; then
692             GFXLIBS="$GFXLIBS -ljpeg"
693             supported_gfx="$supported_gfx JPEG"
694             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
695         fi
696     fi
700 dnl GIF Support
701 dnl ============
702 gif=yes
703 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
704         gif=$enableval, gif=yes, gif=no)
706 if test "$gif" = yes; then
707     my_libname=""
708     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
709     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
710         my_libname=-lungif
711     fi
713 dnl libungif is the same thing as libgif for all practical purposes.
715     if test "x$my_libname" = x; then
716         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
717         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
718             my_libname=-lgif
719         fi
720     fi
722     if test "$my_libname" != x; then
723         WM_CHECK_HEADER(gif_lib.h)
724         if test "x$ac_cv_header_gif_lib_h" = xyes; then
725             GFXLIBS="$GFXLIBS $my_libname"
726             supported_gfx="$supported_gfx GIF"
727             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
728         fi
729     fi
734 dnl TIFF Support
735 dnl ============
736 AC_ARG_ENABLE(tiff, 
737 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
738         tif=$enableval, tif=yes, tif=no)
741 # TIFF can optionally have JPEG and/or zlib support. Must find out
742 # when they are supported so that correct library flags are passed during
743 # detection and linkage
746 # By default use xpm icons if tiff is not found.
747 ICONEXT="xpm"
750 if test "$tif" = yes; then
751     my_libname=""
752     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
753     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
754         my_libname="-ltiff"
755     fi
757 dnl Retry with zlib
759     unset ac_cv_lib_tiff_TIFFGetVersion
760     if test "x$my_libname" = x; then
761         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
762         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
763             my_libname="-ltiff -lz"
764         fi
765     fi
767     if test "x$my_libname" = x; then
768         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
769         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
770             my_libname="-ltiff34"
771         fi
772     fi
775     if test "x$my_libname" != x; then
776         WM_CHECK_HEADER(tiffio.h)
777         if test "x$ac_cv_header_tiffio_h" = xyes; then
778             GFXLIBS="$my_libname $GFXLIBS"
779             ICONEXT="tiff"
780             supported_gfx="$supported_gfx TIFF"
781             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
782         fi
783     fi
786 LIBRARY_SEARCH_PATH="$lib_search_path"
787 HEADER_SEARCH_PATH="$inc_search_path"
789 AC_SUBST(LIBRARY_SEARCH_PATH)
790 AC_SUBST(HEADER_SEARCH_PATH)
793 AC_SUBST(GFXLIBS)
794 AC_SUBST(ICONEXT)
797 dnl ==============================================
798 dnl         End of Graphic Format Libraries
799 dnl ==============================================
803 dnl stdlib.h is checked here, because of conflict in jpeglib.h
804 AC_CHECK_HEADERS(stdlib.h)
806 # AC_PREFIX_PROGRAM(wmaker)
808 dnl Support for PIXMAPDIR option
809 dnl ============================
810 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
812 if test "x$with_pixmapdir" != "x"; then
813         pixmapdir=$with_pixmapdir
814 else
815         pixmapdir='${datadir}/pixmaps'
817 AC_SUBST(pixmapdir)
820 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
821 dnl ==============================================
823 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
825 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
826     appspath=$with_gnustepdir
829 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
830     wprefs_base_dir=${prefix}
831     wprefs_datadir="${datadir}/WPrefs"
832     wprefs_bindir="${bindir}"
833 else
834     gnustepdir=$appspath
836     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
837         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
838         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
839     fi
841     wprefs_base_dir=$gnustepdir/Applications
842     wprefs_datadir=$wprefs_base_dir/WPrefs.app
843     wprefs_bindir=$wprefs_base_dir/WPrefs.app
846 AC_SUBST(wprefs_datadir)
847 AC_SUBST(wprefs_bindir)
850 dnl Enable User Defined Menu thing
851 dnl ==============================
852 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
853 if test "$enableval" = yes; then
854         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
858 gl_LD_VERSION_SCRIPT
860 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
861         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
862         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
863         WINGs/Extras/Makefile WINGs/po/Makefile \
864         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
865         src/Makefile src/wconfig.h \
866         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
867         doc/ru/Makefile \
868         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
869         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
870         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
871         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
872         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
873         WPrefs.app/po/Makefile )
876 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
877 dnl ===================================================================
879 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
880 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
881 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
883 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
884 dnl parsed by m4
886 AC_SUBST(lib_search_path)
887 AC_SUBST(inc_search_path)
890 dnl Spit out the configuration
891 dnl ==========================
893 supported_gfx="$supported_gfx builtin-PPM"
895 if test "x$MOFILES" = "x"; then
896         mof=None
897 else
898         mof=`echo $MOFILES`
901 if test "x$MOFILES" = "x"; then
902         languages=None
903 else
904         languages=`echo $MOFILES | sed 's/.mo//g'`
907 echo
908 echo "Window Maker was configured as follows:"
909 echo
910 echo "Installation path prefix            : $prefix"
911 echo "Installation path for binaries      : $_bindir"
912 echo "Installation path for libraries     : $libdir"
913 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
914 echo "Supported graphic format libraries  : $supported_gfx"
915 echo "Antialiased text support in WINGs   : $xft"
916 echo "Xinerama extension support          : $xinerama"
917 echo "XRandR extension support            : $xrandr"
918 echo "Translated message files to install : $mof"
919 dnl echo "Supported languages beside English  : $languages"
920 if test "x$MOFILES" != "x"; then
921         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
923 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
924 echo
926 dnl WM_PRINT_REDCRAP_BUG_STATUS
928 if test "x$ac_cv_header_jpeglib_h" != xyes; then
929 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
930 echo
931 echo "JPEG support will not be included because the JPEG library is"
932 echo "not installed correctly or was not found. Background images"
933 echo "from themes will not display as they usually are JPEG files."
934 echo
935 echo "To fix, download and install the jpeg library and/or make sure you"
936 echo "installed all jpeg related packages, SPECIALLY the development packages"
937 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
938 echo
939 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
943 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
944 dnl ================================================
945 dnl Local Variables:
946 dnl compile-command: "autoconf"
947 dnl End: