WPrefs: new enum in Appearances.c for tab identifiers to increase readability
[wmaker-crm.git] / configure.ac
blob684a6064486e3db6c82e91ffd24b5ac1d1aff96e
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])
161 dnl Posix thread
162 dnl =================
163 AX_PTHREAD
166 dnl Tracking on what is detected for final status
167 dnl =============================================
168 unsupported=""
169 supported_xext=""
170 supported_gfx=""
173 dnl Platform-specific Makefile setup
174 dnl ================================
175 AS_CASE(["$host"],
176     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
177     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
178     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
179     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
180     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
181     [*-apple-darwin*],               [WM_OSDEP="darwin"],
182     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
183     [WM_OSDEP="stub"])
184 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
185 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
186 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
187 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
190 dnl the prefix
191 dnl ==========
193 dnl move this earlier in the script... anyone know why this is handled
194 dnl in such a bizarre way?
196 test "x$prefix" = xNONE && prefix=$ac_default_prefix
197 dnl Let make expand exec_prefix.
198 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
201 _bindir=`eval echo $bindir`
202 _bindir=`eval echo $_bindir`
204 lib_search_path='-L${libdir}'
206 inc_search_path='-I${includedir}'
208 dnl ===============================================
209 dnl Specify paths to look for libraries and headers
210 dnl ===============================================
211 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
212         [lib_search_path="$withval $lib_search_path"])
214 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
215         [inc_search_path="$withval $inc_search_path"])
218 dnl Boehm GC
219 dnl ========
220 AC_ARG_ENABLE([boehm-gc],
221     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
222     [AS_CASE(["$enableval"],
223         [yes], [with_boehm_gc=yes],
224         [no],  [with_boehm_gc=no],
225         [AC_MSG_ERROR([bad value $enableval for --enable-boehm-gc])] )],
226     [with_boehm_gc=no])
227 AS_IF([test "x$with_boehm_gc" = "xyes"],
228     AC_SEARCH_LIBS([GC_malloc], [gc],
229         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
230         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]))
233 dnl LCOV
234 dnl ====
235 AC_ARG_ENABLE([lcov],
236     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
237     [],
238     [enable_lcov=no])
240 AS_IF([test "x$enable_lcov" != "xno"],
241     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
242     AS_IF([test "x$enable_lcov" = "xyes"],
243         [lcov_output_directory="coverage-report"],
244         [lcov_output_directory="${enable_lcov}/coverage-report"])
245     AC_SUBST(lcov_output_directory)])
247 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
250 dnl ============================
251 dnl Checks for library functions
252 dnl ============================
253 dnl not used anywhere
254 AC_FUNC_MEMCMP
255 AC_FUNC_VPRINTF
256 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
257                setsid mallinfo mkstemp sysconf)
258 AC_SEARCH_LIBS([strerror], [cposix])
260 dnl Check for strlcat/strlcpy
261 dnl =========================
262 AC_ARG_WITH([libbsd],
263   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
264   [AS_IF([test "x$with_libbsd" != "xno"],
265     [with_libbsd=bsd]
266     [with_libbsd=]
267   )],
268   [with_libbsd=bsd])
270 tmp_libs=$LIBS
271 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
272   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
273   [],
274   []
276 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
277   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
278   [],
279   []
281 LIBS=$tmp_libs
283 LIBBSD=
284 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
285   [LIBBSD=-lbsd
286    AC_CHECK_HEADERS([bsd/string.h])]
288 AC_SUBST(LIBBSD)
290 dnl Check for OpenBSD kernel memory interface - kvm(3)
291 dnl ==================================================
292 AS_IF([test "x$WM_OSDEP" = "xbsd"],
293   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
295 dnl Check for inotify
296 dnl =================
297 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
300 dnl Check for syslog 
301 dnl =================
302 AC_CHECK_HEADERS([syslog.h], [AC_DEFINE([HAVE_SYSLOG], [1], [Check for syslog])])
305 dnl Checks for header files.
306 dnl =======================
307 AC_HEADER_SYS_WAIT
308 AC_HEADER_TIME
309 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
310                  string.h strings.h)
313 dnl Checks for typedefs, structures, and compiler characteristics.
314 dnl ==============================================================
315 AC_DECL_SYS_SIGLIST
316 AC_C_CONST
317 AC_C_INLINE
318 WM_C_NORETURN
319 AC_TYPE_SIZE_T
320 AC_TYPE_PID_T
321 AC_TYPE_SIGNAL
324 dnl pkg-config
325 dnl ==========
326 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
327 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
329 dnl gettext
330 dnl =======
332 dnl AM_GNU_GETTEXT
334 INTLIBS=""
336 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
337         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
338                          INTLIBS="" ))
340 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
342 if test "$XGETTEXT" != ""; then 
343     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
344         echo "xgettext isn't GNU version"
345         XGETTEXT=""
346     fi
349 if test "$LINGUAS" != ""; then
350     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
351         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
352         PO=""
353         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
354     else
355         LINGUAS=""
356         PO=""
357         echo "xgettext and libintl.a don't both exist; will not build i18n support"
358     fi
359 else
360         INTLIBS=""
361         MOFILES=""
362         WPMOFILES=""
363         UTILMOFILES=""
364         PO=""
368 dnl The Tower of Babel
369 dnl ==================
371 dnl List of supported locales
372 dnl =========================
373 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"
374 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko nl pt ru sk zh_CN zh_TW"
375 supported_wings_locales="bg ca cs de fr hu nl sk"
376 supported_util_locales="de es fr nl pt"
378 for lang in $LINGUAS; do
379         ok=0
380         for l in $supported_locales; do
381                 if test "$l" = "$lang"; then
382                         ok=1
383                         break
384                 fi
385         done
386         if test "$ok" = 1; then
387                 MOFILES="$MOFILES $lang.mo"
388         else
389                 echo "Locale $lang is not supported."
390         fi
391         ok=0
392         for l in $supported_wprefs_locales; do
393                 if test "$l" = "$lang"; then
394                         ok=1
395                         break
396                 fi
397         done
398         if test "$ok" = 1; then
399                 WPMOFILES="$WPMOFILES $lang.mo"
400         fi
401         ok=0
402         for l in $supported_util_locales; do
403                 if test "$l" = "$lang"; then
404                         ok=1
405                         break
406                 fi
407         done
408         if test "$ok" = 1; then
409                 UTILMOFILES="$UTILMOFILES $lang.mo"
410         fi
411         ok=0
412         for l in $supported_wings_locales; do
413                 if test "$l" = "$lang"; then
414                         ok=1
415                         break
416                 fi
417         done
418         if test "$ok" = 1; then
419                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
420         fi
421 done
424 dnl Added by Oliver - Support for NLSDIR option
425 dnl ===========================================
426 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
428 if test "x$NLSDIR" = "x"; then
429         if test "x$with_nlsdir" != "x"; then
430                 NLSDIR=$with_nlsdir
431         else
432                 NLSDIR='$(prefix)/lib/locale'
433         fi
436 menutextdomain=
437 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
438         [if test "x$withval" != "xno"; then
439          menutextdomain=$withval
440          fi])
441 AC_SUBST(menutextdomain)
443 AC_SUBST(INTLIBS)
444 AC_SUBST(NLSDIR)
445 AC_SUBST(MOFILES)
446 AC_SUBST(WPMOFILES)
447 AC_SUBST(UTILMOFILES)
448 AC_SUBST(WINGSMOFILES)
449 AC_SUBST(supported_locales)
451 dnl ===========================================
452 dnl             Stuff that uses X
453 dnl ===========================================
455 AC_PATH_XTRA
457 if test $no_x; then
458     AC_MSG_ERROR([The path for the X11 files not found!
459 Make sure you have X and it's headers and libraries (the -devel packages
460 in Linux) installed.])
463 X_LIBRARY_PATH=$x_libraries
464 XCFLAGS="$X_CFLAGS"
465 XLFLAGS="$X_LIBS"
466 XLIBS="-lX11 $X_EXTRA_LIBS"
468 lib_search_path="$lib_search_path $XLFLAGS"
469 inc_search_path="$inc_search_path $XCFLAGS"
471 AC_SUBST(X_LIBRARY_PATH)
473 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
474 dnl by MANOME Tomonori 
475 dnl ===========================================
476 use_locale=yes
477 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
478               use_locale=no)
480 if test "$use_locale" = yes; then
481         AC_CHECK_LIB(X11, _Xsetlocale,
482                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
483                 $XLFLAGS $XLIBS)
486 dnl Check whether XInternAtoms() exist
487 dnl ==================================
488 AC_CHECK_LIB(X11, XInternAtoms, 
489              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
490              $XLFLAGS $XLIBS)
492 dnl Check whether XConvertCase() exist
493 dnl ==================================
494 AC_CHECK_LIB(X11, XConvertCase, 
495              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
496              $XLFLAGS $XLIBS)
498 dnl XKB keyboard language status
499 dnl ============================
500 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
501                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
503 dnl XShape support
504 dnl ==============
505 AC_ARG_ENABLE([shape],
506     [AS_HELP_STRING([--disable-shape], [disable shaped window extension support])],
507     [AS_CASE(["$enableval"],
508         [yes|no], [],
509         [AC_MSG_ERROR([bad value $enableval for --enable-shape]) ]) ],
510     [enable_shape=auto])
511 WM_XEXT_CHECK_XSHAPE
513 dnl MIT-SHM support
514 dnl ===============
515 AC_ARG_ENABLE([shm],
516     [AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension])],
517     [AS_CASE(["$enableval"],
518         [yes|no], [],
519         [AC_MSG_ERROR([bad value $enableval for --enable-shm]) ]) ],
520     [enable_shm=auto])
521 WM_XEXT_CHECK_XSHM
523 dnl X Misceleanous Utility
524 dnl ======================
525 # the libXmu is used in WRaster
526 WM_EXT_CHECK_XMU
528 dnl XINERAMA support
529 dnl ================
530 AC_ARG_ENABLE([xinerama],
531     [AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support])],
532     [AS_CASE(["$enableval"],
533         [yes|no], [],
534         [AC_MSG_ERROR([bad value $enableval for --enable-xinerama]) ]) ],
535     [enable_xinerama=auto])
536 WM_XEXT_CHECK_XINERAMA
538 dnl RandR support
539 dnl ==============
540 AC_ARG_ENABLE([randr],
541     [AS_HELP_STRING([--enable-randr], [enable RandR extension support (NOT recommended, buggy)])],
542     [AS_CASE(["$enableval"],
543         [yes|no], [],
544         [AC_MSG_ERROR([bad value $enableval for --enable-randr]) ]) ],
545     [enable_randr=no])
546 WM_XEXT_CHECK_XRANDR
549 dnl libWINGS uses math functions, check whether usage requires linking
550 dnl against libm
552 WM_CHECK_LIBM
555 dnl libWINGS uses FcPatternDel from libfontconfig
557 AC_MSG_CHECKING([for fontconfig library])
558 FCLIBS=`$PKGCONFIG fontconfig --libs`
559 if test "x$FCLIBS" = "x" ; then
560         AC_MSG_RESULT([not found])
561 else
562         AC_MSG_RESULT([found])
564 AC_SUBST(FCLIBS)
567 dnl Xft2 antialiased font support
568 dnl =============================
570 xft=yes
571 XFTLIBS=""
573 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
574         XFTCONFIG="$PKGCONFIG xft"
575         pkgconfig_xft=yes
576 else
577         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
580 AC_MSG_CHECKING([for the Xft2 library])
582 if test "x$XFTCONFIG" != x; then
583         XFTLIBS=`$XFTCONFIG --libs`
584         XFTFLAGS=`$XFTCONFIG --cflags`
585         AC_MSG_RESULT([found])
586 else
587         AC_MSG_RESULT([not found])
588         echo
589         echo "ERROR!!! libXft2 is not installed or could not be found."
590         echo "         Xft2 is a requirement for building Window Maker."
591         echo "         Please install it (along with fontconfig) before continuing."
592         echo
593         exit 1
596 minXFT="2.1.0"
597 goodxft="no"
600 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
602 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
604 if test "$goodxft" = no; then
605         echo
606         echo "ERROR!!! libXft on this system is an old version."
607         echo "         Please consider upgrading to at least version ${minXFT}."
608         echo
609         exit 1
612 AC_SUBST(XFTFLAGS)
613 AC_SUBST(XFTLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
620 dnl XPM Support
621 dnl ===========
622 AC_ARG_ENABLE([xpm],
623     [AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm])],
624     [AS_CASE(["$enableval"],
625         [yes|no], [],
626         [AC_MSG_ERROR([bad value $enableval for --enable-xpm])] )],
627     [enable_xpm=auto])
628 WM_IMGFMT_CHECK_XPM
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 AC_ARG_ENABLE([png],
645     [AS_HELP_STRING([--disable-png], [disable PNG support through libpng])],
646     [AS_CASE(["$enableval"],
647         [yes|no], [],
648         [AC_MSG_ERROR([bad value $enableval for --enable-png])] )],
649     [enable_png=auto])
650 WM_IMGFMT_CHECK_PNG
653 dnl JPEG Support
654 dnl ============
655 AC_ARG_ENABLE([jpeg],
656     [AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg])],
657     [AS_CASE(["$enableval"],
658         [yes|no], [],
659         [AC_MSG_ERROR([bad value $enableval for --enable-jpeg])] )],
660     [enable_jpeg=auto])
661 WM_IMGFMT_CHECK_JPEG
664 dnl GIF Support
665 dnl ============
666 AC_ARG_ENABLE(gif,
667     [AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif])],
668     [AS_CASE(["$enableval"],
669         [yes|no], [],
670         [AC_MSG_ERROR([bad value $enableval for --enable-gif])] )],
671     [enable_gif=auto])
672 WM_IMGFMT_CHECK_GIF
675 dnl TIFF Support
676 dnl ============
677 AC_ARG_ENABLE([tiff],
678     [AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff])],
679     [AS_CASE(["$enableval"],
680         [yes|no], [],
681         [AC_MSG_ERROR([bad value $enableval for --enable-tiff])] )],
682     [enable_tiff=auto])
683 WM_IMGFMT_CHECK_TIFF
686 dnl WEBP Support
687 dnl ===========
688 AC_ARG_ENABLE([webp],
689     [AS_HELP_STRING([--disable-webp], [disable WEBP support through libwebp])],
690     [AS_CASE(["$enableval"],
691         [yes|no], [],
692         [AC_MSG_ERROR([bad value $enableval for --enable-webp])] )],
693     [enable_webp=auto])
694 WM_IMGFMT_CHECK_WEBP
697 dnl MAGICK Support
698 dnl ===========
699 AC_ARG_ENABLE([magick],
700     [AS_HELP_STRING([--disable-magick], [disable MAGICK support through libMagickWand])],
701     [AS_CASE(["$enableval"],
702         [yes|no], [],
703         [AC_MSG_ERROR([bad value $enableval for --enable-magick])] )],
704     [enable_magick=auto])
705 WM_IMGFMT_CHECK_MAGICK
708 dnl PPM Support
709 dnl ===========
710 # The PPM format is always enabled because we have built-in support for the format
711 # We are not using any external library like libppm
712 supported_gfx="$supported_gfx builtin-PPM"
715 # Choice of the default format for icons
716 AS_IF([test "x$enable_tiff" != "xno"],
717     [ICONEXT="tiff"],
718     [ICONEXT="xpm"])
721 LIBRARY_SEARCH_PATH="$lib_search_path"
722 HEADER_SEARCH_PATH="$inc_search_path"
724 AC_SUBST(LIBRARY_SEARCH_PATH)
725 AC_SUBST(HEADER_SEARCH_PATH)
728 AC_SUBST(GFXLIBS)
729 AC_SUBST(ICONEXT)
730 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
731 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
734 dnl ==============================================
735 dnl         End of Graphic Format Libraries
736 dnl ==============================================
740 dnl stdlib.h is checked here, because of conflict in jpeglib.h
741 AC_CHECK_HEADERS(stdlib.h)
743 # AC_PREFIX_PROGRAM(wmaker)
745 dnl Support for PIXMAPDIR option
746 dnl ============================
747 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
749 if test "x$with_pixmapdir" != "x"; then
750         pixmapdir=$with_pixmapdir
751 else
752         pixmapdir='${datadir}/pixmaps'
754 AC_SUBST(pixmapdir)
757 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
758 dnl ==============================================
760 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
762 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
763     appspath=$with_gnustepdir
766 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
767     wprefs_base_dir=${prefix}
768     wprefs_datadir="${datadir}/WPrefs"
769     wprefs_bindir="${bindir}"
770 else
771     gnustepdir=$appspath
773     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
774         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
775         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
776     fi
778     wprefs_base_dir=$gnustepdir/Applications
779     wprefs_datadir=$wprefs_base_dir/WPrefs.app
780     wprefs_bindir=$wprefs_base_dir/WPrefs.app
783 AC_SUBST(wprefs_datadir)
784 AC_SUBST(wprefs_bindir)
787 dnl Enable User Defined Menu thing
788 dnl ==============================
789 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
790 if test "$enableval" = yes; then
791         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
795 gl_LD_VERSION_SCRIPT
797 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
798         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
799         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
800         WINGs/Extras/Makefile WINGs/po/Makefile \
801         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
802         src/Makefile src/wconfig.h \
803         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
804         doc/ru/Makefile \
805         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
806         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
807         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
808         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
809         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
810         WPrefs.app/po/Makefile )
813 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
814 dnl ===================================================================
816 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
817 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
818 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
820 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
821 dnl parsed by m4
823 AC_SUBST(lib_search_path)
824 AC_SUBST(inc_search_path)
827 dnl Spit out the configuration
828 dnl ==========================
830 if test "x$MOFILES" = "x"; then
831         mof=None
832 else
833         mof=`echo $MOFILES`
836 if test "x$MOFILES" = "x"; then
837         languages=None
838 else
839         languages=`echo $MOFILES | sed 's/.mo//g'`
842 echo
843 echo "Window Maker was configured as follows:"
844 echo
845 echo "Installation path prefix            : $prefix"
846 echo "Installation path for binaries      : $_bindir"
847 echo "Installation path for libraries     : $libdir"
848 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
849 echo "Supported X extensions:             :$supported_xext"
850 echo "Supported graphic format libraries  :$supported_gfx"
851 echo "Unsupported features                :$unsupported"
852 echo "Antialiased text support in WINGs   : $xft"
853 echo "Translated message files to install : $mof"
854 dnl echo "Supported languages beside English  : $languages"
855 if test "x$MOFILES" != "x"; then
856         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
858 AS_IF([test "x$debug" = "xyes"],
859     [AS_ECHO(["Debug enabled: CFLAGS = $CFLAGS"]) ])
860 echo
862 dnl WM_PRINT_REDCRAP_BUG_STATUS
864 AS_IF([test "x$enable_jpeg" = xno], [dnl
865     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])
866     AS_ECHO([])
867     AS_ECHO(["JPEG support will not be included because the JPEG library is"])
868     AS_ECHO(["not installed correctly or was not found. Background images"])
869     AS_ECHO(["from themes will not display as they usually are JPEG files."])
870     AS_ECHO([])
871     AS_ECHO(["To fix, download and install the jpeg library and/or make sure you"])
872     AS_ECHO(["installed all jpeg related packages, SPECIALLY the development packages"])
873     AS_ECHO(["like jpeg-dev (if you use some prepackaged version of libjpeg)."])
874     AS_ECHO([])
875     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])dnl
879 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
880 dnl ================================================
881 dnl Local Variables:
882 dnl compile-command: "autoconf"
883 dnl End: