wmgenmenu: Add French and Spanish translations
[wmaker-crm.git] / configure.ac
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
12
13
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])
19
20 AH_BOTTOM([#include "config-paths.h"])
21
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)
62
63
64 dnl Checks for host/os name
65 dnl =======================
66 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
67
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
75
76 AX_CFLAGS_GCC_OPTION(-Wall)
77 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
78
79 dnl Platform-specific Makefile setup
80 dnl ================================
81
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)
113
114
115 dnl the prefix
116 dnl ==========
117 dnl
118 dnl move this earlier in the script... anyone know why this is handled
119 dnl in such a bizarre way?
120
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}'
124
125
126 _bindir=`eval echo $bindir`
127 _bindir=`eval echo $_bindir`
128
129 lib_search_path='-L${libdir}'
130
131 inc_search_path='-I${includedir}'
132
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"])
138
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"])
141
142
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])
149
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     )
155 )
156
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])
163
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)]
172 )
173 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
174
175 dnl
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)
184
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])
194
195 tmp_libs=$LIBS
196 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
197   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
198   []
199 )
200 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
201   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
202   []
203 )
204 LIBS=$tmp_libs
205
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])]
210 )
211 AC_SUBST(LIBBSD)
212
213 dnl Check for inotify
214 dnl =================
215 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
216
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)
222 fi
223
224 dnl
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
228 dnl
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
241 fi
242
243
244
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)
251
252
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
260
261
262 dnl pkg-config
263 dnl ==========
264 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
265 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
266
267 dnl gettext
268 dnl =======
269
270 dnl AM_GNU_GETTEXT
271
272 INTLIBS=""
273
274 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
275         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
276                          INTLIBS="" ))
277
278 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
279
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
285 fi
286
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=""
303 fi
304
305
306 dnl The Tower of Babel
307 dnl ==================
308
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"
315
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
360
361
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]))
365
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
372 fi
373
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)
380
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)
388
389 dnl ===========================================
390 dnl             Stuff that uses X
391 dnl ===========================================
392
393 AC_PATH_XTRA
394
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.])
399 fi
400
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)
407
408 lib_search_path="$lib_search_path $XLFLAGS"
409 inc_search_path="$inc_search_path $XCFLAGS"
410
411 AC_SUBST(X_LIBRARY_PATH)
412
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)
419
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)
424 fi
425
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)
431
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)
437
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]))
442
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
449
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)
455 fi
456
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
463
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)
470 fi
471 AC_SUBST(LIBXRANDR)
472
473 dnl
474 dnl libWINGS uses math functions, check whether usage requires linking
475 dnl against libm
476 dnl
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])
480 fi
481 AC_SUBST(LIBM)
482
483
484 dnl
485 dnl libWINGS uses FcPatternDel from libfontconfig
486 dnl
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])
493 fi
494 AC_SUBST(FCLIBS)
495
496
497 dnl Xft2 antialiased font support
498 dnl =============================
499
500 xft=yes
501 XFTLIBS=""
502
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)
508 fi
509
510 AC_MSG_CHECKING([for the Xft2 library])
511
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
524 fi
525
526 minXFT="2.1.0"
527 goodxft="no"
528
529 dnl
530 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
531 dnl
532 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
533
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
540 fi
541
542 AC_SUBST(XFTFLAGS)
543 AC_SUBST(XFTLIBS)
544
545
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)
551
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)
558
559         AC_CHECK_LIB(Xext, XineramaGetInfo,
560                 [sunxine=yes
561                 ], sunxine=no, $XLFLAGS $XLIBS)
562
563         if test "$xfxine" = yes; then
564                 xine=1
565         fi
566
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
572
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
577 fi
578 AC_SUBST(LIBXINERAMA)
579
580
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)
586
587 if test "$shm" = yes; then
588         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
589
590         if test "$ok" = yes; then
591         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
592         fi
593
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
600 fi
601
602
603 dnl R6 Style Session Management Support
604 dnl ===================================
605
606 #
607 #
608 #AC_DEFINE(R6SM)
609 #AC_SUBST(XSMPLIBS)
610 #
611
612
613 dnl ==============================================
614 dnl         Graphic Format Libraries
615 dnl ==============================================
616
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)
622
623 if test "$xpm" = yes; then
624     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
625
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
636 fi
637
638 AC_SUBST(XLFLAGS)
639 AC_SUBST(XLIBS)
640 AC_SUBST(X_EXTRA_LIBS)
641
642 dnl ===============================================
643 dnl             End of stuff that uses X
644 dnl ===============================================
645
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)
651
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
658 dnl
659 dnl Retry with zlib
660 dnl
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
668
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
677 fi
678
679
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)
686
687 if test "$jpeg" = yes; then
688     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
689
690     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
691
692         ljpeg="-ljpeg"
693
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
701 fi
702
703
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)
709
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
716 dnl
717 dnl libungif is the same thing as libgif for all practical purposes.
718 dnl
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
725
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
734 fi
735
736
737
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)
743
744 #
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
748 #
749 #
750 # By default use xpm icons if tiff is not found.
751 ICONEXT="xpm"
752 #
753
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
760 dnl
761 dnl Retry with zlib
762 dnl
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
770
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
777
778
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
788 fi
789
790 LIBRARY_SEARCH_PATH="$lib_search_path"
791 HEADER_SEARCH_PATH="$inc_search_path"
792
793 AC_SUBST(LIBRARY_SEARCH_PATH)
794 AC_SUBST(HEADER_SEARCH_PATH)
795
796
797 AC_SUBST(GFXLIBS)
798 AC_SUBST(ICONEXT)
799
800
801 dnl ==============================================
802 dnl         End of Graphic Format Libraries
803 dnl ==============================================
804
805
806 dnl
807 dnl stdlib.h is checked here, because of conflict in jpeglib.h
808 AC_CHECK_HEADERS(stdlib.h)
809
810 # AC_PREFIX_PROGRAM(wmaker)
811
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]]))
815
816 if test "x$with_pixmapdir" != "x"; then
817         pixmapdir=$with_pixmapdir
818 else
819         pixmapdir='${datadir}/pixmaps'
820 fi
821 AC_SUBST(pixmapdir)
822
823
824 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
825 dnl ==============================================
826
827 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
828
829 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
830     appspath=$with_gnustepdir
831 fi
832
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
839
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
844
845     wprefs_base_dir=$gnustepdir/Applications
846     wprefs_datadir=$wprefs_base_dir/WPrefs.app
847     wprefs_bindir=$wprefs_base_dir/WPrefs.app
848 fi
849
850 AC_SUBST(wprefs_datadir)
851 AC_SUBST(wprefs_bindir)
852
853
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])
859 fi
860 )
861
862 gl_LD_VERSION_SCRIPT
863
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 )
878
879
880 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
881 dnl ===================================================================
882
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
886
887 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
888 dnl parsed by m4
889
890 AC_SUBST(lib_search_path)
891 AC_SUBST(inc_search_path)
892
893 dnl
894 dnl Spit out the configuration
895 dnl ==========================
896
897 supported_gfx="$supported_gfx builtin-PPM"
898
899 if test "x$MOFILES" = "x"; then
900         mof=None
901 else
902         mof=`echo $MOFILES`
903 fi
904
905 if test "x$MOFILES" = "x"; then
906         languages=None
907 else
908         languages=`echo $MOFILES | sed 's/.mo//g'`
909 fi
910
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|"
925 fi
926 echo
927
928 dnl WM_PRINT_REDCRAP_BUG_STATUS
929
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"
942 fi
943
944
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:
950