WPrefs: Make Opaque Move/Resize less cramped in the Window Handling panel
[wmaker-crm.git] / configure.ac
blob6b9bca23444692fecba2a9ffe80b25cc83edc5d9
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=4
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_PROG_CC
71 WM_PROG_CC_C11
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     [dnl This flag should have already been detected and added, but if user
88      dnl provided an explicit CFLAGS it may not be the case
89      AS_IF([echo " $CFLAGS " | grep " -g " 2>&1 > /dev/null],
90            [@%:@ Debug symbol already activated],
91            [AX_CFLAGS_GCC_OPTION([-g])])
92      dnl
93      dnl This flag generally makes debugging nightmarish, remove it if present
94      CFLAGS="`echo "$CFLAGS" | sed -e 's/-fomit-frame-pointer *//' `"
95      dnl
96      dnl Enable internal debug code
97      CPPFLAGS="$CPPFLAGS -DDEBUG"
98 ],  [dnl
99      dnl When debug is not enabled, the user probably does not wants to keep
100      dnl assertions in the final program
101      CPPFLAGS="$CPPFLAGS -DNDEBUG"
105 AX_CFLAGS_GCC_OPTION(-Wall)
106 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
107 AS_IF([test "x$debug" = "xyes"],
108     [dnl When debug is enabled, we try to activate more checks from
109      dnl the compiler. They are on independant check because the
110      dnl macro checks all the options at once, but we may have cases
111      dnl where some options are not supported and we don't want to
112      dnl loose all of them.
113      dnl
114      dnl Floating-point comparison is not a good idea
115      AX_CFLAGS_GCC_OPTION([-Wfloat-equal])
116      dnl
117      dnl Try to report misuses of '&' versus '&&' and similar
118      AX_CFLAGS_GCC_OPTION([-Wlogical-op])
119      dnl
120      dnl Reports declaration of global things that are done inside
121      dnl a local environment, instead of using the appropriate
122      dnl header
123      AX_CFLAGS_GCC_OPTION([-Wnested-externs])
124      dnl
125      dnl Use of 'sizeof()' on inappropriate pointer types
126      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
127      dnl
128      dnl Having more than 1 prototype for a function makes code updates
129      dnl more difficult, so try to avoid it
130      AX_CFLAGS_GCC_OPTION([-Wredundant-decls])
131      dnl
132      dnl Proper attributes helps the compiler to produce better code
133      WM_CFLAGS_CHECK_FIRST([format attribute suggest],
134          [-Wsuggest-attribute=format  dnl new gcc syntax
135           -Wmissing-format-attribute  dnl old gcc syntax, clang
136          ])
137      WM_CFLAGS_CHECK_FIRST([no-return attribute suggest],
138          [-Wsuggest-attribute=noreturn  dnl gcc syntax
139           -Wmissing-noreturn            dnl clang syntax
140          ])
141      dnl
142      dnl The use of trampolines cause code that can crash on some
143      dnl secured OS, and in a more general way generate binary code
144      dnl that may not be optimal
145      AX_CFLAGS_GCC_OPTION([-Wtrampolines])
146      dnl
147      dnl GCC provides a couple of checks to detect incorrect macro uses
148      AX_CFLAGS_GCC_OPTION([-Wundef])
149      AX_CFLAGS_GCC_OPTION([-Wunused-macros])
150 ], [dnl
151      dnl When debug not enabled, we try to avoid some non-necessary
152      dnl messages from the compiler
153      dnl
154      dnl To support legacy X servers, we have sometime to use
155      dnl functions marked as deprecated. We do not wish our users
156      dnl to be worried about it
157      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
158      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
162 dnl Tracking on what is detected for final status
163 dnl =============================================
164 unsupported=""
165 supported_xext=""
166 supported_gfx=""
169 dnl Platform-specific Makefile setup
170 dnl ================================
171 AS_CASE(["$host"],
172     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
173     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
174     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
175     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
176     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
177     [*-apple-darwin*],               [WM_OSDEP="darwin"],
178     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
179     [WM_OSDEP="stub"])
180 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
181 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
182 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
183 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
186 dnl the prefix
187 dnl ==========
189 dnl move this earlier in the script... anyone know why this is handled
190 dnl in such a bizarre way?
192 test "x$prefix" = xNONE && prefix=$ac_default_prefix
193 dnl Let make expand exec_prefix.
194 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
197 _bindir=`eval echo $bindir`
198 _bindir=`eval echo $_bindir`
200 lib_search_path='-L${libdir}'
202 inc_search_path='-I${includedir}'
204 dnl ===============================================
205 dnl Specify paths to look for libraries and headers
206 dnl ===============================================
207 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
208         [lib_search_path="$withval $lib_search_path"])
210 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
211         [inc_search_path="$withval $inc_search_path"])
214 dnl Boehm GC
215 dnl ========
216 AC_ARG_ENABLE([boehm-gc],
217     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
218     [AS_CASE(["$enableval"],
219         [yes], [with_boehm_gc=yes],
220         [no],  [with_boehm_gc=no],
221         [AC_MSG_ERROR([bad value $enableval for --enable-boehm-gc])] )],
222     [with_boehm_gc=no])
223 AS_IF([test "x$with_boehm_gc" = "xyes"],
224     AC_SEARCH_LIBS([GC_malloc], [gc],
225         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
226         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]))
229 dnl LCOV
230 dnl ====
231 AC_ARG_ENABLE([lcov],
232     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
233     [],
234     [enable_lcov=no])
236 AS_IF([test "x$enable_lcov" != "xno"],
237     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
238     AS_IF([test "x$enable_lcov" = "xyes"],
239         [lcov_output_directory="coverage-report"],
240         [lcov_output_directory="${enable_lcov}/coverage-report"])
241     AC_SUBST(lcov_output_directory)])
243 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
246 dnl ============================
247 dnl Checks for library functions
248 dnl ============================
249 dnl not used anywhere
250 AC_FUNC_MEMCMP
251 AC_FUNC_VPRINTF
252 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
253                setsid mallinfo mkstemp sysconf)
254 AC_SEARCH_LIBS([strerror], [cposix])
256 dnl Check for strlcat/strlcpy
257 dnl =========================
258 AC_ARG_WITH([libbsd],
259   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
260   [AS_IF([test "x$with_libbsd" != "xno"],
261     [with_libbsd=bsd]
262     [with_libbsd=]
263   )],
264   [with_libbsd=bsd])
266 tmp_libs=$LIBS
267 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
268   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
269   [],
270   []
272 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
273   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
274   [],
275   []
277 LIBS=$tmp_libs
279 LIBBSD=
280 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
281   [LIBBSD=-lbsd
282    AC_CHECK_HEADERS([bsd/string.h])]
284 AC_SUBST(LIBBSD)
286 dnl Check for OpenBSD kernel memory interface - kvm(3)
287 dnl ==================================================
288 AS_IF([test "x$WM_OSDEP" = "xbsd"],
289   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
291 dnl Check for inotify
292 dnl =================
293 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
296 dnl Check for syslog 
297 dnl =================
298 AC_CHECK_HEADERS([syslog.h], [AC_DEFINE([HAVE_SYSLOG], [1], [Check for syslog])])
301 dnl Checks for header files.
302 dnl =======================
303 AC_HEADER_SYS_WAIT
304 AC_HEADER_TIME
305 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
306                  string.h strings.h)
309 dnl Checks for typedefs, structures, and compiler characteristics.
310 dnl ==============================================================
311 AC_DECL_SYS_SIGLIST
312 AC_C_CONST
313 AC_C_INLINE
314 WM_C_NORETURN
315 AC_TYPE_SIZE_T
316 AC_TYPE_PID_T
317 AC_TYPE_SIGNAL
320 dnl pkg-config
321 dnl ==========
322 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
323 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
325 dnl gettext
326 dnl =======
328 dnl AM_GNU_GETTEXT
330 INTLIBS=""
332 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
333         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
334                          INTLIBS="" ))
336 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
338 if test "$XGETTEXT" != ""; then 
339     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
340         echo "xgettext isn't GNU version"
341         XGETTEXT=""
342     fi
345 if test "$LINGUAS" != ""; then
346     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
347         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
348         PO=""
349         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
350     else
351         LINGUAS=""
352         PO=""
353         echo "xgettext and libintl.a don't both exist; will not build i18n support"
354     fi
355 else
356         INTLIBS=""
357         MOFILES=""
358         WPMOFILES=""
359         UTILMOFILES=""
360         PO=""
364 dnl The Tower of Babel
365 dnl ==================
367 dnl List of supported locales
368 dnl =========================
369 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"
370 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko nl pt ru sk zh_CN zh_TW"
371 supported_wings_locales="bg ca cs de fr hu nl sk"
372 supported_util_locales="de es fr nl pt"
374 for lang in $LINGUAS; do
375         ok=0
376         for l in $supported_locales; do
377                 if test "$l" = "$lang"; then
378                         ok=1
379                         break
380                 fi
381         done
382         if test "$ok" = 1; then
383                 MOFILES="$MOFILES $lang.mo"
384         else
385                 echo "Locale $lang is not supported."
386         fi
387         ok=0
388         for l in $supported_wprefs_locales; do
389                 if test "$l" = "$lang"; then
390                         ok=1
391                         break
392                 fi
393         done
394         if test "$ok" = 1; then
395                 WPMOFILES="$WPMOFILES $lang.mo"
396         fi
397         ok=0
398         for l in $supported_util_locales; do
399                 if test "$l" = "$lang"; then
400                         ok=1
401                         break
402                 fi
403         done
404         if test "$ok" = 1; then
405                 UTILMOFILES="$UTILMOFILES $lang.mo"
406         fi
407         ok=0
408         for l in $supported_wings_locales; do
409                 if test "$l" = "$lang"; then
410                         ok=1
411                         break
412                 fi
413         done
414         if test "$ok" = 1; then
415                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
416         fi
417 done
420 dnl Added by Oliver - Support for NLSDIR option
421 dnl ===========================================
422 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
424 if test "x$NLSDIR" = "x"; then
425         if test "x$with_nlsdir" != "x"; then
426                 NLSDIR=$with_nlsdir
427         else
428                 NLSDIR='$(prefix)/lib/locale'
429         fi
432 menutextdomain=
433 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
434         [if test "x$withval" != "xno"; then
435          menutextdomain=$withval
436          fi])
437 AC_SUBST(menutextdomain)
439 AC_SUBST(INTLIBS)
440 AC_SUBST(NLSDIR)
441 AC_SUBST(MOFILES)
442 AC_SUBST(WPMOFILES)
443 AC_SUBST(UTILMOFILES)
444 AC_SUBST(WINGSMOFILES)
445 AC_SUBST(supported_locales)
447 dnl ===========================================
448 dnl             Stuff that uses X
449 dnl ===========================================
451 AC_PATH_XTRA
453 if test $no_x; then
454     AC_MSG_ERROR([The path for the X11 files not found!
455 Make sure you have X and it's headers and libraries (the -devel packages
456 in Linux) installed.])
459 X_LIBRARY_PATH=$x_libraries
460 XCFLAGS="$X_CFLAGS"
461 XLFLAGS="$X_LIBS"
462 XLIBS="-lX11 $X_EXTRA_LIBS"
464 lib_search_path="$lib_search_path $XLFLAGS"
465 inc_search_path="$inc_search_path $XCFLAGS"
467 AC_SUBST(X_LIBRARY_PATH)
469 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
470 dnl by MANOME Tomonori 
471 dnl ===========================================
472 use_locale=yes
473 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
474               use_locale=no)
476 if test "$use_locale" = yes; then
477         AC_CHECK_LIB(X11, _Xsetlocale,
478                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
479                 $XLFLAGS $XLIBS)
482 dnl Check whether XInternAtoms() exist
483 dnl ==================================
484 AC_CHECK_LIB(X11, XInternAtoms, 
485              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
486              $XLFLAGS $XLIBS)
488 dnl Check whether XConvertCase() exist
489 dnl ==================================
490 AC_CHECK_LIB(X11, XConvertCase, 
491              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
492              $XLFLAGS $XLIBS)
494 dnl XKB keyboard language status
495 dnl ============================
496 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
497                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
499 dnl XShape support
500 dnl ==============
501 AC_ARG_ENABLE([shape],
502     [AS_HELP_STRING([--disable-shape], [disable shaped window extension support])],
503     [AS_CASE(["$enableval"],
504         [yes|no], [],
505         [AC_MSG_ERROR([bad value $enableval for --enable-shape]) ]) ],
506     [enable_shape=auto])
507 WM_XEXT_CHECK_XSHAPE
509 dnl MIT-SHM support
510 dnl ===============
511 AC_ARG_ENABLE([shm],
512     [AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension])],
513     [AS_CASE(["$enableval"],
514         [yes|no], [],
515         [AC_MSG_ERROR([bad value $enableval for --enable-shm]) ]) ],
516     [enable_shm=auto])
517 WM_XEXT_CHECK_XSHM
519 dnl X Misceleanous Utility
520 dnl ======================
521 # the libXmu is used in WRaster
522 WM_EXT_CHECK_XMU
524 dnl XINERAMA support
525 dnl ================
526 AC_ARG_ENABLE([xinerama],
527     [AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support])],
528     [AS_CASE(["$enableval"],
529         [yes|no], [],
530         [AC_MSG_ERROR([bad value $enableval for --enable-xinerama]) ]) ],
531     [enable_xinerama=auto])
532 WM_XEXT_CHECK_XINERAMA
534 dnl RandR support
535 dnl ==============
536 AC_ARG_ENABLE([randr],
537     [AS_HELP_STRING([--enable-randr], [enable RandR extension support (NOT recommended, buggy)])],
538     [AS_CASE(["$enableval"],
539         [yes|no], [],
540         [AC_MSG_ERROR([bad value $enableval for --enable-randr]) ]) ],
541     [enable_randr=no])
542 WM_XEXT_CHECK_XRANDR
545 dnl libWINGS uses math functions, check whether usage requires linking
546 dnl against libm
548 WM_CHECK_LIBM
551 dnl libWINGS uses FcPatternDel from libfontconfig
553 AC_MSG_CHECKING([for fontconfig library])
554 FCLIBS=`$PKGCONFIG fontconfig --libs`
555 if test "x$FCLIBS" = "x" ; then
556         AC_MSG_RESULT([not found])
557 else
558         AC_MSG_RESULT([found])
560 AC_SUBST(FCLIBS)
563 dnl Xft2 antialiased font support
564 dnl =============================
566 xft=yes
567 XFTLIBS=""
569 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
570         XFTCONFIG="$PKGCONFIG xft"
571         pkgconfig_xft=yes
572 else
573         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
576 AC_MSG_CHECKING([for the Xft2 library])
578 if test "x$XFTCONFIG" != x; then
579         XFTLIBS=`$XFTCONFIG --libs`
580         XFTFLAGS=`$XFTCONFIG --cflags`
581         AC_MSG_RESULT([found])
582 else
583         AC_MSG_RESULT([not found])
584         echo
585         echo "ERROR!!! libXft2 is not installed or could not be found."
586         echo "         Xft2 is a requirement for building Window Maker."
587         echo "         Please install it (along with fontconfig) before continuing."
588         echo
589         exit 1
592 minXFT="2.1.0"
593 goodxft="no"
596 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
598 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
600 if test "$goodxft" = no; then
601         echo
602         echo "ERROR!!! libXft on this system is an old version."
603         echo "         Please consider upgrading to at least version ${minXFT}."
604         echo
605         exit 1
608 AC_SUBST(XFTFLAGS)
609 AC_SUBST(XFTLIBS)
612 dnl ==============================================
613 dnl         Graphic Format Libraries
614 dnl ==============================================
616 dnl XPM Support
617 dnl ===========
618 AC_ARG_ENABLE([xpm],
619     [AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm])],
620     [AS_CASE(["$enableval"],
621         [yes|no], [],
622         [AC_MSG_ERROR([bad value $enableval for --enable-xpm])] )],
623     [enable_xpm=auto])
624 WM_IMGFMT_CHECK_XPM
627 # for wmlib
628 AC_SUBST(XCFLAGS)
629 # for test
630 AC_SUBST(XLFLAGS)
631 AC_SUBST(XLIBS)
632 AC_SUBST(X_EXTRA_LIBS)
634 dnl ===============================================
635 dnl             End of stuff that uses X
636 dnl ===============================================
638 dnl PNG Support
639 dnl ===========
640 AC_ARG_ENABLE([png],
641     [AS_HELP_STRING([--disable-png], [disable PNG support through libpng])],
642     [AS_CASE(["$enableval"],
643         [yes|no], [],
644         [AC_MSG_ERROR([bad value $enableval for --enable-png])] )],
645     [enable_png=auto])
646 WM_IMGFMT_CHECK_PNG
649 dnl JPEG Support
650 dnl ============
651 AC_ARG_ENABLE([jpeg],
652     [AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg])],
653     [AS_CASE(["$enableval"],
654         [yes|no], [],
655         [AC_MSG_ERROR([bad value $enableval for --enable-jpeg])] )],
656     [enable_jpeg=auto])
657 WM_IMGFMT_CHECK_JPEG
660 dnl GIF Support
661 dnl ============
662 AC_ARG_ENABLE(gif,
663     [AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif])],
664     [AS_CASE(["$enableval"],
665         [yes|no], [],
666         [AC_MSG_ERROR([bad value $enableval for --enable-gif])] )],
667     [enable_gif=auto])
668 WM_IMGFMT_CHECK_GIF
671 dnl TIFF Support
672 dnl ============
673 AC_ARG_ENABLE([tiff],
674     [AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff])],
675     [AS_CASE(["$enableval"],
676         [yes|no], [],
677         [AC_MSG_ERROR([bad value $enableval for --enable-tiff])] )],
678     [enable_tiff=auto])
679 WM_IMGFMT_CHECK_TIFF
682 dnl WEBP Support
683 dnl ===========
684 AC_ARG_ENABLE([webp],
685     [AS_HELP_STRING([--disable-webp], [disable WEBP support through libwebp])],
686     [AS_CASE(["$enableval"],
687         [yes|no], [],
688         [AC_MSG_ERROR([bad value $enableval for --enable-webp])] )],
689     [enable_webp=auto])
690 WM_IMGFMT_CHECK_WEBP
693 dnl MAGICK Support
694 dnl ===========
695 AC_ARG_ENABLE([magick],
696     [AS_HELP_STRING([--disable-magick], [disable MAGICK support through libMagickWand])],
697     [AS_CASE(["$enableval"],
698         [yes|no], [],
699         [AC_MSG_ERROR([bad value $enableval for --enable-magick])] )],
700     [enable_magick=auto])
701 WM_IMGFMT_CHECK_MAGICK
704 dnl PPM Support
705 dnl ===========
706 # The PPM format is always enabled because we have built-in support for the format
707 # We are not using any external library like libppm
708 supported_gfx="$supported_gfx builtin-PPM"
711 # Choice of the default format for icons
712 AS_IF([test "x$enable_tiff" != "xno"],
713     [ICONEXT="tiff"],
714     [ICONEXT="xpm"])
717 LIBRARY_SEARCH_PATH="$lib_search_path"
718 HEADER_SEARCH_PATH="$inc_search_path"
720 AC_SUBST(LIBRARY_SEARCH_PATH)
721 AC_SUBST(HEADER_SEARCH_PATH)
724 AC_SUBST(GFXLIBS)
725 AC_SUBST(ICONEXT)
726 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
727 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
730 dnl ==============================================
731 dnl         End of Graphic Format Libraries
732 dnl ==============================================
736 dnl stdlib.h is checked here, because of conflict in jpeglib.h
737 AC_CHECK_HEADERS(stdlib.h)
739 # AC_PREFIX_PROGRAM(wmaker)
741 dnl Support for PIXMAPDIR option
742 dnl ============================
743 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
745 if test "x$with_pixmapdir" != "x"; then
746         pixmapdir=$with_pixmapdir
747 else
748         pixmapdir='${datadir}/pixmaps'
750 AC_SUBST(pixmapdir)
753 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
754 dnl ==============================================
756 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
758 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
759     appspath=$with_gnustepdir
762 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
763     wprefs_base_dir=${prefix}
764     wprefs_datadir="${datadir}/WPrefs"
765     wprefs_bindir="${bindir}"
766 else
767     gnustepdir=$appspath
769     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
770         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
771         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
772     fi
774     wprefs_base_dir=$gnustepdir/Applications
775     wprefs_datadir=$wprefs_base_dir/WPrefs.app
776     wprefs_bindir=$wprefs_base_dir/WPrefs.app
779 AC_SUBST(wprefs_datadir)
780 AC_SUBST(wprefs_bindir)
783 dnl Enable User Defined Menu thing
784 dnl ==============================
785 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
786 if test "$enableval" = yes; then
787         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
791 gl_LD_VERSION_SCRIPT
793 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
794         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
795         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
796         WINGs/Extras/Makefile WINGs/po/Makefile \
797         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
798         src/Makefile src/wconfig.h \
799         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
800         doc/ru/Makefile \
801         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
802         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
803         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
804         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
805         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
806         WPrefs.app/po/Makefile )
809 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
810 dnl ===================================================================
812 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
813 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
814 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
816 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
817 dnl parsed by m4
819 AC_SUBST(lib_search_path)
820 AC_SUBST(inc_search_path)
823 dnl Spit out the configuration
824 dnl ==========================
826 if test "x$MOFILES" = "x"; then
827         mof=None
828 else
829         mof=`echo $MOFILES`
832 if test "x$MOFILES" = "x"; then
833         languages=None
834 else
835         languages=`echo $MOFILES | sed 's/.mo//g'`
838 echo
839 echo "Window Maker was configured as follows:"
840 echo
841 echo "Installation path prefix            : $prefix"
842 echo "Installation path for binaries      : $_bindir"
843 echo "Installation path for libraries     : $libdir"
844 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
845 echo "Supported X extensions:             :$supported_xext"
846 echo "Supported graphic format libraries  :$supported_gfx"
847 echo "Unsupported features                :$unsupported"
848 echo "Antialiased text support in WINGs   : $xft"
849 echo "Translated message files to install : $mof"
850 dnl echo "Supported languages beside English  : $languages"
851 if test "x$MOFILES" != "x"; then
852         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
854 AS_IF([test "x$debug" = "xyes"],
855     [AS_ECHO(["Debug enabled: CFLAGS = $CFLAGS"]) ])
856 echo
858 dnl WM_PRINT_REDCRAP_BUG_STATUS
860 AS_IF([test "x$enable_jpeg" = xno], [dnl
861     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])
862     AS_ECHO([])
863     AS_ECHO(["JPEG support will not be included because the JPEG library is"])
864     AS_ECHO(["not installed correctly or was not found. Background images"])
865     AS_ECHO(["from themes will not display as they usually are JPEG files."])
866     AS_ECHO([])
867     AS_ECHO(["To fix, download and install the jpeg library and/or make sure you"])
868     AS_ECHO(["installed all jpeg related packages, SPECIALLY the development packages"])
869     AS_ECHO(["like jpeg-dev (if you use some prepackaged version of libjpeg)."])
870     AS_ECHO([])
871     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])dnl
875 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
876 dnl ================================================
877 dnl Local Variables:
878 dnl compile-command: "autoconf"
879 dnl End: