configure: Removed deprecated lines for unused X stuff
[wmaker-crm.git] / configure.ac
blob1ecd8f57828790d77b6730a2015cc8d77c2e00b8
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 Proper attributes helps the compiler to produce better code
134      WM_CFLAGS_CHECK_FIRST([format attribute suggest],
135          [-Wsuggest-attribute=format  dnl new gcc syntax
136           -Wmissing-format-attribute  dnl old gcc syntax, clang
137          ])
138      WM_CFLAGS_CHECK_FIRST([no-return attribute suggest],
139          [-Wsuggest-attribute=noreturn  dnl gcc syntax
140           -Wmissing-noreturn            dnl clang syntax
141          ])
142 ], [dnl
143      dnl When debug not enabled, we try to avoid some non-necessary
144      dnl messages from the compiler
145      dnl
146      dnl To support legacy X servers, we have sometime to use
147      dnl functions marked as deprecated. We do not wish our users
148      dnl to be worried about it
149      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
150      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
154 dnl Tracking on what is detected for final status
155 dnl =============================================
156 unsupported=""
157 supported_gfx=""
160 dnl Platform-specific Makefile setup
161 dnl ================================
162 AS_CASE(["$host"],
163     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
164     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
165     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
166     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
167     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
168     [*-apple-darwin*],               [WM_OSDEP="darwin"],
169     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
170     [WM_OSDEP="stub"])
171 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
172 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
173 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
174 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
177 dnl the prefix
178 dnl ==========
180 dnl move this earlier in the script... anyone know why this is handled
181 dnl in such a bizarre way?
183 test "x$prefix" = xNONE && prefix=$ac_default_prefix
184 dnl Let make expand exec_prefix.
185 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
188 _bindir=`eval echo $bindir`
189 _bindir=`eval echo $_bindir`
191 lib_search_path='-L${libdir}'
193 inc_search_path='-I${includedir}'
195 dnl ===============================================
196 dnl Specify paths to look for libraries and headers
197 dnl ===============================================
198 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
199         [lib_search_path="$withval $lib_search_path"])
201 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
202         [inc_search_path="$withval $inc_search_path"])
205 dnl Boehm GC
206 dnl ========
207 AC_ARG_ENABLE([boehm-gc],
208     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
209     [AS_CASE(["$enableval"],
210         [yes], [with_boehm_gc=yes],
211         [no],  [with_boehm_gc=no],
212         [AC_MSG_ERROR([bad value $enableval for --enable-boehm-gc])] )],
213     [with_boehm_gc=no])
214 AS_IF([test "x$with_boehm_gc" = "xyes"],
215     AC_SEARCH_LIBS([GC_malloc], [gc],
216         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
217         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]))
220 dnl LCOV
221 dnl ====
222 AC_ARG_ENABLE([lcov],
223     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
224     [],
225     [enable_lcov=no])
227 AS_IF([test "x$enable_lcov" != "xno"],
228     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
229     AS_IF([test "x$enable_lcov" = "xyes"],
230         [lcov_output_directory="coverage-report"],
231         [lcov_output_directory="${enable_lcov}/coverage-report"])
232     AC_SUBST(lcov_output_directory)])
234 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
237 dnl ============================
238 dnl Checks for library functions
239 dnl ============================
240 dnl not used anywhere
241 AC_FUNC_MEMCMP
242 AC_FUNC_VPRINTF
243 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
244                setsid mallinfo mkstemp sysconf)
246 dnl Check for strlcat/strlcpy
247 dnl =========================
248 AC_ARG_WITH([libbsd],
249   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
250   [AS_IF([test "x$with_libbsd" != "xno"],
251     [with_libbsd=bsd]
252     [with_libbsd=]
253   )],
254   [with_libbsd=bsd])
256 tmp_libs=$LIBS
257 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
258   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
259   [],
260   []
262 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
263   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
264   [],
265   []
267 LIBS=$tmp_libs
269 LIBBSD=
270 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
271   [LIBBSD=-lbsd
272    AC_CHECK_HEADERS([bsd/string.h])]
274 AC_SUBST(LIBBSD)
276 dnl Check for OpenBSD kernel memory interface - kvm(3)
277 dnl ==================================================
278 AS_IF([test "x$WM_OSDEP" = "xbsd"],
279   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
281 dnl Check for inotify
282 dnl =================
283 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
286 dnl Checks for header files.
287 dnl =======================
288 AC_HEADER_SYS_WAIT
289 AC_HEADER_TIME
290 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
291                  string.h strings.h)
294 dnl Checks for typedefs, structures, and compiler characteristics.
295 dnl ==============================================================
296 AC_DECL_SYS_SIGLIST
297 AC_C_CONST
298 AC_C_INLINE
299 WM_C_NORETURN
300 AC_TYPE_SIZE_T
301 AC_TYPE_PID_T
302 AC_TYPE_SIGNAL
305 dnl pkg-config
306 dnl ==========
307 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
308 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
310 dnl gettext
311 dnl =======
313 dnl AM_GNU_GETTEXT
315 INTLIBS=""
317 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
318         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
319                          INTLIBS="" ))
321 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
323 if test "$XGETTEXT" != ""; then 
324     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
325         echo "xgettext isn't GNU version"
326         XGETTEXT=""
327     fi
330 if test "$LINGUAS" != ""; then
331     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
332         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
333         PO=""
334         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
335     else
336         LINGUAS=""
337         PO=""
338         echo "xgettext and libintl.a don't both exist; will not build i18n support"
339     fi
340 else
341         INTLIBS=""
342         MOFILES=""
343         WPMOFILES=""
344         UTILMOFILES=""
345         PO=""
349 dnl The Tower of Babel
350 dnl ==================
352 dnl List of supported locales
353 dnl =========================
354 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"
355 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
356 supported_wings_locales="bg ca cs de fr sk"
357 supported_util_locales="de es fr pt"
359 for lang in $LINGUAS; do
360         ok=0
361         for l in $supported_locales; do
362                 if test "$l" = "$lang"; then
363                         ok=1
364                         break
365                 fi
366         done
367         if test "$ok" = 1; then
368                 MOFILES="$MOFILES $lang.mo"
369         else
370                 echo "Locale $lang is not supported."
371         fi
372         ok=0
373         for l in $supported_wprefs_locales; do
374                 if test "$l" = "$lang"; then
375                         ok=1
376                         break
377                 fi
378         done
379         if test "$ok" = 1; then
380                 WPMOFILES="$WPMOFILES $lang.mo"
381         fi
382         ok=0
383         for l in $supported_util_locales; do
384                 if test "$l" = "$lang"; then
385                         ok=1
386                         break
387                 fi
388         done
389         if test "$ok" = 1; then
390                 UTILMOFILES="$UTILMOFILES $lang.mo"
391         fi
392         ok=0
393         for l in $supported_wings_locales; do
394                 if test "$l" = "$lang"; then
395                         ok=1
396                         break
397                 fi
398         done
399         if test "$ok" = 1; then
400                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
401         fi
402 done
405 dnl Added by Oliver - Support for NLSDIR option
406 dnl ===========================================
407 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
409 if test "x$NLSDIR" = "x"; then
410         if test "x$with_nlsdir" != "x"; then
411                 NLSDIR=$with_nlsdir
412         else
413                 NLSDIR='$(prefix)/lib/locale'
414         fi
417 menutextdomain=
418 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
419         [if test "x$withval" != "xno"; then
420          menutextdomain=$withval
421          fi])
422 AC_SUBST(menutextdomain)
424 AC_SUBST(INTLIBS)
425 AC_SUBST(NLSDIR)
426 AC_SUBST(MOFILES)
427 AC_SUBST(WPMOFILES)
428 AC_SUBST(UTILMOFILES)
429 AC_SUBST(WINGSMOFILES)
430 AC_SUBST(supported_locales)
432 dnl ===========================================
433 dnl             Stuff that uses X
434 dnl ===========================================
436 AC_PATH_XTRA
438 if test $no_x; then
439     AC_MSG_ERROR([The path for the X11 files not found!
440 Make sure you have X and it's headers and libraries (the -devel packages
441 in Linux) installed.])
444 X_LIBRARY_PATH=$x_libraries
445 XCFLAGS="$X_CFLAGS"
446 XLFLAGS="$X_LIBS"
447 XLIBS="-lX11 $X_EXTRA_LIBS"
448 LIBXMU="-lXmu"
449 AC_SUBST(LIBXMU)
451 lib_search_path="$lib_search_path $XLFLAGS"
452 inc_search_path="$inc_search_path $XCFLAGS"
454 AC_SUBST(X_LIBRARY_PATH)
456 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
457 dnl by MANOME Tomonori 
458 dnl ===========================================
459 use_locale=yes
460 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
461               use_locale=no)
463 if test "$use_locale" = yes; then
464         AC_CHECK_LIB(X11, _Xsetlocale,
465                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
466                 $XLFLAGS $XLIBS)
469 dnl Check whether XInternAtoms() exist
470 dnl ==================================
471 AC_CHECK_LIB(X11, XInternAtoms, 
472              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
473              $XLFLAGS $XLIBS)
475 dnl Check whether XConvertCase() exist
476 dnl ==================================
477 AC_CHECK_LIB(X11, XConvertCase, 
478              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
479              $XLFLAGS $XLIBS)
481 dnl XKB keyboard language status
482 dnl ============================
483 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
484                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
486 dnl Shape support
487 dnl =============
488 shape=yes
489 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
490                 shape=$enableval, shape=yes)
491 added_xext=no
493 if test "$shape" = yes; then
494         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
495                 added_xext=yes
496                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
497                 shape=no, $XLFLAGS $XLIBS)
500 dnl XRandR support
501 dnl ==============
502 xrandr=no
503 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
504                 xrandr=$enableval, xrandr=no)
505 added_xext=no
507 LIBXRANDR=
508 if test "$xrandr" = yes; then
509         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
510                 added_xext=yes
511                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
512                 xrandr=no, $XLFLAGS $XLIBS)
514 AC_SUBST(LIBXRANDR)
517 dnl libWINGS uses math functions, check whether usage requires linking
518 dnl against libm
520 WM_CHECK_LIBM
523 dnl libWINGS uses FcPatternDel from libfontconfig
525 AC_MSG_CHECKING([for fontconfig library])
526 FCLIBS=`$PKGCONFIG fontconfig --libs`
527 if test "x$FCLIBS" = "x" ; then
528         AC_MSG_RESULT([not found])
529 else
530         AC_MSG_RESULT([found])
532 AC_SUBST(FCLIBS)
535 dnl Xft2 antialiased font support
536 dnl =============================
538 xft=yes
539 XFTLIBS=""
541 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
542         XFTCONFIG="$PKGCONFIG xft"
543         pkgconfig_xft=yes
544 else
545         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
548 AC_MSG_CHECKING([for the Xft2 library])
550 if test "x$XFTCONFIG" != x; then
551         XFTLIBS=`$XFTCONFIG --libs`
552         XFTFLAGS=`$XFTCONFIG --cflags`
553         AC_MSG_RESULT([found])
554 else
555         AC_MSG_RESULT([not found])
556         echo
557         echo "ERROR!!! libXft2 is not installed or could not be found."
558         echo "         Xft2 is a requirement for building Window Maker."
559         echo "         Please install it (along with fontconfig) before continuing."
560         echo
561         exit 1
564 minXFT="2.1.0"
565 goodxft="no"
568 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
570 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
572 if test "$goodxft" = no; then
573         echo
574         echo "ERROR!!! libXft on this system is an old version."
575         echo "         Please consider upgrading to at least version ${minXFT}."
576         echo
577         exit 1
580 AC_SUBST(XFTFLAGS)
581 AC_SUBST(XFTLIBS)
584 dnl XINERAMA support
585 dnl ================
586 xinerama=no
587 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
588                 xinerama=$enableval, xinerama=no)
590 LIBXINERAMA=
591 if test "$xinerama" = yes; then
592         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
593                 [LIBXINERAMA=-lXinerama
594                 xfxine=yes],
595                 xfxine=no, $XLFLAGS $XLIBS)
597         AC_CHECK_LIB(Xext, XineramaGetInfo,
598                 [sunxine=yes
599                 ], sunxine=no, $XLFLAGS $XLIBS)
601         if test "$xfxine" = yes; then
602                 xine=1
603         fi
605         if test "$sunxine" = yes; then
606             xine=1
607             AC_DEFINE(SOLARIS_XINERAMA, 1, 
608                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
609         fi
611         if test "$xine" = 1; then
612             AC_DEFINE(XINERAMA, 1, 
613                 [define if you want support for the XINERAMA extension (set by configure)])
614         fi
616 AC_SUBST(LIBXINERAMA)
619 dnl MIT-SHM support
620 dnl ===============
621 shm=yes
622 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
623                 shm=$enableval, shm=yes)
625 if test "$shm" = yes; then
626         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
628         if test "$ok" = yes; then
629         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
630         fi
632         if test "$ok" = yes; then
633                 if test "$added_xext" = no; then
634                         XLIBS="-lXext $XLIBS"
635                 fi
636                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
637         fi
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: