Fix compilation in FreeBSD
[wmaker-crm.git] / configure.ac
blobf1084243530477acdefefd1f437331134f7122f8
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.94.0-crm, , WindowMaker, http://www.windowmaker.info/)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AM_CONFIG_HEADER(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=0
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=2
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
76 AX_CFLAGS_GCC_OPTION(-Wall)
77 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
79 dnl Platform-specific Makefile setup
80 dnl ================================
82 case "${host}" in
83         *-*-linux*|*-*-cygwin*)
84                 WM_OSDEP="linux"
85         ;;
86         *-*-freebsd*)
87                 WM_OSDEP="bsd"
88                 CFLAGS="$CFLAGS -DFREEBSD"
89         ;;
90         *-*-netbsd*)
91                 WM_OSDEP="bsd"
92                 CFLAGS="$CFLAGS -DNETBSD"
93         ;;
94         *-*-openbsd*)
95                 WM_OSDEP="bsd"
96         CFLAGS="$CFLAGS -DOPENBSD"
97         ;;
98         *-*-dragonfly*)
99                 WM_OSDEP="bsd"
100                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
101         ;;
102         *-apple-darwin*)
103                 WM_OSDEP="darwin"
104         ;;
105         *-*-solaris*)
106                 WM_OSDEP="stub"         # solaris.c when done
107         ;;
108         *)
109                 WM_OSDEP="stub"
110         ;;
111 esac
112 AC_SUBST(WM_OSDEP)
115 dnl the prefix
116 dnl ==========
118 dnl move this earlier in the script... anyone know why this is handled
119 dnl in such a bizarre way?
121 test "x$prefix" = xNONE && prefix=$ac_default_prefix
122 dnl Let make expand exec_prefix.
123 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
126 _bindir=`eval echo $bindir`
127 _bindir=`eval echo $_bindir`
129 lib_search_path='-L${libdir}'
131 inc_search_path='-I${includedir}'
133 dnl ===============================================
134 dnl Specify paths to look for libraries and headers
135 dnl ===============================================
136 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
137         [lib_search_path="$withval $lib_search_path"])
139 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
140         [inc_search_path="$withval $inc_search_path"])
143 dnl Boehm GC
144 dnl ========
145 with_boehm_gc=no
146 AC_ARG_ENABLE([boehm-gc],
147     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
148     [with_boehm_gc=$enableval])
150 AS_IF([test "x$with_boehm_gc" = "xyes"],
151     AC_SEARCH_LIBS([GC_malloc], [gc],
152         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
153         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]
154     )
157 dnl LCOV
158 dnl ====
159 AC_ARG_ENABLE([lcov],
160     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
161     [],
162     [enable_lcov=no])
164 AS_IF([test "x$enable_lcov" != "xno"],
165     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
166     if test "x$enable_lcov" = "xyes"; then
167         lcov_output_directory="coverage-report"
168     else
169         lcov_output_directory="${enable_lcov}/coverage-report"
170     fi
171     AC_SUBST(lcov_output_directory)]
173 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
176 dnl ============================
177 dnl Checks for library functions
178 dnl ============================
179 dnl not used anywhere
180 AC_FUNC_MEMCMP
181 AC_FUNC_VPRINTF
182 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
183                setsid mallinfo mkstemp sysconf)
185 dnl Check for strlcat/strlcpy
186 dnl =========================
187 AC_ARG_WITH([libbsd],
188   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
189   [AS_IF([test "x$with_libbsd" != "xno"],
190     [with_libbsd=bsd]
191     [with_libbsd=]
192   )],
193   [with_libbsd=bsd])
195 tmp_libs=$LIBS
196 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
197   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
198   []
200 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
201   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
202   []
204 LIBS=$tmp_libs
206 LIBBSD=
207 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
208   [LIBBSD=-lbsd
209    AC_CHECK_HEADERS([bsd/string.h])]
211 AC_SUBST(LIBBSD)
213 dnl Check for inotify
214 dnl =================
215 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
217 dnl Check CPP
218 dnl =========
219 if test "x$CPP_PATH" = x; then
220     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
221                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
225 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
226 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
227 dnl standard locations
229 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
230     if test "$GCC" = "yes"; then
231         CPP_PATH="gcc -E -x c"
232     else 
233         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
234             CPP_PATH="$CPP_PATH -B"
235         else
236             echo "cpp, the C preprocessor was not found in your system."
237             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
238             exit
239         fi
240     fi
245 dnl Checks for header files.
246 dnl =======================
247 AC_HEADER_SYS_WAIT
248 AC_HEADER_TIME
249 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
250                  string.h strings.h)
253 dnl Checks for typedefs, structures, and compiler characteristics.
254 dnl ==============================================================
255 AC_DECL_SYS_SIGLIST
256 AC_C_CONST
257 AC_TYPE_SIZE_T
258 AC_TYPE_PID_T
259 AC_TYPE_SIGNAL
262 dnl pkg-config
263 dnl ==========
264 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
265 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
267 dnl gettext
268 dnl =======
270 dnl AM_GNU_GETTEXT
272 INTLIBS=""
274 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
275         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
276                          INTLIBS="" ))
278 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
280 if test "$XGETTEXT" != ""; then 
281     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
282         echo "xgettext isn't GNU version"
283         XGETTEXT=""
284     fi
287 if test "$LINGUAS" != ""; then
288     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
289         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
290         PO=""
291         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
292     else
293         LINGUAS=""
294         PO=""
295         echo "xgettext and libintl.a don't both exist; will not build i18n support"
296     fi
297 else
298         INTLIBS=""
299         MOFILES=""
300         WPMOFILES=""
301         UTILMOFILES=""
302         PO=""
306 dnl The Tower of Babel
307 dnl ==================
309 dnl List of supported locales
310 dnl =========================
311 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"
312 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
313 supported_wings_locales="bg ca cs de fr sk"
314 supported_util_locales="de es fr"
316 for lang in $LINGUAS; do
317         ok=0
318         for l in $supported_locales; do
319                 if test "$l" = "$lang"; then
320                         ok=1
321                         break
322                 fi
323         done
324         if test "$ok" = 1; then
325                 MOFILES="$MOFILES $lang.mo"
326         else
327                 echo "Locale $lang is not supported."
328         fi
329         ok=0
330         for l in $supported_wprefs_locales; do
331                 if test "$l" = "$lang"; then
332                         ok=1
333                         break
334                 fi
335         done
336         if test "$ok" = 1; then
337                 WPMOFILES="$WPMOFILES $lang.mo"
338         fi
339         ok=0
340         for l in $supported_util_locales; do
341                 if test "$l" = "$lang"; then
342                         ok=1
343                         break
344                 fi
345         done
346         if test "$ok" = 1; then
347                 UTILMOFILES="$UTILMOFILES $lang.mo"
348         fi
349         ok=0
350         for l in $supported_wings_locales; do
351                 if test "$l" = "$lang"; then
352                         ok=1
353                         break
354                 fi
355         done
356         if test "$ok" = 1; then
357                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
358         fi
359 done
362 dnl Added by Oliver - Support for NLSDIR option
363 dnl ===========================================
364 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
366 if test "x$NLSDIR" = "x"; then
367         if test "x$with_nlsdir" != "x"; then
368                 NLSDIR=$with_nlsdir
369         else
370                 NLSDIR='$(prefix)/lib/locale'
371         fi
374 menutextdomain=
375 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
376         [if test "x$withval" != "xno"; then
377          menutextdomain=$withval
378          fi])
379 AC_SUBST(menutextdomain)
381 AC_SUBST(INTLIBS)
382 AC_SUBST(NLSDIR)
383 AC_SUBST(MOFILES)
384 AC_SUBST(WPMOFILES)
385 AC_SUBST(UTILMOFILES)
386 AC_SUBST(WINGSMOFILES)
387 AC_SUBST(supported_locales)
389 dnl ===========================================
390 dnl             Stuff that uses X
391 dnl ===========================================
393 AC_PATH_XTRA
395 if test $no_x; then
396     AC_MSG_ERROR([The path for the X11 files not found!
397 Make sure you have X and it's headers and libraries (the -devel packages
398 in Linux) installed.])
401 X_LIBRARY_PATH=$x_libraries
402 XCFLAGS="$X_CFLAGS"
403 XLFLAGS="$X_LIBS"
404 XLIBS="-lX11 $X_EXTRA_LIBS"
405 LIBXMU="-lXmu"
406 AC_SUBST(LIBXMU)
408 lib_search_path="$lib_search_path $XLFLAGS"
409 inc_search_path="$inc_search_path $XCFLAGS"
411 AC_SUBST(X_LIBRARY_PATH)
413 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
414 dnl by MANOME Tomonori 
415 dnl ===========================================
416 use_locale=yes
417 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
418               use_locale=no)
420 if test "$use_locale" = yes; then
421         AC_CHECK_LIB(X11, _Xsetlocale,
422                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
423                 $XLFLAGS $XLIBS)
426 dnl Check whether XInternAtoms() exist
427 dnl ==================================
428 AC_CHECK_LIB(X11, XInternAtoms, 
429              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
430              $XLFLAGS $XLIBS)
432 dnl Check whether XConvertCase() exist
433 dnl ==================================
434 AC_CHECK_LIB(X11, XConvertCase, 
435              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
436              $XLFLAGS $XLIBS)
438 dnl XKB keyboard language status
439 dnl ============================
440 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
441                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
443 dnl Shape support
444 dnl =============
445 shape=yes
446 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
447                 shape=$enableval, shape=yes)
448 added_xext=no
450 if test "$shape" = yes; then
451         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
452                 added_xext=yes
453                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
454                 shape=no, $XLFLAGS $XLIBS)
457 dnl XRandR support
458 dnl ==============
459 xrandr=no
460 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support]),
461                 xrandr=$enableval, xrandr=no)
462 added_xext=no
464 LIBXRANDR=
465 if test "$xrandr" = yes; then
466         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
467                 added_xext=yes
468                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
469                 xrandr=no, $XLFLAGS $XLIBS)
471 AC_SUBST(LIBXRANDR)
474 dnl libWINGS uses math functions, check whether usage requires linking
475 dnl against libm
477 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
478 if test "x$mathneedslibm" = "xdunno" ; then
479         AC_CHECK_LIB(m, atan, [LIBM=-lm])
481 AC_SUBST(LIBM)
485 dnl libWINGS uses FcPatternDel from libfontconfig
487 AC_MSG_CHECKING([for fontconfig library])
488 FCLIBS=`$PKGCONFIG fontconfig --libs`
489 if test "x$FCLIBS" = "x" ; then
490         AC_MSG_RESULT([not found])
491 else
492         AC_MSG_RESULT([found])
494 AC_SUBST(FCLIBS)
497 dnl Xft2 antialiased font support
498 dnl =============================
500 xft=yes
501 XFTLIBS=""
503 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
504         XFTCONFIG="$PKGCONFIG xft"
505         pkgconfig_xft=yes
506 else
507         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
510 AC_MSG_CHECKING([for the Xft2 library])
512 if test "x$XFTCONFIG" != x; then
513         XFTLIBS=`$XFTCONFIG --libs`
514         XFTFLAGS=`$XFTCONFIG --cflags`
515         AC_MSG_RESULT([found])
516 else
517         AC_MSG_RESULT([not found])
518         echo
519         echo "ERROR!!! libXft2 is not installed or could not be found."
520         echo "         Xft2 is a requirement for building Window Maker."
521         echo "         Please install it (along with fontconfig) before continuing."
522         echo
523         exit 1
526 minXFT="2.1.0"
527 goodxft="no"
530 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
532 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
534 if test "$goodxft" = no; then
535         echo
536         echo "ERROR!!! libXft on this system is an old version."
537         echo "         Please consider upgrading to at least version ${minXFT}."
538         echo
539         exit 1
542 AC_SUBST(XFTFLAGS)
543 AC_SUBST(XFTLIBS)
546 dnl XINERAMA support
547 dnl ================
548 xinerama=no
549 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
550                 xinerama=$enableval, xinerama=no)
552 LIBXINERAMA=
553 if test "$xinerama" = yes; then
554         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
555                 [LIBXINERAMA=-lXinerama
556                 xfxine=yes],
557                 xfxine=no, $XLFLAGS $XLIBS)
559         AC_CHECK_LIB(Xext, XineramaGetInfo,
560                 [sunxine=yes
561                 ], sunxine=no, $XLFLAGS $XLIBS)
563         if test "$xfxine" = yes; then
564                 xine=1
565         fi
567         if test "$sunxine" = yes; then
568             xine=1
569             AC_DEFINE(SOLARIS_XINERAMA, 1, 
570                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
571         fi
573         if test "$xine" = 1; then
574             AC_DEFINE(XINERAMA, 1, 
575                 [define if you want support for the XINERAMA extension (set by configure)])
576         fi
578 AC_SUBST(LIBXINERAMA)
581 dnl MIT-SHM support
582 dnl ===============
583 shm=yes
584 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
585                 shm=$enableval, shm=yes)
587 if test "$shm" = yes; then
588         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
590         if test "$ok" = yes; then
591         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
592         fi
594         if test "$ok" = yes; then
595                 if test "$added_xext" = no; then
596                         XLIBS="-lXext $XLIBS"
597                 fi
598                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
599         fi
603 dnl R6 Style Session Management Support
604 dnl ===================================
608 #AC_DEFINE(R6SM)
609 #AC_SUBST(XSMPLIBS)
613 dnl ==============================================
614 dnl         Graphic Format Libraries
615 dnl ==============================================
617 dnl XPM Support
618 dnl ===========
619 xpm=yes
620 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
621         xpm=$enableval, xpm=yes)
623 if test "$xpm" = yes; then
624     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
626     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
627         WM_CHECK_HEADER(X11/xpm.h)
628         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
629                 GFXLIBS="$GFXLIBS -lXpm"
630                 supported_gfx="XPM"
631                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
632         else
633                 supported_gfx="builtin-XPM"
634         fi
635     fi
638 AC_SUBST(XLFLAGS)
639 AC_SUBST(XLIBS)
640 AC_SUBST(X_EXTRA_LIBS)
642 dnl ===============================================
643 dnl             End of stuff that uses X
644 dnl ===============================================
646 dnl PNG Support
647 dnl ===========
648 png=yes
649 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
650         png=$enableval, png=yes, png=no)
652 if test "$png" = yes ; then
653     my_libname=""
654     WM_CHECK_LIB(png, png_get_valid, [-lm])
655     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
656         my_libname="-lpng"
657     fi
659 dnl Retry with zlib
661     if test "x$my_libname" = x; then
662         unset ac_cv_lib_png_png_get_valid
663         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
664         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
665             my_libname="-lpng -lz"
666         fi
667     fi
669     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
670         WM_CHECK_HEADER(png.h)
671         if test "x$ac_cv_header_png_h" = xyes; then
672             GFXLIBS="$GFXLIBS $my_libname"
673             supported_gfx="$supported_gfx PNG"
674             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
675         fi
676     fi
680 dnl JPEG Support
681 dnl ============
682 jpeg=yes
683 ljpeg=""
684 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
685         jpeg=$enableval, jpeg=yes, jpeg=no)
687 if test "$jpeg" = yes; then
688     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
690     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
692         ljpeg="-ljpeg"
694         WM_CHECK_HEADER(jpeglib.h)
695         if test "x$ac_cv_header_jpeglib_h" = xyes; then
696             GFXLIBS="$GFXLIBS -ljpeg"
697             supported_gfx="$supported_gfx JPEG"
698             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
699         fi
700     fi
704 dnl GIF Support
705 dnl ============
706 gif=yes
707 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
708         gif=$enableval, gif=yes, gif=no)
710 if test "$gif" = yes; then
711     my_libname=""
712     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
713     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
714         my_libname=-lungif
715     fi
717 dnl libungif is the same thing as libgif for all practical purposes.
719     if test "x$my_libname" = x; then
720         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
721         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
722             my_libname=-lgif
723         fi
724     fi
726     if test "$my_libname" != x; then
727         WM_CHECK_HEADER(gif_lib.h)
728         if test "x$ac_cv_header_gif_lib_h" = xyes; then
729             GFXLIBS="$GFXLIBS $my_libname"
730             supported_gfx="$supported_gfx GIF"
731             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
732         fi
733     fi
738 dnl TIFF Support
739 dnl ============
740 AC_ARG_ENABLE(tiff, 
741 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
742         tif=$enableval, tif=yes, tif=no)
745 # TIFF can optionally have JPEG and/or zlib support. Must find out
746 # when they are supported so that correct library flags are passed during
747 # detection and linkage
750 # By default use xpm icons if tiff is not found.
751 ICONEXT="xpm"
754 if test "$tif" = yes; then
755     my_libname=""
756     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
757     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
758         my_libname="-ltiff"
759     fi
761 dnl Retry with zlib
763     unset ac_cv_lib_tiff_TIFFGetVersion
764     if test "x$my_libname" = x; then
765         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
766         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
767             my_libname="-ltiff -lz"
768         fi
769     fi
771     if test "x$my_libname" = x; then
772         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
773         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
774             my_libname="-ltiff34"
775         fi
776     fi
779     if test "x$my_libname" != x; then
780         WM_CHECK_HEADER(tiffio.h)
781         if test "x$ac_cv_header_tiffio_h" = xyes; then
782             GFXLIBS="$my_libname $GFXLIBS"
783             ICONEXT="tiff"
784             supported_gfx="$supported_gfx TIFF"
785             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
786         fi
787     fi
790 LIBRARY_SEARCH_PATH="$lib_search_path"
791 HEADER_SEARCH_PATH="$inc_search_path"
793 AC_SUBST(LIBRARY_SEARCH_PATH)
794 AC_SUBST(HEADER_SEARCH_PATH)
797 AC_SUBST(GFXLIBS)
798 AC_SUBST(ICONEXT)
801 dnl ==============================================
802 dnl         End of Graphic Format Libraries
803 dnl ==============================================
807 dnl stdlib.h is checked here, because of conflict in jpeglib.h
808 AC_CHECK_HEADERS(stdlib.h)
810 # AC_PREFIX_PROGRAM(wmaker)
812 dnl Support for PIXMAPDIR option
813 dnl ============================
814 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
816 if test "x$with_pixmapdir" != "x"; then
817         pixmapdir=$with_pixmapdir
818 else
819         pixmapdir='${datadir}/pixmaps'
821 AC_SUBST(pixmapdir)
824 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
825 dnl ==============================================
827 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
829 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
830     appspath=$with_gnustepdir
833 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
834     wprefs_base_dir=${prefix}
835     wprefs_datadir="${datadir}/WPrefs"
836     wprefs_bindir="${bindir}"
837 else
838     gnustepdir=$appspath
840     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
841         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
842         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
843     fi
845     wprefs_base_dir=$gnustepdir/Applications
846     wprefs_datadir=$wprefs_base_dir/WPrefs.app
847     wprefs_bindir=$wprefs_base_dir/WPrefs.app
850 AC_SUBST(wprefs_datadir)
851 AC_SUBST(wprefs_bindir)
854 dnl Enable User Defined Menu thing
855 dnl ==============================
856 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
857 if test "$enableval" = yes; then
858         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
862 gl_LD_VERSION_SCRIPT
864 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
865         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
866         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
867         WINGs/Extras/Makefile WINGs/po/Makefile \
868         wrlib/Makefile wrlib/tests/Makefile \
869         src/Makefile src/wconfig.h \
870         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
871         doc/ru/Makefile \
872         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
873         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
874         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
875         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
876         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
877         WPrefs.app/po/Makefile )
880 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
881 dnl ===================================================================
883 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
884 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
885 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
887 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
888 dnl parsed by m4
890 AC_SUBST(lib_search_path)
891 AC_SUBST(inc_search_path)
894 dnl Spit out the configuration
895 dnl ==========================
897 supported_gfx="$supported_gfx builtin-PPM"
899 if test "x$MOFILES" = "x"; then
900         mof=None
901 else
902         mof=`echo $MOFILES`
905 if test "x$MOFILES" = "x"; then
906         languages=None
907 else
908         languages=`echo $MOFILES | sed 's/.mo//g'`
911 echo
912 echo "Window Maker was configured as follows:"
913 echo
914 echo "Installation path prefix            : $prefix"
915 echo "Installation path for binaries      : $_bindir"
916 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
917 echo "Supported graphic format libraries  : $supported_gfx"
918 echo "Antialiased text support in WINGs   : $xft"
919 echo "Xinerama extension support          : $xinerama"
920 echo "XRandR extension support            : $xrandr"
921 echo "Translated message files to install : $mof"
922 dnl echo "Supported languages beside English  : $languages"
923 if test "x$MOFILES" != "x"; then
924         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
926 echo
928 dnl WM_PRINT_REDCRAP_BUG_STATUS
930 if test "x$ac_cv_header_jpeglib_h" != xyes; then
931 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
932 echo
933 echo "JPEG support will not be included because the JPEG library is"
934 echo "not installed correctly or was not found. Background images"
935 echo "from themes will not display as they usually are JPEG files."
936 echo
937 echo "To fix, download and install the jpeg library and/or make sure you"
938 echo "installed all jpeg related packages, SPECIALLY the development packages"
939 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
940 echo
941 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
945 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
946 dnl ================================================
947 dnl Local Variables:
948 dnl compile-command: "autoconf"
949 dnl End: