WINGs: Added 'const' attribute to functions in wapplication, wappresource, wcolor...
[wmaker-crm.git] / configure.ac
blob957568d1db23c07bf736732666b52e8cd4c42791
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 -DDEBUG"])
90 AX_CFLAGS_GCC_OPTION(-Wall)
91 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
93 dnl Platform-specific Makefile setup
94 dnl ================================
96 case "${host}" in
97         *-*-linux*|*-*-cygwin*|*-gnu*)
98                 WM_OSDEP="linux"
99                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"
100         ;;
101         *-*-freebsd*|*-k*bsd-gnu*)
102                 WM_OSDEP="bsd"
103                 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -DFREEBSD"
104         ;;
105         *-*-netbsd*)
106                 WM_OSDEP="bsd"
107                 CFLAGS="$CFLAGS -DNETBSD"
108         ;;
109         *-*-openbsd*)
110                 WM_OSDEP="bsd"
111                 CFLAGS="$CFLAGS -DOPENBSD"
112         ;;
113         *-*-dragonfly*)
114                 WM_OSDEP="bsd"
115                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
116         ;;
117         *-apple-darwin*)
118                 WM_OSDEP="darwin"
119         ;;
120         *-*-solaris*)
121                 WM_OSDEP="stub"         # solaris.c when done
122         ;;
123         *)
124                 WM_OSDEP="stub"
125         ;;
126 esac
127 AC_SUBST(WM_OSDEP)
130 dnl the prefix
131 dnl ==========
133 dnl move this earlier in the script... anyone know why this is handled
134 dnl in such a bizarre way?
136 test "x$prefix" = xNONE && prefix=$ac_default_prefix
137 dnl Let make expand exec_prefix.
138 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
141 _bindir=`eval echo $bindir`
142 _bindir=`eval echo $_bindir`
144 lib_search_path='-L${libdir}'
146 inc_search_path='-I${includedir}'
148 dnl ===============================================
149 dnl Specify paths to look for libraries and headers
150 dnl ===============================================
151 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
152         [lib_search_path="$withval $lib_search_path"])
154 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
155         [inc_search_path="$withval $inc_search_path"])
158 dnl Boehm GC
159 dnl ========
160 with_boehm_gc=no
161 AC_ARG_ENABLE([boehm-gc],
162     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
163     [with_boehm_gc=$enableval])
165 AS_IF([test "x$with_boehm_gc" = "xyes"],
166     AC_SEARCH_LIBS([GC_malloc], [gc],
167         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
168         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])],
169         []
170     )
173 dnl LCOV
174 dnl ====
175 AC_ARG_ENABLE([lcov],
176     [AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
177     [],
178     [enable_lcov=no])
180 AS_IF([test "x$enable_lcov" != "xno"],
181     [AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
182     if test "x$enable_lcov" = "xyes"; then
183         lcov_output_directory="coverage-report"
184     else
185         lcov_output_directory="${enable_lcov}/coverage-report"
186     fi
187     AC_SUBST(lcov_output_directory)]
189 AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
192 dnl ============================
193 dnl Checks for library functions
194 dnl ============================
195 dnl not used anywhere
196 AC_FUNC_MEMCMP
197 AC_FUNC_VPRINTF
198 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
199                setsid mallinfo mkstemp sysconf)
201 dnl Check for strlcat/strlcpy
202 dnl =========================
203 AC_ARG_WITH([libbsd],
204   [AS_HELP_STRING([--without-libbsd], [do not use libbsd for strlcat and strlcpy [default=check]])],
205   [AS_IF([test "x$with_libbsd" != "xno"],
206     [with_libbsd=bsd]
207     [with_libbsd=]
208   )],
209   [with_libbsd=bsd])
211 tmp_libs=$LIBS
212 AC_SEARCH_LIBS([strlcat],[$with_libbsd],
213   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcat is available])],
214   [],
215   []
217 AC_SEARCH_LIBS([strlcpy],[$with_libbsd],
218   [AC_DEFINE(HAVE_STRLCAT, 1, [Define if strlcpy is available])],
219   [],
220   []
222 LIBS=$tmp_libs
224 LIBBSD=
225 AS_IF([test "x$ac_cv_search_strlcat" = "x-lbsd" -o "x$ac_cv_search_strlcpy" = "x-lbsd"],
226   [LIBBSD=-lbsd
227    AC_CHECK_HEADERS([bsd/string.h])]
229 AC_SUBST(LIBBSD)
231 dnl Check for OpenBSD kernel memory interface - kvm(3)
232 dnl ==================================================
233 AS_IF([test "x$WM_OSDEP" = "xbsd"],
234   AC_SEARCH_LIBS([kvm_openfiles], [kvm]) )
236 dnl Check for inotify
237 dnl =================
238 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
241 dnl Checks for header files.
242 dnl =======================
243 AC_HEADER_SYS_WAIT
244 AC_HEADER_TIME
245 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h libintl.h poll.h malloc.h ctype.h \
246                  string.h strings.h)
249 dnl Checks for typedefs, structures, and compiler characteristics.
250 dnl ==============================================================
251 AC_DECL_SYS_SIGLIST
252 AC_C_CONST
253 AC_TYPE_SIZE_T
254 AC_TYPE_PID_T
255 AC_TYPE_SIGNAL
258 dnl pkg-config
259 dnl ==========
260 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
261 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
263 dnl gettext
264 dnl =======
266 dnl AM_GNU_GETTEXT
268 INTLIBS=""
270 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
271         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
272                          INTLIBS="" ))
274 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
276 if test "$XGETTEXT" != ""; then 
277     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
278         echo "xgettext isn't GNU version"
279         XGETTEXT=""
280     fi
283 if test "$LINGUAS" != ""; then
284     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
285         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
286         PO=""
287         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
288     else
289         LINGUAS=""
290         PO=""
291         echo "xgettext and libintl.a don't both exist; will not build i18n support"
292     fi
293 else
294         INTLIBS=""
295         MOFILES=""
296         WPMOFILES=""
297         UTILMOFILES=""
298         PO=""
302 dnl The Tower of Babel
303 dnl ==================
305 dnl List of supported locales
306 dnl =========================
307 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"
308 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
309 supported_wings_locales="bg ca cs de fr sk"
310 supported_util_locales="de es fr pt"
312 for lang in $LINGUAS; do
313         ok=0
314         for l in $supported_locales; do
315                 if test "$l" = "$lang"; then
316                         ok=1
317                         break
318                 fi
319         done
320         if test "$ok" = 1; then
321                 MOFILES="$MOFILES $lang.mo"
322         else
323                 echo "Locale $lang is not supported."
324         fi
325         ok=0
326         for l in $supported_wprefs_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 WPMOFILES="$WPMOFILES $lang.mo"
334         fi
335         ok=0
336         for l in $supported_util_locales; do
337                 if test "$l" = "$lang"; then
338                         ok=1
339                         break
340                 fi
341         done
342         if test "$ok" = 1; then
343                 UTILMOFILES="$UTILMOFILES $lang.mo"
344         fi
345         ok=0
346         for l in $supported_wings_locales; do
347                 if test "$l" = "$lang"; then
348                         ok=1
349                         break
350                 fi
351         done
352         if test "$ok" = 1; then
353                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
354         fi
355 done
358 dnl Added by Oliver - Support for NLSDIR option
359 dnl ===========================================
360 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
362 if test "x$NLSDIR" = "x"; then
363         if test "x$with_nlsdir" != "x"; then
364                 NLSDIR=$with_nlsdir
365         else
366                 NLSDIR='$(prefix)/lib/locale'
367         fi
370 menutextdomain=
371 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
372         [if test "x$withval" != "xno"; then
373          menutextdomain=$withval
374          fi])
375 AC_SUBST(menutextdomain)
377 AC_SUBST(INTLIBS)
378 AC_SUBST(NLSDIR)
379 AC_SUBST(MOFILES)
380 AC_SUBST(WPMOFILES)
381 AC_SUBST(UTILMOFILES)
382 AC_SUBST(WINGSMOFILES)
383 AC_SUBST(supported_locales)
385 dnl ===========================================
386 dnl             Stuff that uses X
387 dnl ===========================================
389 AC_PATH_XTRA
391 if test $no_x; then
392     AC_MSG_ERROR([The path for the X11 files not found!
393 Make sure you have X and it's headers and libraries (the -devel packages
394 in Linux) installed.])
397 X_LIBRARY_PATH=$x_libraries
398 XCFLAGS="$X_CFLAGS"
399 XLFLAGS="$X_LIBS"
400 XLIBS="-lX11 $X_EXTRA_LIBS"
401 LIBXMU="-lXmu"
402 AC_SUBST(LIBXMU)
404 lib_search_path="$lib_search_path $XLFLAGS"
405 inc_search_path="$inc_search_path $XCFLAGS"
407 AC_SUBST(X_LIBRARY_PATH)
409 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
410 dnl by MANOME Tomonori 
411 dnl ===========================================
412 use_locale=yes
413 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
414               use_locale=no)
416 if test "$use_locale" = yes; then
417         AC_CHECK_LIB(X11, _Xsetlocale,
418                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
419                 $XLFLAGS $XLIBS)
422 dnl Check whether XInternAtoms() exist
423 dnl ==================================
424 AC_CHECK_LIB(X11, XInternAtoms, 
425              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
426              $XLFLAGS $XLIBS)
428 dnl Check whether XConvertCase() exist
429 dnl ==================================
430 AC_CHECK_LIB(X11, XConvertCase, 
431              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
432              $XLFLAGS $XLIBS)
434 dnl XKB keyboard language status
435 dnl ============================
436 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
437                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
439 dnl Shape support
440 dnl =============
441 shape=yes
442 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
443                 shape=$enableval, shape=yes)
444 added_xext=no
446 if test "$shape" = yes; then
447         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
448                 added_xext=yes
449                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
450                 shape=no, $XLFLAGS $XLIBS)
453 dnl XRandR support
454 dnl ==============
455 xrandr=no
456 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support (NOT recommended, buggy)]),
457                 xrandr=$enableval, xrandr=no)
458 added_xext=no
460 LIBXRANDR=
461 if test "$xrandr" = yes; then
462         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [LIBXRANDR=-lXrandr
463                 added_xext=yes
464                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
465                 xrandr=no, $XLFLAGS $XLIBS)
467 AC_SUBST(LIBXRANDR)
470 dnl libWINGS uses math functions, check whether usage requires linking
471 dnl against libm
473 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
474 if test "x$mathneedslibm" = "xdunno" ; then
475         AC_CHECK_LIB(m, atan, [LIBM=-lm])
477 AC_SUBST(LIBM)
481 dnl libWINGS uses FcPatternDel from libfontconfig
483 AC_MSG_CHECKING([for fontconfig library])
484 FCLIBS=`$PKGCONFIG fontconfig --libs`
485 if test "x$FCLIBS" = "x" ; then
486         AC_MSG_RESULT([not found])
487 else
488         AC_MSG_RESULT([found])
490 AC_SUBST(FCLIBS)
493 dnl Xft2 antialiased font support
494 dnl =============================
496 xft=yes
497 XFTLIBS=""
499 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
500         XFTCONFIG="$PKGCONFIG xft"
501         pkgconfig_xft=yes
502 else
503         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
506 AC_MSG_CHECKING([for the Xft2 library])
508 if test "x$XFTCONFIG" != x; then
509         XFTLIBS=`$XFTCONFIG --libs`
510         XFTFLAGS=`$XFTCONFIG --cflags`
511         AC_MSG_RESULT([found])
512 else
513         AC_MSG_RESULT([not found])
514         echo
515         echo "ERROR!!! libXft2 is not installed or could not be found."
516         echo "         Xft2 is a requirement for building Window Maker."
517         echo "         Please install it (along with fontconfig) before continuing."
518         echo
519         exit 1
522 minXFT="2.1.0"
523 goodxft="no"
526 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
528 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
530 if test "$goodxft" = no; then
531         echo
532         echo "ERROR!!! libXft on this system is an old version."
533         echo "         Please consider upgrading to at least version ${minXFT}."
534         echo
535         exit 1
538 AC_SUBST(XFTFLAGS)
539 AC_SUBST(XFTLIBS)
542 dnl XINERAMA support
543 dnl ================
544 xinerama=no
545 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
546                 xinerama=$enableval, xinerama=no)
548 LIBXINERAMA=
549 if test "$xinerama" = yes; then
550         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
551                 [LIBXINERAMA=-lXinerama
552                 xfxine=yes],
553                 xfxine=no, $XLFLAGS $XLIBS)
555         AC_CHECK_LIB(Xext, XineramaGetInfo,
556                 [sunxine=yes
557                 ], sunxine=no, $XLFLAGS $XLIBS)
559         if test "$xfxine" = yes; then
560                 xine=1
561         fi
563         if test "$sunxine" = yes; then
564             xine=1
565             AC_DEFINE(SOLARIS_XINERAMA, 1, 
566                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
567         fi
569         if test "$xine" = 1; then
570             AC_DEFINE(XINERAMA, 1, 
571                 [define if you want support for the XINERAMA extension (set by configure)])
572         fi
574 AC_SUBST(LIBXINERAMA)
577 dnl MIT-SHM support
578 dnl ===============
579 shm=yes
580 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
581                 shm=$enableval, shm=yes)
583 if test "$shm" = yes; then
584         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
586         if test "$ok" = yes; then
587         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
588         fi
590         if test "$ok" = yes; then
591                 if test "$added_xext" = no; then
592                         XLIBS="-lXext $XLIBS"
593                 fi
594                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
595         fi
599 dnl R6 Style Session Management Support
600 dnl ===================================
604 #AC_DEFINE(R6SM)
605 #AC_SUBST(XSMPLIBS)
609 dnl ==============================================
610 dnl         Graphic Format Libraries
611 dnl ==============================================
613 dnl XPM Support
614 dnl ===========
615 xpm=yes
616 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
617         xpm=$enableval, xpm=yes)
619 if test "$xpm" = yes; then
620     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
622     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
623         WM_CHECK_HEADER(X11/xpm.h)
624         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
625                 GFXLIBS="$GFXLIBS -lXpm"
626                 supported_gfx="XPM"
627                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
628         else
629                 supported_gfx="builtin-XPM"
630         fi
631     fi
634 # for wmlib
635 AC_SUBST(XCFLAGS)
636 # for test
637 AC_SUBST(XLFLAGS)
638 AC_SUBST(XLIBS)
639 AC_SUBST(X_EXTRA_LIBS)
641 dnl ===============================================
642 dnl             End of stuff that uses X
643 dnl ===============================================
645 dnl PNG Support
646 dnl ===========
647 png=yes
648 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
649         png=$enableval, png=yes, png=no)
651 if test "$png" = yes ; then
652     my_libname=""
653     WM_CHECK_LIB(png, png_get_valid, [-lm])
654     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
655         my_libname="-lpng"
656     fi
658 dnl Retry with zlib
660     if test "x$my_libname" = x; then
661         unset ac_cv_lib_png_png_get_valid
662         WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
663         if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
664             my_libname="-lpng -lz"
665         fi
666     fi
668     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
669         WM_CHECK_HEADER(png.h)
670         if test "x$ac_cv_header_png_h" = xyes; then
671             GFXLIBS="$GFXLIBS $my_libname"
672             supported_gfx="$supported_gfx PNG"
673             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
674         fi
675     fi
679 dnl JPEG Support
680 dnl ============
681 jpeg=yes
682 ljpeg=""
683 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
684         jpeg=$enableval, jpeg=yes, jpeg=no)
686 if test "$jpeg" = yes; then
687     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
689     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
691         ljpeg="-ljpeg"
693         WM_CHECK_HEADER(jpeglib.h)
694         if test "x$ac_cv_header_jpeglib_h" = xyes; then
695             GFXLIBS="$GFXLIBS -ljpeg"
696             supported_gfx="$supported_gfx JPEG"
697             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
698         fi
699     fi
703 dnl GIF Support
704 dnl ============
705 gif=yes
706 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
707         gif=$enableval, gif=yes, gif=no)
709 if test "$gif" = yes; then
710     my_libname=""
711     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
712     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
713         my_libname=-lungif
714     fi
716 dnl libungif is the same thing as libgif for all practical purposes.
718     if test "x$my_libname" = x; then
719         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
720         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
721             my_libname=-lgif
722         fi
723     fi
725     if test "$my_libname" != x; then
726         WM_CHECK_HEADER(gif_lib.h)
727         if test "x$ac_cv_header_gif_lib_h" = xyes; then
728             GFXLIBS="$GFXLIBS $my_libname"
729             supported_gfx="$supported_gfx GIF"
730             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
731         fi
732     fi
737 dnl TIFF Support
738 dnl ============
739 AC_ARG_ENABLE(tiff, 
740 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
741         tif=$enableval, tif=yes, tif=no)
744 # TIFF can optionally have JPEG and/or zlib support. Must find out
745 # when they are supported so that correct library flags are passed during
746 # detection and linkage
749 # By default use xpm icons if tiff is not found.
750 ICONEXT="xpm"
753 if test "$tif" = yes; then
754     my_libname=""
755     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
756     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
757         my_libname="-ltiff"
758     fi
760 dnl Retry with zlib
762     unset ac_cv_lib_tiff_TIFFGetVersion
763     if test "x$my_libname" = x; then
764         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
765         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
766             my_libname="-ltiff -lz"
767         fi
768     fi
770     if test "x$my_libname" = x; then
771         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
772         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
773             my_libname="-ltiff34"
774         fi
775     fi
778     if test "x$my_libname" != x; then
779         WM_CHECK_HEADER(tiffio.h)
780         if test "x$ac_cv_header_tiffio_h" = xyes; then
781             GFXLIBS="$my_libname $GFXLIBS"
782             ICONEXT="tiff"
783             supported_gfx="$supported_gfx TIFF"
784             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
785         fi
786     fi
789 LIBRARY_SEARCH_PATH="$lib_search_path"
790 HEADER_SEARCH_PATH="$inc_search_path"
792 AC_SUBST(LIBRARY_SEARCH_PATH)
793 AC_SUBST(HEADER_SEARCH_PATH)
796 AC_SUBST(GFXLIBS)
797 AC_SUBST(ICONEXT)
800 dnl ==============================================
801 dnl         End of Graphic Format Libraries
802 dnl ==============================================
806 dnl stdlib.h is checked here, because of conflict in jpeglib.h
807 AC_CHECK_HEADERS(stdlib.h)
809 # AC_PREFIX_PROGRAM(wmaker)
811 dnl Support for PIXMAPDIR option
812 dnl ============================
813 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
815 if test "x$with_pixmapdir" != "x"; then
816         pixmapdir=$with_pixmapdir
817 else
818         pixmapdir='${datadir}/pixmaps'
820 AC_SUBST(pixmapdir)
823 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
824 dnl ==============================================
826 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
828 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
829     appspath=$with_gnustepdir
832 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
833     wprefs_base_dir=${prefix}
834     wprefs_datadir="${datadir}/WPrefs"
835     wprefs_bindir="${bindir}"
836 else
837     gnustepdir=$appspath
839     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
840         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
841         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
842     fi
844     wprefs_base_dir=$gnustepdir/Applications
845     wprefs_datadir=$wprefs_base_dir/WPrefs.app
846     wprefs_bindir=$wprefs_base_dir/WPrefs.app
849 AC_SUBST(wprefs_datadir)
850 AC_SUBST(wprefs_bindir)
853 dnl Enable User Defined Menu thing
854 dnl ==============================
855 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
856 if test "$enableval" = yes; then
857         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
861 gl_LD_VERSION_SCRIPT
863 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
864         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
865         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
866         WINGs/Extras/Makefile WINGs/po/Makefile \
867         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
868         src/Makefile src/wconfig.h \
869         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
870         doc/ru/Makefile \
871         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
872         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
873         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
874         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
875         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
876         WPrefs.app/po/Makefile )
879 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
880 dnl ===================================================================
882 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
883 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
884 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
886 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
887 dnl parsed by m4
889 AC_SUBST(lib_search_path)
890 AC_SUBST(inc_search_path)
893 dnl Spit out the configuration
894 dnl ==========================
896 supported_gfx="$supported_gfx builtin-PPM"
898 if test "x$MOFILES" = "x"; then
899         mof=None
900 else
901         mof=`echo $MOFILES`
904 if test "x$MOFILES" = "x"; then
905         languages=None
906 else
907         languages=`echo $MOFILES | sed 's/.mo//g'`
910 echo
911 echo "Window Maker was configured as follows:"
912 echo
913 echo "Installation path prefix            : $prefix"
914 echo "Installation path for binaries      : $_bindir"
915 echo "Installation path for libraries     : $libdir"
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 AS_IF([test "x$debug" = "xyes"], [echo "Debug information enabled           : $debug"])
927 echo
929 dnl WM_PRINT_REDCRAP_BUG_STATUS
931 if test "x$ac_cv_header_jpeglib_h" != xyes; then
932 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
933 echo
934 echo "JPEG support will not be included because the JPEG library is"
935 echo "not installed correctly or was not found. Background images"
936 echo "from themes will not display as they usually are JPEG files."
937 echo
938 echo "To fix, download and install the jpeg library and/or make sure you"
939 echo "installed all jpeg related packages, SPECIALLY the development packages"
940 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
941 echo
942 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
946 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
947 dnl ================================================
948 dnl Local Variables:
949 dnl compile-command: "autoconf"
950 dnl End: