WINGs: Simplify and rationalize createDir() and deleteFile()
[wmaker-crm.git] / configure.ac
blob2faa9a569cf37175d21ffcd4a8d9c6c6686ffaca
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(src/config.h)
18 AM_INIT_AUTOMAKE([1.11 silent-rules])
20 dnl libtool library versioning
21 dnl =======================
22 dnl
23 dnl current
24 dnl revision
25 dnl age
26 dnl
27 dnl 1. Start with version information of ‘0:0:0’ for each libtool library.
28 dnl 2. Update the version information only immediately before a public
29 dnl release of your software. More frequent updates are unnecessary, and
30 dnl only guarantee that the current interface number gets larger faster.
31 dnl 3. If the library source code has changed at all since the last
32 dnl update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
33 dnl 4. If any interfaces have been added, removed, or changed since the
34 dnl last update, increment current, and set revision to 0.
35 dnl 5. If any interfaces have been added since the last public release,
36 dnl then increment age.
37 dnl 6. If any interfaces have been removed or changed since the last
38 dnl public release, then set age to 0.
39 dnl
40 dnl libwraster
41 WRASTER_CURRENT=4
42 WRASTER_REVISION=0
43 WRASTER_AGE=1
44 WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
45 AC_SUBST(WRASTER_VERSION)
46 dnl
47 dnl libWINGs
48 WINGS_CURRENT=2
49 WINGS_REVISION=1
50 WINGS_AGE=0
51 WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
52 AC_SUBST(WINGS_VERSION)
53 dnl
54 dnl libWUtil
55 WUTIL_CURRENT=2
56 WUTIL_REVISION=0
57 WUTIL_AGE=0
58 WUTIL_VERSION=$WUTIL_CURRENT:$WUTIL_REVISION:$WUTIL_AGE
59 AC_SUBST(WUTIL_VERSION)
62 dnl Checks for host/os name
63 dnl =======================
64 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
66 dnl Checks for programs.
67 dnl ===================
68 AC_ISC_POSIX
69 AC_PROG_CC
70 AC_PROG_LN_S
71 AC_PROG_GCC_TRADITIONAL
72 AC_PROG_LIBTOOL
74 AX_CFLAGS_GCC_OPTION(-Wall)
75 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare -Wno-unused-parameter)
77 dnl Platform-specific Makefile setup
78 dnl ================================
80 case "${host}" in
81         *-*-linux*|*-*-cygwin*)
82                 WM_OSDEP="linux"
83         ;;
84         *-*-freebsd*)
85                 WM_OSDEP="bsd"
86                 CFLAGS="$CFLAGS -DFREEBSD"
87         ;;
88         *-*-netbsd*)
89                 WM_OSDEP="bsd"
90                 CFLAGS="$CFLAGS -DNETBSD"
91         ;;
92         *-*-openbsd*)
93                 WM_OSDEP="bsd"
94         CFLAGS="$CFLAGS -DOPENBSD"
95         ;;
96         *-*-dragonfly*)
97                 WM_OSDEP="bsd"
98                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
99         ;;
100         *-apple-darwin*)
101                 WM_OSDEP="darwin"
102         ;;
103         *-*-solaris*)
104                 WM_OSDEP="stub"         # solaris.c when done
105         ;;
106         *)
107                 WM_OSDEP="stub"
108                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
109         ;;
110 esac
111 AC_SUBST(WM_OSDEP)
114 dnl the prefix
115 dnl ==========
117 dnl move this earlier in the script... anyone know why this is handled
118 dnl in such a bizarre way?
120 test "x$prefix" = xNONE && prefix=$ac_default_prefix
121 dnl Let make expand exec_prefix.
122 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
125 _bindir=`eval echo $bindir`
126 _bindir=`eval echo $_bindir`
128 _libdir=`eval echo $libdir`
129 _libdir=`eval echo $_libdir`
130 lib_search_path="-L$_libdir"
132 inc_search_path=`eval echo $includedir`
133 inc_search_path="-I`eval echo $inc_search_path`"
135 dnl ===============================================
136 dnl Specify paths to look for libraries and headers
137 dnl ===============================================
138 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
139         [lib_search_path="$withval $lib_search_path"])
141 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
142         [inc_search_path="$withval $inc_search_path"])
145 dnl Boehm GC
146 dnl ========
147 with_boehm_gc=no
148 AC_ARG_ENABLE([boehm-gc],
149     [AS_HELP_STRING([--enable-boehm-gc], [use Boehm GC instead of the default libc malloc() [default=no]])],
150     [with_boehm_gc=$enableval])
152 AS_IF([test "x$with_boehm_gc" = "xyes"],
153     AC_SEARCH_LIBS([GC_malloc], [gc],
154         [AC_DEFINE(USE_BOEHM_GC, 1, [Define if Boehm GC is to be used])],
155         [AC_MSG_FAILURE([--enable-boehm-gc specified but test for libgc failed])]
156     )
160 dnl ============================
161 dnl Checks for library functions
162 dnl ============================
163 dnl not used anywhere
164 AC_FUNC_MEMCMP
165 AC_FUNC_VPRINTF
166 AC_CHECK_FUNCS(gethostname select poll strcasecmp strncasecmp \
167                setsid atexit mallinfo mkstemp)
169 dnl Check for inotify
170 dnl =================
171 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
173 dnl Check CPP
174 dnl =========
175 if test "x$CPP_PATH" = x; then
176     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
177                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
181 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
182 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
183 dnl standard locations
185 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
186     if test "$GCC" = "yes"; then
187         CPP_PATH="gcc -E -x c"
188     else 
189         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
190             CPP_PATH="$CPP_PATH -B"
191         else
192             echo "cpp, the C preprocessor was not found in your system."
193             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
194             exit
195         fi
196     fi
198 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
202 dnl Checks for header files.
203 dnl =======================
204 AC_HEADER_SYS_WAIT
205 AC_HEADER_TIME
206 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
207                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
208                  strings.h)
212 dnl Checks for typedefs, structures, and compiler characteristics.
213 dnl ==============================================================
214 AC_DECL_SYS_SIGLIST
215 AC_C_CONST
216 #AC_TYPE_SIZE_T
217 #AC_TYPE_PID_T
218 AC_TYPE_SIGNAL
221 dnl pkg-config
222 dnl ==========
223 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
224 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
226 dnl gettext
227 dnl =======
229 dnl AM_GNU_GETTEXT
231 INTLIBS=""
233 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
234         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
235                          INTLIBS="" ))
237 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
239 if test "$XGETTEXT" != ""; then 
240     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
241         echo "xgettext isn't GNU version"
242         XGETTEXT=""
243     fi
246 if test "$LINGUAS" != ""; then
247     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
248         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
249         PO=""
250         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
251     else
252         LINGUAS=""
253         PO=""
254         echo "xgettext and libintl.a don't both exist; will not build i18n support"
255     fi
256 else
257         INTLIBS=""
258         MOFILES=""
259         WPMOFILES=""
260         UTILMOFILES=""
261         PO=""
265 dnl The Tower of Babel
266 dnl ==================
268 dnl List of supported locales
269 dnl =========================
270 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"
271 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
272 supported_wings_locales="bg ca cs de fr sk"
273 supported_util_locales="de"
275 for lang in $LINGUAS; do
276         ok=0
277         for l in $supported_locales; do
278                 if test "$l" = "$lang"; then
279                         ok=1
280                         break
281                 fi
282         done
283         if test "$ok" = 1; then
284                 MOFILES="$MOFILES $lang.mo"
285         else
286                 echo "Locale $lang is not supported."
287         fi
288         ok=0
289         for l in $supported_wprefs_locales; do
290                 if test "$l" = "$lang"; then
291                         ok=1
292                         break
293                 fi
294         done
295         if test "$ok" = 1; then
296                 WPMOFILES="$WPMOFILES $lang.mo"
297         fi
298         ok=0
299         for l in $supported_util_locales; do
300                 if test "$l" = "$lang"; then
301                         ok=1
302                         break
303                 fi
304         done
305         if test "$ok" = 1; then
306                 UTILMOFILES="$UTILMOFILES $lang.mo"
307         fi
308         ok=0
309         for l in $supported_wings_locales; do
310                 if test "$l" = "$lang"; then
311                         ok=1
312                         break
313                 fi
314         done
315         if test "$ok" = 1; then
316                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
317         fi
318 done
321 dnl Added by Oliver - Support for NLSDIR option
322 dnl ===========================================
323 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
325 if test "x$NLSDIR" = "x"; then
326         if test "x$with_nlsdir" != "x"; then
327                 NLSDIR=$with_nlsdir
328         else
329                 NLSDIR='$(prefix)/lib/locale'
330         fi
333 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
334         [if test "x$withval" != "xno"; then
335          AC_DEFINE_UNQUOTED([MENU_TEXTDOMAIN], ["$withval"], [gettext domain used for menu translations])
336          fi])
338 AC_SUBST(INTLIBS)
339 AC_SUBST(NLSDIR)
340 AC_SUBST(MOFILES)
341 AC_SUBST(WPMOFILES)
342 AC_SUBST(UTILMOFILES)
343 AC_SUBST(WINGSMOFILES)
344 AC_SUBST(supported_locales)
346 dnl ===========================================
347 dnl             Stuff that uses X
348 dnl ===========================================
350 AC_PATH_XTRA
352 if test $no_x; then
353     AC_MSG_ERROR([The path for the X11 files not found!
354 Make sure you have X and it's headers and libraries (the -devel packages
355 in Linux) installed.])
358 X_LIBRARY_PATH=$x_libraries
359 XCFLAGS="$X_CFLAGS"
360 XLFLAGS="$X_LIBS"
361 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
363 lib_search_path="$lib_search_path $XLFLAGS"
364 inc_search_path="$inc_search_path $XCFLAGS"
366 AC_SUBST(X_LIBRARY_PATH)
368 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
369 dnl by MANOME Tomonori 
370 dnl ===========================================
371 use_locale=yes
372 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
373               use_locale=no)
375 if test "$use_locale" = yes; then
376         AC_CHECK_LIB(X11, _Xsetlocale,
377                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
378                 $XLFLAGS $XLIBS)
381 dnl Check whether XInternAtoms() exist
382 dnl ==================================
383 AC_CHECK_LIB(X11, XInternAtoms, 
384              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
385              $XLFLAGS $XLIBS)
387 dnl Check whether XConvertCase() exist
388 dnl ==================================
389 AC_CHECK_LIB(X11, XConvertCase, 
390              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
391              $XLFLAGS $XLIBS)
393 dnl XKB keyboard language status
394 dnl ============================
395 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
396                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
398 dnl Shape support
399 dnl =============
400 shape=yes
401 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
402                 shape=$enableval, shape=yes)
403 added_xext=no
405 if test "$shape" = yes; then
406         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
407                 added_xext=yes
408                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
409                 shape=no, $XLFLAGS $XLIBS)
412 dnl XRandR support
413 dnl =============
414 xrandr=no
415 AC_ARG_ENABLE(xrandr, AS_HELP_STRING([--enable-xrandr], [enable XRandR window extension support]),
416                 xrandr=$enableval, xrandr=no)
417 added_xext=no
419 if test "$xrandr" = yes; then
420         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [XLIBS="-lXrandr $XLIBS"
421                 added_xext=yes
422                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
423                 xrandr=no, $XLFLAGS $XLIBS)
427 dnl libWINGS uses math functions, check whether usage requires linking
428 dnl against libm
430 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
431 if test "x$mathneedslibm" = "xdunno" ; then
432         AC_CHECK_LIB(m, atan, [LIBM=-lm])
434 AC_SUBST(LIBM)
438 dnl libWINGS uses FcPatternDel from libfontconfig
440 AC_MSG_CHECKING([for fontconfig library])
441 FCLIBS=`$PKGCONFIG fontconfig --libs`
442 if test "x$FCLIBS" = "x" ; then
443         AC_MSG_RESULT([not found])
444 else
445         AC_MSG_RESULT([found])
447 AC_SUBST(FCLIBS)
450 dnl Xft2 antialiased font support
451 dnl =============================
453 xft=yes
454 XFTLIBS=""
456 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
457         XFTCONFIG="$PKGCONFIG xft"
458         pkgconfig_xft=yes
459 else
460         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
463 AC_MSG_CHECKING([for the Xft2 library])
465 if test "x$XFTCONFIG" != x; then
466         XFTLIBS=`$XFTCONFIG --libs`
467         XFTFLAGS=`$XFTCONFIG --cflags`
468         AC_MSG_RESULT([found])
469 else
470         AC_MSG_RESULT([not found])
471         echo
472         echo "ERROR!!! libXft2 is not installed or could not be found."
473         echo "         Xft2 is a requirement for building Window Maker."
474         echo "         Please install it (along with fontconfig) before continuing."
475         echo
476         exit 1
479 minXFT="2.1.0"
480 goodxft="no"
483 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
485 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
487 if test "$goodxft" = no; then
488         echo
489         echo "ERROR!!! libXft on this system is an old version."
490         echo "         Please consider upgrading to at least version ${minXFT}."
491         echo
492         exit 1
495 AC_SUBST(XFTFLAGS)
496 AC_SUBST(XFTLIBS)
499 dnl XINERAMA support
500 dnl ================
501 xinerama=no
502 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
503                 xinerama=$enableval, xinerama=no)
505 if test "$xinerama" = yes; then
506         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
507                 [XLIBS="-lXinerama $XLIBS"
508                 xfxine=yes],
509                 xfxine=no, $XLFLAGS $XLIBS)
511         AC_CHECK_LIB(Xext, XineramaGetInfo,
512                 [sunxine=yes
513                 ], sunxine=no, $XLFLAGS $XLIBS)
515         if test "$xfxine" = yes; then
516                 xine=1
517         fi
519         if test "$sunxine" = yes; then
520             xine=1
521             AC_DEFINE(SOLARIS_XINERAMA, 1, 
522                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
523         fi
525         if test "$xine" = 1; then
526             AC_DEFINE(XINERAMA, 1, 
527                 [define if you want support for the XINERAMA extension (set by configure)])
528         fi
533 dnl MIT-SHM support
534 dnl ===============
535 shm=yes
536 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
537                 shm=$enableval, shm=yes)
539 if test "$shm" = yes; then
540         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
542         if test "$ok" = yes; then
543         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
544         fi
546         if test "$ok" = yes; then
547                 if test "$added_xext" = no; then
548                         XLIBS="-lXext $XLIBS"
549                 fi
550                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
551         fi
555 dnl R6 Style Session Management Support
556 dnl ===================================
560 #AC_DEFINE(R6SM)
561 #AC_SUBST(XSMPLIBS)
565 dnl ==============================================
566 dnl         Graphic Format Libraries
567 dnl ==============================================
569 dnl XPM Support
570 dnl ===========
571 xpm=yes
572 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
573         xpm=$enableval, xpm=yes)
575 if test "$xpm" = yes; then
576     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
578     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
579         WM_CHECK_HEADER(X11/xpm.h)
580         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
581                 GFXLIBS="$GFXLIBS -lXpm"
582                 supported_gfx="XPM"
583                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
584         else
585                 supported_gfx="builtin-XPM"
586         fi
587     fi
590 AC_SUBST(XLFLAGS)
591 AC_SUBST(XLIBS)
592 AC_SUBST(X_EXTRA_LIBS)
594 dnl ===============================================
595 dnl             End of stuff that uses X
596 dnl ===============================================
598 dnl PNG Support
599 dnl ===========
600 png=yes
601 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
602         png=$enableval, png=yes, png=no)
604 if test "$png" = yes ; then
605     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
607     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
608         WM_CHECK_HEADER(png.h)
609         if test "x$ac_cv_header_png_h" = xyes; then
610             GFXLIBS="$GFXLIBS -lpng -lz" 
611             supported_gfx="$supported_gfx PNG"
612             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
613         fi
614     fi
618 dnl JPEG Support
619 dnl ============
620 jpeg=yes
621 ljpeg=""
622 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
623         jpeg=$enableval, jpeg=yes, jpeg=no)
625 if test "$jpeg" = yes; then
626     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
628     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
630         ljpeg="-ljpeg"
632         WM_CHECK_HEADER(jpeglib.h)
633         if test "x$ac_cv_header_jpeglib_h" = xyes; then
634             GFXLIBS="$GFXLIBS -ljpeg"
635             supported_gfx="$supported_gfx JPEG"
636             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
637         fi
638     fi
642 dnl GIF Support
643 dnl ============
644 gif=yes
645 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
646         gif=$enableval, gif=yes, gif=no)
648 if test "$gif" = yes; then
649     my_libname=""
650     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
651     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
652         my_libname=-lungif
653     fi
655 dnl libungif is the same thing as libgif for all practical purposes.
657     if test "x$my_libname" = x; then
658         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
659         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
660             my_libname=-lgif
661         fi
662     fi
664     if test "$my_libname" != x; then
665         WM_CHECK_HEADER(gif_lib.h)
666         if test "x$ac_cv_header_gif_lib_h" = xyes; then
667             GFXLIBS="$GFXLIBS $my_libname"
668             supported_gfx="$supported_gfx GIF"
669             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
670         fi
671     fi
676 dnl TIFF Support
677 dnl ============
678 AC_ARG_ENABLE(tiff, 
679 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
680         tif=$enableval, tif=yes, tif=no)
683 # TIFF can optionally have JPEG and/or zlib support. Must find out
684 # when they are supported so that correct library flags are passed during
685 # detection and linkage
688 # By default use xpm icons if tiff is not found.
689 ICONEXT="xpm"
692 if test "$tif" = yes; then
693     my_libname=""
694     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
695     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
696         my_libname="-ltiff"
697     fi
699 dnl Retry with zlib
701     unset ac_cv_lib_tiff_TIFFGetVersion
702     if test "x$my_libname" = x; then
703         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
704         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
705             my_libname="-ltiff -lz"
706         fi
707     fi
709     if test "x$my_libname" = x; then
710         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
711         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
712             my_libname="-ltiff34"
713         fi
714     fi
717     if test "x$my_libname" != x; then
718         WM_CHECK_HEADER(tiffio.h)
719         if test "x$ac_cv_header_tiffio_h" = xyes; then
720             GFXLIBS="$my_libname $GFXLIBS"
721             ICONEXT="tiff"
722             supported_gfx="$supported_gfx TIFF"
723             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
724         fi
725     fi
728 LIBRARY_SEARCH_PATH="$lib_search_path"
729 HEADER_SEARCH_PATH="$inc_search_path"
731 AC_SUBST(LIBRARY_SEARCH_PATH)
732 AC_SUBST(HEADER_SEARCH_PATH)
735 AC_SUBST(GFXLIBS)
736 AC_SUBST(ICONEXT)
739 dnl ==============================================
740 dnl         End of Graphic Format Libraries
741 dnl ==============================================
745 dnl stdlib.h is checked here, because of conflict in jpeglib.h
746 AC_CHECK_HEADERS(stdlib.h)
748 # AC_PREFIX_PROGRAM(wmaker)
750 dnl Support for PIXMAPDIR option
751 dnl ============================
752 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
754 if test "x$with_pixmapdir" != "x"; then
755         pixmapdir=$with_pixmapdir
756 else
757         pixmapdir=`eval echo ${datadir}/pixmaps`
760 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
762 pkgdatadir=`eval echo $datadir`
763 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
765 _sysconfdir=`eval echo $sysconfdir`
766 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
769 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
770 dnl ==============================================
772 AC_ARG_WITH(gnustepdir, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
774 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
775     appspath=$with_gnustepdir
778 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
779     wprefs_base_dir=${prefix}
780     wprefs_datadir="${datadir}/WPrefs"
781     wprefs_bindir="${bindir}"
782 else
783     gnustepdir=$appspath
785     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
786         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
787         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
788     fi
790     wprefs_base_dir=$gnustepdir/Applications
791     wprefs_datadir=$wprefs_base_dir/WPrefs.app
792     wprefs_bindir=$wprefs_base_dir/WPrefs.app
795 AC_SUBST(wprefs_datadir)
796 AC_SUBST(wprefs_bindir)
799 dnl Enable User Defined Menu thing
800 dnl ==================================
801 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
802 if test "$enableval" = yes; then
803         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
807 gl_LD_VERSION_SCRIPT
809 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
810         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
811         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
812         WINGs/Extras/Makefile WINGs/po/Makefile \
813         wrlib/Makefile wrlib/tests/Makefile \
814         src/Makefile src/wconfig.h \
815         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
816         doc/ru/Makefile \
817         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
818         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
819         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
820         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
821         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
822         WPrefs.app/po/Makefile )
825 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
826 dnl ===================================================================
828 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
829 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
830 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
832 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
833 dnl parsed by m4
835 cat <<EOF >get-wraster-flags
836 #!/bin/sh
838 WCFLAGS="$inc_search_path"
839 WLFLAGS="$lib_search_path"
840 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
842 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
844 if test \$# -eq 0; then
845       echo "\${usage}" 1>&2
846       exit 1
849 while test \$# -gt 0; do
850   case \$1 in
851     --cflags)
852         echo \$WCFLAGS
853         ;;
854     --ldflags|--lflags)
855         echo \$WLFLAGS
856         ;;
857     --libs)
858         echo \$WLIBS
859         ;;
860     *)
861         echo "\${usage}" 1>&2
862         exit 1
863         ;;
864   esac
865   shift
866 done
871 cat <<EOF > wrlib/wrlib.pc
872 Name: wrlib
873 Description: Image manipulation and conversion library
874 Version: $VERSION
875 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
876 Cflags: $inc_search_path
879 cat <<EOF >get-wings-flags
880 #!/bin/sh
882 WCFLAGS="$inc_search_path"
883 WLFLAGS="$lib_search_path"
884 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
886 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
888 if test \$# -eq 0; then
889       echo "\${usage}" 1>&2
890       exit 1
893 while test \$# -gt 0; do
894   case \$1 in
895     --cflags)
896         echo \$WCFLAGS
897         ;;
898     --ldflags|--lflags)
899         echo \$WLFLAGS
900         ;;
901     --libs)
902         echo \$WLIBS
903         ;;
904     *)
905         echo "\${usage}" 1>&2
906         exit 1
907         ;;
908   esac
909   shift
910 done
915 cat <<EOF > WINGs/WINGs.pc
916 Name: WINGs
917 Description: Small widget set with the NeXTStep(TM) look and feel
918 Version: $VERSION
919 Requires: wrlib
920 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
921 Cflags: $inc_search_path
924 cat <<EOF >get-wutil-flags
925 #!/bin/sh
927 WCFLAGS="-I`eval echo ${includedir}`"
928 WLFLAGS="-L${_libdir}"
929 WLIBS="-lWUtil $INTLIBS"
931 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
933 if test \$# -eq 0; then
934       echo "\${usage}" 1>&2
935       exit 1
938 while test \$# -gt 0; do
939   case \$1 in
940     --cflags)
941         echo \$WCFLAGS
942         ;;
943     --ldflags|--lflags)
944         echo \$WLFLAGS
945         ;;
946     --libs)
947         echo \$WLIBS
948         ;;
949     *)
950         echo "\${usage}" 1>&2
951         exit 1
952         ;;
953   esac
954   shift
955 done
960 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
961 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
962 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
964 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
966 rm -f get-wraster-flags get-wings-flags get-wutil-flags
970 dnl Spit out the configuration
971 dnl ==========================
973 supported_gfx="$supported_gfx builtin-PPM"
975 if test "x$MOFILES" = "x"; then
976         mof=None
977 else
978         mof=`echo $MOFILES`
981 if test "x$MOFILES" = "x"; then
982         languages=None
983 else
984         languages=`echo $MOFILES | sed 's/.mo//g'`
987 echo
988 echo "Window Maker was configured as follows:"
989 echo
990 echo "Installation path prefix            : $prefix"
991 echo "Installation path for binaries      : $_bindir"
992 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
993 echo "Supported graphic format libraries  : $supported_gfx"
994 echo "Antialiased text support in WINGs   : $xft"
995 echo "Xinerama extension support          : $xinerama"
996 echo "XRandR extension support            : $xrandr"
997 echo "Translated message files to install : $mof"
998 dnl echo "Supported languages beside English  : $languages"
999 if test "x$MOFILES" != "x"; then
1000         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1002 echo
1004 dnl WM_PRINT_REDCRAP_BUG_STATUS
1006 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1007 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1008 echo
1009 echo "JPEG support will not be included because the JPEG library is"
1010 echo "not installed correctly or was not found. Background images"
1011 echo "from themes will not display as they usually are JPEG files."
1012 echo
1013 echo "To fix, download and install the jpeg library and/or make sure you"
1014 echo "installed all jpeg related packages, SPECIALLY the development packages"
1015 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1016 echo
1017 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1021 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1022 dnl ================================================
1023 dnl Local Variables:
1024 dnl compile-command: "autoconf"
1025 dnl End: