wmaker: Added 'const' attribute to function 'wWindowUpdateName'
[wmaker-crm.git] / configure.ac
blob1066113470efa61cad366509c294ceff79fe5008
1 dnl
2 dnl Window Maker autoconf input.
3 dnl
4 dnl Process with:
5 dnl               aclocal
6 dnl               autoheader
7 dnl               autoconf
8 dnl               libtoolize --force --automake
9 dnl               automake -a --gnu --include-deps
10 dnl
11 dnl
14 AC_INIT(WindowMaker, 0.95.4, , WindowMaker, http://www.windowmaker.org/)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AC_CONFIG_HEADERS(config.h)
18 AM_INIT_AUTOMAKE([1.11 silent-rules])
20 AH_BOTTOM([#include "config-paths.h"])
22 dnl libtool library versioning
23 dnl =======================
24 dnl
25 dnl current
26 dnl revision
27 dnl age
28 dnl
29 dnl 1. Start with version information of ‘0:0:0’ for each libtool library.
30 dnl 2. Update the version information only immediately before a public
31 dnl release of your software. More frequent updates are unnecessary, and
32 dnl only guarantee that the current interface number gets larger faster.
33 dnl 3. If the library source code has changed at all since the last
34 dnl update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
35 dnl 4. If any interfaces have been added, removed, or changed since the
36 dnl last update, increment current, and set revision to 0.
37 dnl 5. If any interfaces have been added since the last public release,
38 dnl then increment age.
39 dnl 6. If any interfaces have been removed or changed since the last
40 dnl public release, then set age to 0.
41 dnl
42 dnl libwraster
43 WRASTER_CURRENT=4
44 WRASTER_REVISION=1
45 WRASTER_AGE=1
46 WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
47 AC_SUBST(WRASTER_VERSION)
48 dnl
49 dnl libWINGs
50 WINGS_CURRENT=2
51 WINGS_REVISION=1
52 WINGS_AGE=0
53 WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
54 AC_SUBST(WINGS_VERSION)
55 dnl
56 dnl libWUtil
57 WUTIL_CURRENT=3
58 WUTIL_REVISION=0
59 WUTIL_AGE=0
60 WUTIL_VERSION=$WUTIL_CURRENT:$WUTIL_REVISION:$WUTIL_AGE
61 AC_SUBST(WUTIL_VERSION)
64 dnl Checks for host/os name
65 dnl =======================
66 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
68 dnl Checks for programs.
69 dnl ===================
70 AC_ISC_POSIX
71 AC_PROG_CC
72 AC_PROG_LN_S
73 AC_PROG_GCC_TRADITIONAL
74 AC_PROG_LIBTOOL
77 dnl Debugging Options
78 dnl =================
79 AC_ARG_ENABLE(debug,
80     [AS_HELP_STRING([--enable-debug], [enable debugging options, @<:@default=no@:>@])],
81     [AS_CASE(["$enableval"],
82         [yes], [debug=yes],
83         [no],  [debug=no],
84         [AC_MSG_ERROR([bad value $enableval for --enable-debug])] )],
85     [debug=no])
86 AS_IF([test "x$debug" = "xyes"],
87     [CFLAGS="-g -O0" ; CPPFLAGS="$CPPFLAGS -DDEBUG"])
90 AX_CFLAGS_GCC_OPTION(-Wall)
91 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
92 AS_IF([test "x$debug" = "xyes"],
93     [dnl When debug is enabled, we try to activate more checks from
94      dnl the compiler. They are on independant check because the
95      dnl macro checks all the options at once, but we may have cases
96      dnl where some options are not supported and we don't want to
97      dnl loose all of them.
98      dnl
99      dnl Floating-point comparison is not a good idea
100      AX_CFLAGS_GCC_OPTION([-Wfloat-equal])
101      dnl
102      dnl Try to report misuses of '&' versus '&&' and similar
103      AX_CFLAGS_GCC_OPTION([-Wlogical-op])
104      dnl
105      dnl Use of 'sizeof()' on inappropriate pointer types
106      AX_CFLAGS_GCC_OPTION([-Wpointer-arith])
107 ], [dnl
108      dnl When debug not enabled, we try to avoid some non-necessary
109      dnl messages from the compiler
110      dnl
111      dnl To support legacy X servers, we have sometime to use
112      dnl functions marked as deprecated. We do not wish our users
113      dnl to be worried about it
114      AX_CFLAGS_GCC_OPTION([-Wno-deprecated])
115      AX_CFLAGS_GCC_OPTION([-Wno-deprecated-declarations])
118 dnl Platform-specific Makefile setup
119 dnl ================================
120 AS_CASE(["$host"],
121     [*-*-linux*|*-*-cygwin*|*-gnu*], [WM_OSDEP="linux" ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600"],
122     [*-*-freebsd*|*-k*bsd-gnu*],     [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"],
123     [*-*-netbsd*],                   [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DNETBSD"],
124     [*-*-openbsd*],                  [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DOPENBSD"],
125     [*-*-dragonfly*],                [WM_OSDEP="bsd"   ; CPPFLAGS="$CPPFLAGS -DDRAGONFLYBSD"],
126     [*-apple-darwin*],               [WM_OSDEP="darwin"],
127     [*-*-solaris*],                  [WM_OSDEP="stub"],  dnl  solaris.c when done
128     [WM_OSDEP="stub"])
129 AM_CONDITIONAL([WM_OSDEP_LINUX],   [test "x$WM_OSDEP" = "xlinux"])
130 AM_CONDITIONAL([WM_OSDEP_BSD],     [test "x$WM_OSDEP" = "xbsd"])
131 AM_CONDITIONAL([WM_OSDEP_DARWIN],  [test "x$WM_OSDEP" = "xdarwin"])
132 AM_CONDITIONAL([WM_OSDEP_GENERIC], [test "x$WM_OSDEP" = "xstub"])
135 dnl the prefix
136 dnl ==========
138 dnl move this earlier in the script... anyone know why this is handled
139 dnl in such a bizarre way?
141 test "x$prefix" = xNONE && prefix=$ac_default_prefix
142 dnl Let make expand exec_prefix.
143 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
146 _bindir=`eval echo $bindir`
147 _bindir=`eval echo $_bindir`
149 lib_search_path='-L${libdir}'
151 inc_search_path='-I${includedir}'
153 dnl ===============================================
154 dnl Specify paths to look for libraries and headers
155 dnl ===============================================
156 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
157         [lib_search_path="$withval $lib_search_path"])
159 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
160         [inc_search_path="$withval $inc_search_path"])
163 dnl Boehm GC
164 dnl ========
165 with_boehm_gc=no
166 AC_ARG_ENABLE([boehm-gc],
167     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
168     [with_boehm_gc=$enableval])
170 AS_IF([test "x$with_boehm_gc" = "xyes"],
171     AC_SEARCH_LIBS([GC_malloc], [gc],
172         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
173         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
174         []
175     )
178 dnl LCOV
179 dnl ====
180 AC_ARG_ENABLE([lcov],
181     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
182     [],
183     [enable_lcov=no])
185 AS_IF([test "x$enable_lcov" != "xno"],
186     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
187     if test "x$enable_lcov" = "xyes"; then
188         lcov_output_directory="coverage-report"
189     else
190         lcov_output_directory="${enable_lcov}/coverage-report"
191     fi
192     AC_SUBST(lcov_output_directory)]
194 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
197 dnl ============================
198 dnl Checks for library functions
199 dnl ============================
200 dnl not used anywhere
201 AC_FUNC_MEMCMP
202 AC_FUNC_VPRINTF
203 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
204                setsid mallinfo mkstemp sysconf)
206 dnl Check for strlcat/strlcpy
207 dnl =========================
208 AC_ARG_WITH([libbsd],
209   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
210   [AS_IF([test "x$with_libbsd" != "xno"],
211     [with_libbsd=bsd]
212     [with_libbsd=]
213   )],
214   [with_libbsd=bsd])
216 tmp_libs=$LIBS
217 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
218   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
219   [],
220   []
222 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
223   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
224   [],
225   []
227 LIBS=$tmp_libs
229 LIBBSD=
230 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
231   [LIBBSD=-lbsd
232    AC_CHECK_HEADERS([bsd/string.h])]
234 AC_SUBST(LIBBSD)
236 dnl Check for OpenBSD kernel memory interface - kvm(3)
237 dnl ==================================================
238 AS_IF([test "x$WM_OSDEP" = "xbsd"],
239   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
241 dnl Check for inotify
242 dnl =================
243 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
246 dnl Checks for header files.
247 dnl =======================
248 AC_HEADER_SYS_WAIT
249 AC_HEADER_TIME
250 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
251                  string.h strings.h)
254 dnl Checks for typedefs, structures, and compiler characteristics.
255 dnl ==============================================================
256 AC_DECL_SYS_SIGLIST
257 AC_C_CONST
258 AC_C_INLINE
259 WM_C_NORETURN
260 AC_TYPE_SIZE_T
261 AC_TYPE_PID_T
262 AC_TYPE_SIGNAL
265 dnl pkg-config
266 dnl ==========
267 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
268 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
270 dnl gettext
271 dnl =======
273 dnl AM_GNU_GETTEXT
275 INTLIBS=""
277 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
278         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
279                          INTLIBS="" ))
281 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
283 if test "$XGETTEXT" != ""; then 
284     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
285         echo "xgettext isn't GNU version"
286         XGETTEXT=""
287     fi
290 if test "$LINGUAS" != ""; then
291     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
292         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
293         PO=""
294         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
295     else
296         LINGUAS=""
297         PO=""
298         echo "xgettext and libintl.a don't both exist; will not build i18n support"
299     fi
300 else
301         INTLIBS=""
302         MOFILES=""
303         WPMOFILES=""
304         UTILMOFILES=""
305         PO=""
309 dnl The Tower of Babel
310 dnl ==================
312 dnl List of supported locales
313 dnl =========================
314 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"
315 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
316 supported_wings_locales="bg ca cs de fr sk"
317 supported_util_locales="de es fr pt"
319 for lang in $LINGUAS; do
320         ok=0
321         for l in $supported_locales; do
322                 if test "$l" = "$lang"; then
323                         ok=1
324                         break
325                 fi
326         done
327         if test "$ok" = 1; then
328                 MOFILES="$MOFILES $lang.mo"
329         else
330                 echo "Locale $lang is not supported."
331         fi
332         ok=0
333         for l in $supported_wprefs_locales; do
334                 if test "$l" = "$lang"; then
335                         ok=1
336                         break
337                 fi
338         done
339         if test "$ok" = 1; then
340                 WPMOFILES="$WPMOFILES $lang.mo"
341         fi
342         ok=0
343         for l in $supported_util_locales; do
344                 if test "$l" = "$lang"; then
345                         ok=1
346                         break
347                 fi
348         done
349         if test "$ok" = 1; then
350                 UTILMOFILES="$UTILMOFILES $lang.mo"
351         fi
352         ok=0
353         for l in $supported_wings_locales; do
354                 if test "$l" = "$lang"; then
355                         ok=1
356                         break
357                 fi
358         done
359         if test "$ok" = 1; then
360                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
361         fi
362 done
365 dnl Added by Oliver - Support for NLSDIR option
366 dnl ===========================================
367 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
369 if test "x$NLSDIR" = "x"; then
370         if test "x$with_nlsdir" != "x"; then
371                 NLSDIR=$with_nlsdir
372         else
373                 NLSDIR='$(prefix)/lib/locale'
374         fi
377 menutextdomain=
378 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
379         [if test "x$withval" != "xno"; then
380          menutextdomain=$withval
381          fi])
382 AC_SUBST(menutextdomain)
384 AC_SUBST(INTLIBS)
385 AC_SUBST(NLSDIR)
386 AC_SUBST(MOFILES)
387 AC_SUBST(WPMOFILES)
388 AC_SUBST(UTILMOFILES)
389 AC_SUBST(WINGSMOFILES)
390 AC_SUBST(supported_locales)
392 dnl ===========================================
393 dnl             Stuff that uses X
394 dnl ===========================================
396 AC_PATH_XTRA
398 if test $no_x; then
399     AC_MSG_ERROR([The path for the X11 files not found!
400 Make sure you have X and it's headers and libraries (the -devel packages
401 in Linux) installed.])
404 X_LIBRARY_PATH=$x_libraries
405 XCFLAGS="$X_CFLAGS"
406 XLFLAGS="$X_LIBS"
407 XLIBS="-lX11 $X_EXTRA_LIBS"
408 LIBXMU="-lXmu"
409 AC_SUBST(LIBXMU)
411 lib_search_path="$lib_search_path $XLFLAGS"
412 inc_search_path="$inc_search_path $XCFLAGS"
414 AC_SUBST(X_LIBRARY_PATH)
416 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
417 dnl by MANOME Tomonori 
418 dnl ===========================================
419 use_locale=yes
420 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
421               use_locale=no)
423 if test "$use_locale" = yes; then
424         AC_CHECK_LIB(X11, _Xsetlocale,
425                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
426                 $XLFLAGS $XLIBS)
429 dnl Check whether XInternAtoms() exist
430 dnl ==================================
431 AC_CHECK_LIB(X11, XInternAtoms, 
432              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
433              $XLFLAGS $XLIBS)
435 dnl Check whether XConvertCase() exist
436 dnl ==================================
437 AC_CHECK_LIB(X11, XConvertCase, 
438              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
439              $XLFLAGS $XLIBS)
441 dnl XKB keyboard language status
442 dnl ============================
443 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
444                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
446 dnl Shape support
447 dnl =============
448 shape=yes
449 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
450                 shape=$enableval, shape=yes)
451 added_xext=no
453 if test "$shape" = yes; then
454         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
455                 added_xext=yes
456                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
457                 shape=no, $XLFLAGS $XLIBS)
460 dnl XRandR support
461 dnl ==============
462 xrandr=no
463 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
464                 xrandr=$enableval, xrandr=no)
465 added_xext=no
467 LIBXRANDR=
468 if test "$xrandr" = yes; then
469         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
470                 added_xext=yes
471                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
472                 xrandr=no, $XLFLAGS $XLIBS)
474 AC_SUBST(LIBXRANDR)
477 dnl libWINGS uses math functions, check whether usage requires linking
478 dnl against libm
480 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
481 if test "x$mathneedslibm" = "xdunno" ; then
482         AC_CHECK_LIB(m, atan, [LIBM=-lm])
484 AC_SUBST(LIBM)
488 dnl libWINGS uses FcPatternDel from libfontconfig
490 AC_MSG_CHECKING([for fontconfig library])
491 FCLIBS=`$PKGCONFIG fontconfig --libs`
492 if test "x$FCLIBS" = "x" ; then
493         AC_MSG_RESULT([not found])
494 else
495         AC_MSG_RESULT([found])
497 AC_SUBST(FCLIBS)
500 dnl Xft2 antialiased font support
501 dnl =============================
503 xft=yes
504 XFTLIBS=""
506 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
507         XFTCONFIG="$PKGCONFIG xft"
508         pkgconfig_xft=yes
509 else
510         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
513 AC_MSG_CHECKING([for the Xft2 library])
515 if test "x$XFTCONFIG" != x; then
516         XFTLIBS=`$XFTCONFIG --libs`
517         XFTFLAGS=`$XFTCONFIG --cflags`
518         AC_MSG_RESULT([found])
519 else
520         AC_MSG_RESULT([not found])
521         echo
522         echo "ERROR!!! libXft2 is not installed or could not be found."
523         echo "         Xft2 is a requirement for building Window Maker."
524         echo "         Please install it (along with fontconfig) before continuing."
525         echo
526         exit 1
529 minXFT="2.1.0"
530 goodxft="no"
533 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
535 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
537 if test "$goodxft" = no; then
538         echo
539         echo "ERROR!!! libXft on this system is an old version."
540         echo "         Please consider upgrading to at least version ${minXFT}."
541         echo
542         exit 1
545 AC_SUBST(XFTFLAGS)
546 AC_SUBST(XFTLIBS)
549 dnl XINERAMA support
550 dnl ================
551 xinerama=no
552 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
553                 xinerama=$enableval, xinerama=no)
555 LIBXINERAMA=
556 if test "$xinerama" = yes; then
557         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
558                 [LIBXINERAMA=-lXinerama
559                 xfxine=yes],
560                 xfxine=no, $XLFLAGS $XLIBS)
562         AC_CHECK_LIB(Xext, XineramaGetInfo,
563                 [sunxine=yes
564                 ], sunxine=no, $XLFLAGS $XLIBS)
566         if test "$xfxine" = yes; then
567                 xine=1
568         fi
570         if test "$sunxine" = yes; then
571             xine=1
572             AC_DEFINE(SOLARIS_XINERAMA, 1, 
573                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
574         fi
576         if test "$xine" = 1; then
577             AC_DEFINE(XINERAMA, 1, 
578                 [define if you want support for the XINERAMA extension (set by configure)])
579         fi
581 AC_SUBST(LIBXINERAMA)
584 dnl MIT-SHM support
585 dnl ===============
586 shm=yes
587 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
588                 shm=$enableval, shm=yes)
590 if test "$shm" = yes; then
591         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
593         if test "$ok" = yes; then
594         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
595         fi
597         if test "$ok" = yes; then
598                 if test "$added_xext" = no; then
599                         XLIBS="-lXext $XLIBS"
600                 fi
601                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
602         fi
606 dnl R6 Style Session Management Support
607 dnl ===================================
611 #AC_DEFINE(R6SM)
612 #AC_SUBST(XSMPLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
620 dnl XPM Support
621 dnl ===========
622 xpm=yes
623 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
624         xpm=$enableval, xpm=yes)
626 if test "$xpm" = yes; then
627     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
629     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
630         WM_CHECK_HEADER(X11/xpm.h)
631         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
632                 GFXLIBS="$GFXLIBS -lXpm"
633                 supported_gfx="XPM"
634                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
635         else
636                 supported_gfx="builtin-XPM"
637         fi
638     fi
641 # for wmlib
642 AC_SUBST(XCFLAGS)
643 # for test
644 AC_SUBST(XLFLAGS)
645 AC_SUBST(XLIBS)
646 AC_SUBST(X_EXTRA_LIBS)
648 dnl ===============================================
649 dnl             End of stuff that uses X
650 dnl ===============================================
652 dnl PNG Support
653 dnl ===========
654 png=yes
655 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
656         png=$enableval, png=yes, png=no)
658 if test "$png" = yes ; then
659     my_libname=""
660     WM_CHECK_LIB(png, png_get_valid, [-lm])
661     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
662         my_libname="-lpng"
663     fi
665 dnl Retry with zlib
667     if test "x$my_libname" = x; then
668         unset ac_cv_lib_png_png_get_valid
669         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
670         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
671             my_libname="-lpng -lz"
672         fi
673     fi
675     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
676         WM_CHECK_HEADER(png.h)
677         if test "x$ac_cv_header_png_h" = xyes; then
678             GFXLIBS="$GFXLIBS $my_libname"
679             supported_gfx="$supported_gfx PNG"
680             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
681         fi
682     fi
686 dnl JPEG Support
687 dnl ============
688 jpeg=yes
689 ljpeg=""
690 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
691         jpeg=$enableval, jpeg=yes, jpeg=no)
693 if test "$jpeg" = yes; then
694     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
696     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
698         ljpeg="-ljpeg"
700         WM_CHECK_HEADER(jpeglib.h)
701         if test "x$ac_cv_header_jpeglib_h" = xyes; then
702             GFXLIBS="$GFXLIBS -ljpeg"
703             supported_gfx="$supported_gfx JPEG"
704             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
705         fi
706     fi
710 dnl GIF Support
711 dnl ============
712 gif=yes
713 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
714         gif=$enableval, gif=yes, gif=no)
716 if test "$gif" = yes; then
717     my_libname=""
718     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
719     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
720         my_libname=-lungif
721     fi
723 dnl libungif is the same thing as libgif for all practical purposes.
725     if test "x$my_libname" = x; then
726         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
727         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
728             my_libname=-lgif
729         fi
730     fi
732     if test "$my_libname" != x; then
733         WM_CHECK_HEADER(gif_lib.h)
734         if test "x$ac_cv_header_gif_lib_h" = xyes; then
735             GFXLIBS="$GFXLIBS $my_libname"
736             supported_gfx="$supported_gfx GIF"
737             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
738         fi
739     fi
744 dnl TIFF Support
745 dnl ============
746 AC_ARG_ENABLE(tiff, 
747 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
748         tif=$enableval, tif=yes, tif=no)
751 # TIFF can optionally have JPEG and/or zlib support. Must find out
752 # when they are supported so that correct library flags are passed during
753 # detection and linkage
756 # By default use xpm icons if tiff is not found.
757 ICONEXT="xpm"
760 if test "$tif" = yes; then
761     my_libname=""
762     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
763     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
764         my_libname="-ltiff"
765     fi
767 dnl Retry with zlib
769     unset ac_cv_lib_tiff_TIFFGetVersion
770     if test "x$my_libname" = x; then
771         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
772         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
773             my_libname="-ltiff -lz"
774         fi
775     fi
777     if test "x$my_libname" = x; then
778         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
779         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
780             my_libname="-ltiff34"
781         fi
782     fi
785     if test "x$my_libname" != x; then
786         WM_CHECK_HEADER(tiffio.h)
787         if test "x$ac_cv_header_tiffio_h" = xyes; then
788             GFXLIBS="$my_libname $GFXLIBS"
789             ICONEXT="tiff"
790             supported_gfx="$supported_gfx TIFF"
791             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
792         fi
793     fi
796 LIBRARY_SEARCH_PATH="$lib_search_path"
797 HEADER_SEARCH_PATH="$inc_search_path"
799 AC_SUBST(LIBRARY_SEARCH_PATH)
800 AC_SUBST(HEADER_SEARCH_PATH)
803 AC_SUBST(GFXLIBS)
804 AC_SUBST(ICONEXT)
805 AM_CONDITIONAL([ICON_EXT_XPM],  [test "x$ICONEXT" = "xxpm"])
806 AM_CONDITIONAL([ICON_EXT_TIFF], [test "x$ICONEXT" = "xtiff"])
809 dnl ==============================================
810 dnl         End of Graphic Format Libraries
811 dnl ==============================================
815 dnl stdlib.h is checked here, because of conflict in jpeglib.h
816 AC_CHECK_HEADERS(stdlib.h)
818 # AC_PREFIX_PROGRAM(wmaker)
820 dnl Support for PIXMAPDIR option
821 dnl ============================
822 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
824 if test "x$with_pixmapdir" != "x"; then
825         pixmapdir=$with_pixmapdir
826 else
827         pixmapdir='${datadir}/pixmaps'
829 AC_SUBST(pixmapdir)
832 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
833 dnl ==============================================
835 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
837 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
838     appspath=$with_gnustepdir
841 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
842     wprefs_base_dir=${prefix}
843     wprefs_datadir="${datadir}/WPrefs"
844     wprefs_bindir="${bindir}"
845 else
846     gnustepdir=$appspath
848     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
849         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
850         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
851     fi
853     wprefs_base_dir=$gnustepdir/Applications
854     wprefs_datadir=$wprefs_base_dir/WPrefs.app
855     wprefs_bindir=$wprefs_base_dir/WPrefs.app
858 AC_SUBST(wprefs_datadir)
859 AC_SUBST(wprefs_bindir)
862 dnl Enable User Defined Menu thing
863 dnl ==============================
864 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
865 if test "$enableval" = yes; then
866         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
870 gl_LD_VERSION_SCRIPT
872 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
873         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
874         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
875         WINGs/Extras/Makefile WINGs/po/Makefile \
876         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
877         src/Makefile src/wconfig.h \
878         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
879         doc/ru/Makefile \
880         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
881         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
882         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
883         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
884         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
885         WPrefs.app/po/Makefile )
888 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
889 dnl ===================================================================
891 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
892 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
893 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
895 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
896 dnl parsed by m4
898 AC_SUBST(lib_search_path)
899 AC_SUBST(inc_search_path)
902 dnl Spit out the configuration
903 dnl ==========================
905 supported_gfx="$supported_gfx builtin-PPM"
907 if test "x$MOFILES" = "x"; then
908         mof=None
909 else
910         mof=`echo $MOFILES`
913 if test "x$MOFILES" = "x"; then
914         languages=None
915 else
916         languages=`echo $MOFILES | sed 's/.mo//g'`
919 echo
920 echo "Window Maker was configured as follows:"
921 echo
922 echo "Installation path prefix            : $prefix"
923 echo "Installation path for binaries      : $_bindir"
924 echo "Installation path for libraries     : $libdir"
925 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
926 echo "Supported graphic format libraries  : $supported_gfx"
927 echo "Antialiased text support in WINGs   : $xft"
928 echo "Xinerama extension support          : $xinerama"
929 echo "XRandR extension support            : $xrandr"
930 echo "Translated message files to install : $mof"
931 dnl echo "Supported languages beside English  : $languages"
932 if test "x$MOFILES" != "x"; then
933         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
935 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
936 echo
938 dnl WM_PRINT_REDCRAP_BUG_STATUS
940 if test "x$ac_cv_header_jpeglib_h" != xyes; then
941 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
942 echo
943 echo "JPEG support will not be included because the JPEG library is"
944 echo "not installed correctly or was not found. Background images"
945 echo "from themes will not display as they usually are JPEG files."
946 echo
947 echo "To fix, download and install the jpeg library and/or make sure you"
948 echo "installed all jpeg related packages, SPECIALLY the development packages"
949 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
950 echo
951 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
955 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
956 dnl ================================================
957 dnl Local Variables:
958 dnl compile-command: "autoconf"
959 dnl End: