wmaker: Created an array to hold the maximize menu entries
[wmaker-crm.git] / configure.ac
blobbbcdcbb9f2d45784c6a230cf45a34d8253cd26d7
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_ISC_POSIX
71 AC_PROG_CC
72 WM_PROG_CC_C11
73 AC_PROG_LN_S
74 AC_PROG_GCC_TRADITIONAL
75 AC_PROG_LIBTOOL
78 dnl Debugging Options
79 dnl =================
80 AC_ARG_ENABLE(debug,
81     [AS_HELP_STRING([--enable-debug], [enable debugging options, @<:@default=no@:>@])],
82     [AS_CASE(["$enableval"],
83         [yes], [debug=yes],
84         [no],  [debug=no],
85         [AC_MSG_ERROR([bad value $enableval for --enable-debug])] )],
86     [debug=no])
87 AS_IF([test "x$debug" = "xyes"],
88     [dnl This flag should have already been detected and added, but if user
89      dnl provided an explicit CFLAGS it may not be the case
90      AS_IF([echo " $CFLAGS " | grep " -g " 2>&1 > /dev/null],
91            [@%:@ Debug symbol already activated],
92            [AX_CFLAGS_GCC_OPTION([-g])])
93      dnl
94      dnl This flag generally makes debugging nightmarish, remove it if present
95      CFLAGS="`echo "$CFLAGS" | sed -e 's/-fomit-frame-pointer *//' `"
96      dnl
97      dnl Enable internal debug code
98      CPPFLAGS="$CPPFLAGS -DDEBUG"
99 ],  [dnl
100      dnl When debug is not enabled, the user probably does not wants to keep
101      dnl assertions in the final program
102      CPPFLAGS="$CPPFLAGS -DNDEBUG"
106 AX_CFLAGS_GCC_OPTION(-Wall)
107 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
108 AS_IF([test "x$debug" = "xyes"],
109     [dnl When debug is enabled, we try to activate more checks from
110      dnl the compiler. They are on independant check because the
111      dnl macro checks all the options at once, but we may have cases
112      dnl where some options are not supported and we don't want to
113      dnl loose all of them.
114      dnl
115      dnl Floating-point comparison is not a good idea
116      AX_CFLAGS_GCC_OPTION([-Wfloat-equal])
117      dnl
118      dnl Try to report misuses of '&' versus '&&' and similar
119      AX_CFLAGS_GCC_OPTION([-Wlogical-op])
120      dnl
121      dnl Reports declaration of global things that are done inside
122      dnl a local environment, instead of using the appropriate
123      dnl header
124      AX_CFLAGS_GCC_OPTION([-Wnested-externs])
125      dnl
126      dnl Use of 'sizeof()' on inappropriate pointer types
127      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
128      dnl
129      dnl Having more than 1 prototype for a function makes code updates
130      dnl more difficult, so try to avoid it
131      AX_CFLAGS_GCC_OPTION([-Wredundant-decls])
132 ], [dnl
133      dnl When debug not enabled, we try to avoid some non-necessary
134      dnl messages from the compiler
135      dnl
136      dnl To support legacy X servers, we have sometime to use
137      dnl functions marked as deprecated. We do not wish our users
138      dnl to be worried about it
139      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
140      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
144 dnl Tracking on what is detected for final status
145 dnl =============================================
146 unsupported=""
147 supported_gfx=""
150 dnl Platform-specific Makefile setup
151 dnl ================================
152 AS_CASE(["$host"],
153     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
154     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
155     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
156     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
157     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
158     [*-apple-darwin*],               [WM_OSDEP="darwin"],
159     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
160     [WM_OSDEP="stub"])
161 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
162 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
163 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
164 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
167 dnl the prefix
168 dnl ==========
170 dnl move this earlier in the script... anyone know why this is handled
171 dnl in such a bizarre way?
173 test "x$prefix" = xNONE && prefix=$ac_default_prefix
174 dnl Let make expand exec_prefix.
175 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
178 _bindir=`eval echo $bindir`
179 _bindir=`eval echo $_bindir`
181 lib_search_path='-L${libdir}'
183 inc_search_path='-I${includedir}'
185 dnl ===============================================
186 dnl Specify paths to look for libraries and headers
187 dnl ===============================================
188 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
189         [lib_search_path="$withval $lib_search_path"])
191 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
192         [inc_search_path="$withval $inc_search_path"])
195 dnl Boehm GC
196 dnl ========
197 AC_ARG_ENABLE([boehm-gc],
198     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
199     [AS_CASE(["$enableval"],
200         [yes], [with_boehm_gc=yes],
201         [no],  [with_boehm_gc=no],
202         [AC_MSG_ERROR([bad value $enableval for --enable-boehm-gc])] )],
203     [with_boehm_gc=no])
204 AS_IF([test "x$with_boehm_gc" = "xyes"],
205     AC_SEARCH_LIBS([GC_malloc], [gc],
206         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
207         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]))
210 dnl LCOV
211 dnl ====
212 AC_ARG_ENABLE([lcov],
213     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
214     [],
215     [enable_lcov=no])
217 AS_IF([test "x$enable_lcov" != "xno"],
218     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
219     AS_IF([test "x$enable_lcov" = "xyes"],
220         [lcov_output_directory="coverage-report"],
221         [lcov_output_directory="${enable_lcov}/coverage-report"])
222     AC_SUBST(lcov_output_directory)])
224 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
227 dnl ============================
228 dnl Checks for library functions
229 dnl ============================
230 dnl not used anywhere
231 AC_FUNC_MEMCMP
232 AC_FUNC_VPRINTF
233 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
234                setsid mallinfo mkstemp sysconf)
236 dnl Check for strlcat/strlcpy
237 dnl =========================
238 AC_ARG_WITH([libbsd],
239   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
240   [AS_IF([test "x$with_libbsd" != "xno"],
241     [with_libbsd=bsd]
242     [with_libbsd=]
243   )],
244   [with_libbsd=bsd])
246 tmp_libs=$LIBS
247 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
248   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
249   [],
250   []
252 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
253   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
254   [],
255   []
257 LIBS=$tmp_libs
259 LIBBSD=
260 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
261   [LIBBSD=-lbsd
262    AC_CHECK_HEADERS([bsd/string.h])]
264 AC_SUBST(LIBBSD)
266 dnl Check for OpenBSD kernel memory interface - kvm(3)
267 dnl ==================================================
268 AS_IF([test "x$WM_OSDEP" = "xbsd"],
269   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
271 dnl Check for inotify
272 dnl =================
273 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
276 dnl Checks for header files.
277 dnl =======================
278 AC_HEADER_SYS_WAIT
279 AC_HEADER_TIME
280 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
281                  string.h strings.h)
284 dnl Checks for typedefs, structures, and compiler characteristics.
285 dnl ==============================================================
286 AC_DECL_SYS_SIGLIST
287 AC_C_CONST
288 AC_C_INLINE
289 WM_C_NORETURN
290 AC_TYPE_SIZE_T
291 AC_TYPE_PID_T
292 AC_TYPE_SIGNAL
295 dnl pkg-config
296 dnl ==========
297 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
298 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
300 dnl gettext
301 dnl =======
303 dnl AM_GNU_GETTEXT
305 INTLIBS=""
307 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
308         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
309                          INTLIBS="" ))
311 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
313 if test "$XGETTEXT" != ""; then 
314     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
315         echo "xgettext isn't GNU version"
316         XGETTEXT=""
317     fi
320 if test "$LINGUAS" != ""; then
321     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
322         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
323         PO=""
324         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
325     else
326         LINGUAS=""
327         PO=""
328         echo "xgettext and libintl.a don't both exist; will not build i18n support"
329     fi
330 else
331         INTLIBS=""
332         MOFILES=""
333         WPMOFILES=""
334         UTILMOFILES=""
335         PO=""
339 dnl The Tower of Babel
340 dnl ==================
342 dnl List of supported locales
343 dnl =========================
344 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"
345 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
346 supported_wings_locales="bg ca cs de fr sk"
347 supported_util_locales="de es fr pt"
349 for lang in $LINGUAS; do
350         ok=0
351         for l in $supported_locales; do
352                 if test "$l" = "$lang"; then
353                         ok=1
354                         break
355                 fi
356         done
357         if test "$ok" = 1; then
358                 MOFILES="$MOFILES $lang.mo"
359         else
360                 echo "Locale $lang is not supported."
361         fi
362         ok=0
363         for l in $supported_wprefs_locales; do
364                 if test "$l" = "$lang"; then
365                         ok=1
366                         break
367                 fi
368         done
369         if test "$ok" = 1; then
370                 WPMOFILES="$WPMOFILES $lang.mo"
371         fi
372         ok=0
373         for l in $supported_util_locales; do
374                 if test "$l" = "$lang"; then
375                         ok=1
376                         break
377                 fi
378         done
379         if test "$ok" = 1; then
380                 UTILMOFILES="$UTILMOFILES $lang.mo"
381         fi
382         ok=0
383         for l in $supported_wings_locales; do
384                 if test "$l" = "$lang"; then
385                         ok=1
386                         break
387                 fi
388         done
389         if test "$ok" = 1; then
390                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
391         fi
392 done
395 dnl Added by Oliver - Support for NLSDIR option
396 dnl ===========================================
397 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
399 if test "x$NLSDIR" = "x"; then
400         if test "x$with_nlsdir" != "x"; then
401                 NLSDIR=$with_nlsdir
402         else
403                 NLSDIR='$(prefix)/lib/locale'
404         fi
407 menutextdomain=
408 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
409         [if test "x$withval" != "xno"; then
410          menutextdomain=$withval
411          fi])
412 AC_SUBST(menutextdomain)
414 AC_SUBST(INTLIBS)
415 AC_SUBST(NLSDIR)
416 AC_SUBST(MOFILES)
417 AC_SUBST(WPMOFILES)
418 AC_SUBST(UTILMOFILES)
419 AC_SUBST(WINGSMOFILES)
420 AC_SUBST(supported_locales)
422 dnl ===========================================
423 dnl             Stuff that uses X
424 dnl ===========================================
426 AC_PATH_XTRA
428 if test $no_x; then
429     AC_MSG_ERROR([The path for the X11 files not found!
430 Make sure you have X and it's headers and libraries (the -devel packages
431 in Linux) installed.])
434 X_LIBRARY_PATH=$x_libraries
435 XCFLAGS="$X_CFLAGS"
436 XLFLAGS="$X_LIBS"
437 XLIBS="-lX11 $X_EXTRA_LIBS"
438 LIBXMU="-lXmu"
439 AC_SUBST(LIBXMU)
441 lib_search_path="$lib_search_path $XLFLAGS"
442 inc_search_path="$inc_search_path $XCFLAGS"
444 AC_SUBST(X_LIBRARY_PATH)
446 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
447 dnl by MANOME Tomonori 
448 dnl ===========================================
449 use_locale=yes
450 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
451               use_locale=no)
453 if test "$use_locale" = yes; then
454         AC_CHECK_LIB(X11, _Xsetlocale,
455                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
456                 $XLFLAGS $XLIBS)
459 dnl Check whether XInternAtoms() exist
460 dnl ==================================
461 AC_CHECK_LIB(X11, XInternAtoms, 
462              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
463              $XLFLAGS $XLIBS)
465 dnl Check whether XConvertCase() exist
466 dnl ==================================
467 AC_CHECK_LIB(X11, XConvertCase, 
468              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
469              $XLFLAGS $XLIBS)
471 dnl XKB keyboard language status
472 dnl ============================
473 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
474                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
476 dnl Shape support
477 dnl =============
478 shape=yes
479 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
480                 shape=$enableval, shape=yes)
481 added_xext=no
483 if test "$shape" = yes; then
484         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
485                 added_xext=yes
486                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
487                 shape=no, $XLFLAGS $XLIBS)
490 dnl XRandR support
491 dnl ==============
492 xrandr=no
493 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
494                 xrandr=$enableval, xrandr=no)
495 added_xext=no
497 LIBXRANDR=
498 if test "$xrandr" = yes; then
499         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
500                 added_xext=yes
501                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
502                 xrandr=no, $XLFLAGS $XLIBS)
504 AC_SUBST(LIBXRANDR)
507 dnl libWINGS uses math functions, check whether usage requires linking
508 dnl against libm
510 WM_CHECK_LIBM
513 dnl libWINGS uses FcPatternDel from libfontconfig
515 AC_MSG_CHECKING([for fontconfig library])
516 FCLIBS=`$PKGCONFIG fontconfig --libs`
517 if test "x$FCLIBS" = "x" ; then
518         AC_MSG_RESULT([not found])
519 else
520         AC_MSG_RESULT([found])
522 AC_SUBST(FCLIBS)
525 dnl Xft2 antialiased font support
526 dnl =============================
528 xft=yes
529 XFTLIBS=""
531 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
532         XFTCONFIG="$PKGCONFIG xft"
533         pkgconfig_xft=yes
534 else
535         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
538 AC_MSG_CHECKING([for the Xft2 library])
540 if test "x$XFTCONFIG" != x; then
541         XFTLIBS=`$XFTCONFIG --libs`
542         XFTFLAGS=`$XFTCONFIG --cflags`
543         AC_MSG_RESULT([found])
544 else
545         AC_MSG_RESULT([not found])
546         echo
547         echo "ERROR!!! libXft2 is not installed or could not be found."
548         echo "         Xft2 is a requirement for building Window Maker."
549         echo "         Please install it (along with fontconfig) before continuing."
550         echo
551         exit 1
554 minXFT="2.1.0"
555 goodxft="no"
558 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
560 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
562 if test "$goodxft" = no; then
563         echo
564         echo "ERROR!!! libXft on this system is an old version."
565         echo "         Please consider upgrading to at least version ${minXFT}."
566         echo
567         exit 1
570 AC_SUBST(XFTFLAGS)
571 AC_SUBST(XFTLIBS)
574 dnl XINERAMA support
575 dnl ================
576 xinerama=no
577 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
578                 xinerama=$enableval, xinerama=no)
580 LIBXINERAMA=
581 if test "$xinerama" = yes; then
582         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
583                 [LIBXINERAMA=-lXinerama
584                 xfxine=yes],
585                 xfxine=no, $XLFLAGS $XLIBS)
587         AC_CHECK_LIB(Xext, XineramaGetInfo,
588                 [sunxine=yes
589                 ], sunxine=no, $XLFLAGS $XLIBS)
591         if test "$xfxine" = yes; then
592                 xine=1
593         fi
595         if test "$sunxine" = yes; then
596             xine=1
597             AC_DEFINE(SOLARIS_XINERAMA, 1, 
598                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
599         fi
601         if test "$xine" = 1; then
602             AC_DEFINE(XINERAMA, 1, 
603                 [define if you want support for the XINERAMA extension (set by configure)])
604         fi
606 AC_SUBST(LIBXINERAMA)
609 dnl MIT-SHM support
610 dnl ===============
611 shm=yes
612 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
613                 shm=$enableval, shm=yes)
615 if test "$shm" = yes; then
616         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
618         if test "$ok" = yes; then
619         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
620         fi
622         if test "$ok" = yes; then
623                 if test "$added_xext" = no; then
624                         XLIBS="-lXext $XLIBS"
625                 fi
626                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
627         fi
631 dnl R6 Style Session Management Support
632 dnl ===================================
636 #AC_DEFINE(R6SM)
637 #AC_SUBST(XSMPLIBS)
641 dnl ==============================================
642 dnl         Graphic Format Libraries
643 dnl ==============================================
645 dnl XPM Support
646 dnl ===========
647 AC_ARG_ENABLE([xpm],
648     [AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm])],
649     [AS_CASE(["$enableval"],
650         [yes|no], [],
651         [AC_MSG_ERROR([bad value $enableval for --enable-xpm])] )],
652     [enable_xpm=auto])
653 WM_IMGFMT_CHECK_XPM
656 # for wmlib
657 AC_SUBST(XCFLAGS)
658 # for test
659 AC_SUBST(XLFLAGS)
660 AC_SUBST(XLIBS)
661 AC_SUBST(X_EXTRA_LIBS)
663 dnl ===============================================
664 dnl             End of stuff that uses X
665 dnl ===============================================
667 dnl PNG Support
668 dnl ===========
669 AC_ARG_ENABLE([png],
670     [AS_HELP_STRING([--disable-png], [disable PNG support through libpng])],
671     [AS_CASE(["$enableval"],
672         [yes|no], [],
673         [AC_MSG_ERROR([bad value $enableval for --enable-png])] )],
674     [enable_png=auto])
675 WM_IMGFMT_CHECK_PNG
678 dnl JPEG Support
679 dnl ============
680 AC_ARG_ENABLE([jpeg],
681     [AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg])],
682     [AS_CASE(["$enableval"],
683         [yes|no], [],
684         [AC_MSG_ERROR([bad value $enableval for --enable-jpeg])] )],
685     [enable_jpeg=auto])
686 WM_IMGFMT_CHECK_JPEG
689 dnl GIF Support
690 dnl ============
691 AC_ARG_ENABLE(gif,
692     [AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif])],
693     [AS_CASE(["$enableval"],
694         [yes|no], [],
695         [AC_MSG_ERROR([bad value $enableval for --enable-gif])] )],
696     [enable_gif=auto])
697 WM_IMGFMT_CHECK_GIF
700 dnl TIFF Support
701 dnl ============
702 AC_ARG_ENABLE([tiff],
703     [AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff])],
704     [AS_CASE(["$enableval"],
705         [yes|no], [],
706         [AC_MSG_ERROR([bad value $enableval for --enable-tiff])] )],
707     [enable_tiff=auto])
708 WM_IMGFMT_CHECK_TIFF
711 dnl PPM Support
712 dnl ===========
713 # The PPM format is always enabled because we have built-in support for the format
714 # We are not using any external library like libppm
715 supported_gfx="$supported_gfx builtin-PPM"
718 # Choice of the default format for icons
719 AS_IF([test "x$enable_tiff" != "xno"],
720     [ICONEXT="tiff"],
721     [ICONEXT="xpm"])
724 LIBRARY_SEARCH_PATH="$lib_search_path"
725 HEADER_SEARCH_PATH="$inc_search_path"
727 AC_SUBST(LIBRARY_SEARCH_PATH)
728 AC_SUBST(HEADER_SEARCH_PATH)
731 AC_SUBST(GFXLIBS)
732 AC_SUBST(ICONEXT)
733 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
734 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
737 dnl ==============================================
738 dnl         End of Graphic Format Libraries
739 dnl ==============================================
743 dnl stdlib.h is checked here, because of conflict in jpeglib.h
744 AC_CHECK_HEADERS(stdlib.h)
746 # AC_PREFIX_PROGRAM(wmaker)
748 dnl Support for PIXMAPDIR option
749 dnl ============================
750 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
752 if test "x$with_pixmapdir" != "x"; then
753         pixmapdir=$with_pixmapdir
754 else
755         pixmapdir='${datadir}/pixmaps'
757 AC_SUBST(pixmapdir)
760 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
761 dnl ==============================================
763 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
765 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
766     appspath=$with_gnustepdir
769 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
770     wprefs_base_dir=${prefix}
771     wprefs_datadir="${datadir}/WPrefs"
772     wprefs_bindir="${bindir}"
773 else
774     gnustepdir=$appspath
776     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
777         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
778         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
779     fi
781     wprefs_base_dir=$gnustepdir/Applications
782     wprefs_datadir=$wprefs_base_dir/WPrefs.app
783     wprefs_bindir=$wprefs_base_dir/WPrefs.app
786 AC_SUBST(wprefs_datadir)
787 AC_SUBST(wprefs_bindir)
790 dnl Enable User Defined Menu thing
791 dnl ==============================
792 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
793 if test "$enableval" = yes; then
794         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
798 gl_LD_VERSION_SCRIPT
800 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
801         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
802         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
803         WINGs/Extras/Makefile WINGs/po/Makefile \
804         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
805         src/Makefile src/wconfig.h \
806         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
807         doc/ru/Makefile \
808         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
809         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
810         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
811         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
812         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
813         WPrefs.app/po/Makefile )
816 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
817 dnl ===================================================================
819 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
820 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
821 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
823 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
824 dnl parsed by m4
826 AC_SUBST(lib_search_path)
827 AC_SUBST(inc_search_path)
830 dnl Spit out the configuration
831 dnl ==========================
833 if test "x$MOFILES" = "x"; then
834         mof=None
835 else
836         mof=`echo $MOFILES`
839 if test "x$MOFILES" = "x"; then
840         languages=None
841 else
842         languages=`echo $MOFILES | sed 's/.mo//g'`
845 echo
846 echo "Window Maker was configured as follows:"
847 echo
848 echo "Installation path prefix            : $prefix"
849 echo "Installation path for binaries      : $_bindir"
850 echo "Installation path for libraries     : $libdir"
851 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
852 echo "Supported graphic format libraries  :$supported_gfx"
853 echo "Unsupported features                :$unsupported"
854 echo "Antialiased text support in WINGs   : $xft"
855 echo "Xinerama extension support          : $xinerama"
856 echo "XRandR extension support            : $xrandr"
857 echo "Translated message files to install : $mof"
858 dnl echo "Supported languages beside English  : $languages"
859 if test "x$MOFILES" != "x"; then
860         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
862 AS_IF([test "x$debug" = "xyes"],
863     [AS_ECHO(["Debug enabled: CFLAGS = $CFLAGS"]) ])
864 echo
866 dnl WM_PRINT_REDCRAP_BUG_STATUS
868 AS_IF([test "x$enable_jpeg" = xno], [dnl
869     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])
870     AS_ECHO([])
871     AS_ECHO(["JPEG support will not be included because the JPEG library is"])
872     AS_ECHO(["not installed correctly or was not found. Background images"])
873     AS_ECHO(["from themes will not display as they usually are JPEG files."])
874     AS_ECHO([])
875     AS_ECHO(["To fix, download and install the jpeg library and/or make sure you"])
876     AS_ECHO(["installed all jpeg related packages, SPECIALLY the development packages"])
877     AS_ECHO(["like jpeg-dev (if you use some prepackaged version of libjpeg)."])
878     AS_ECHO([])
879     AS_ECHO(["WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"])dnl
883 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
884 dnl ================================================
885 dnl Local Variables:
886 dnl compile-command: "autoconf"
887 dnl End: