link libWINGs against libfontconfig
[wmaker-crm.git] / configure.ac
blob55e7a3ffd68dcad1fcaa8ba2ad094d5cd61cac39
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(src/WindowMaker.h)
17 AC_CONFIG_MACRO_DIR([m4])
18 AM_INIT_AUTOMAKE(WindowMaker, 0.94.0-crm)
19 AM_CONFIG_HEADER(src/config.h)
22 dnl Checks for host/os name
23 dnl =======================
24 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
27 dnl Checks for programs.
28 dnl ===================
29 AC_ISC_POSIX
30 AC_PROG_CC
31 AC_PROG_LN_S
32 AC_PROG_GCC_TRADITIONAL
33 AC_PROG_LIBTOOL
35 AX_CFLAGS_GCC_OPTION(-Wall)
36 AX_CFLAGS_GCC_OPTION(-Wextra)
38 dnl Platform-specific Makefile setup
39 dnl ================================
41 case "${host}" in
42         *-*-linux*|*-*-cygwin*)
43                 WM_OSDEP="linux"
44         ;;
45         *-*-freebsd*)
46                 WM_OSDEP="bsd"
47                 CFLAGS="$CFLAGS -DFREEBSD"
48         ;;
49         *-*-netbsd*)
50                 WM_OSDEP="bsd"
51                 CFLAGS="$CFLAGS -DNETBSD"
52         ;;
53         *-*-openbsd*)
54                 WM_OSDEP="bsd"
55         CFLAGS="$CFLAGS -DOPENBSD"
56         ;;
57         *-*-dragonfly*)
58                 WM_OSDEP="bsd"
59                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
60         ;;
61         *-apple-darwin*)
62                 WM_OSDEP="darwin"
63         ;;
64         *-*-solaris*)
65                 WM_OSDEP="stub"         # solaris.c when done
66         ;;
67         *)
68                 WM_OSDEP="stub"
69                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
70         ;;
71 esac
72 AC_SUBST(WM_OSDEP)
75 dnl the prefix
76 dnl ==========
77 dnl
78 dnl move this earlier in the script... anyone know why this is handled
79 dnl in such a bizarre way?
81 test "x$prefix" = xNONE && prefix=$ac_default_prefix
82 dnl Let make expand exec_prefix.
83 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
86 _bindir=`eval echo $bindir`
87 _bindir=`eval echo $_bindir`
89 _libdir=`eval echo $libdir`
90 _libdir=`eval echo $_libdir`
91 lib_search_path="-L$_libdir"
93 inc_search_path=`eval echo $includedir`
94 inc_search_path="-I`eval echo $inc_search_path`"
96 dnl
97 dnl Specify paths to look for libraries and headers
98 dnl ===============================================
99 AC_ARG_WITH(libs-from,
100 [  --with-libs-from        pass compiler flags to look for libraries],
101         [lib_search_path="$withval $lib_search_path"])
103 AC_ARG_WITH(incs-from,
104 [  --with-incs-from        pass compiler flags to look for header files],
105         [inc_search_path="$withval $inc_search_path"])
109 dnl Checks for library functions.
110 dnl ============================
111 dnl not used anywhere
112 dnl AC_FUNC_MEMCMP  
113 AC_FUNC_VPRINTF
114 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
115                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
116                vasprintf)
118 dnl ripped from samba
119 dnl 
120 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
121 AC_TRY_RUN([
122 #include <sys/types.h>
123 #include <stdarg.h>
124 void foo(const char *format, ...) { 
125        va_list ap;
126        int len;
127        char buf[5];
129        va_start(ap, format);
130        len = vsnprintf(0, 0, format, ap);
131        va_end(ap);
132        if (len != 5) exit(1);
134        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
136        exit(0);
138 main() { foo("hello"); }
140 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
141 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
142     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
145 dnl Check for inotify
146 dnl =================
147 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
149 dnl Check CPP
150 dnl =========
151 if test "x$CPP_PATH" = x; then
152     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
153                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
157 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
158 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
159 dnl standard locations
161 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
162     if test "$GCC" = "yes"; then
163         CPP_PATH="gcc -E -x c"
164     else 
165         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
166             CPP_PATH="$CPP_PATH -B"
167         else
168             echo "cpp, the C preprocessor was not found in your system."
169             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
170             exit
171         fi
172     fi
174 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
178 dnl Checks for header files.
179 dnl =======================
180 AC_HEADER_SYS_WAIT
181 AC_HEADER_TIME
182 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
183                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
184                  strings.h)
188 dnl Checks for typedefs, structures, and compiler characteristics.
189 dnl ==============================================================
190 AC_DECL_SYS_SIGLIST
191 AC_C_CONST
192 #AC_TYPE_SIZE_T
193 #AC_TYPE_PID_T
194 AC_TYPE_SIGNAL
198 dnl Compiler/architecture specific optimizations
199 dnl ============================================
202 dnl GCC/as with MMX support
203 dnl -----------------------
205 # until we fix it, leave it disabled
206 asm_support=no
207 mmx_support=no
209 check_for_mmx_support=yes
210 AC_ARG_ENABLE(mmx,
211    [  --disable-mmx          disable compilation of MMX inline assembly ],
212    [if test x$enableval != xyes; then
213     check_for_mmx_support=no
214     fi])
216 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
217 case $host_cpu in
218 *i?86*)
220     # gcc-3.3 or newer complains about some of our stuff without this
221     NOSTRICTALIASING="-fno-strict-aliasing"
223     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
224                    ac_cv_c_inline_asm,
225                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
226                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
227                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
228                    ac_cv_c_inline_asm=yes,
229                    ac_cv_c_inline_asm=no)])
231     if test "x$ac_cv_c_inline_asm" = xyes; then
232        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
233        asm_support=yes
235        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
236                       ac_cv_c_inline_mmx,
237                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
238                       ac_cv_c_inline_mmx=yes,
239                       ac_cv_c_inline_mmx=no)])
241        if test "x$ac_cv_c_inline_mmx" = xyes; then
242           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
243           mmx_support=yes
244        fi
245     fi
246     ;;
247 esac
249 AC_SUBST(NOSTRICTALIASING)
252 dnl pkg-config
253 dnl ----------
254 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
255 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
258 dnl gettext
259 dnl -------
262 dnl AM_GNU_GETTEXT
266 INTLIBS=""
268 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
269         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
270                          INTLIBS="" ))
272 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
274 if test "$XGETTEXT" != ""; then 
275     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
276         echo "xgettext isn't GNU version"
277         XGETTEXT=""
278     fi
281 if test "$LINGUAS" != ""; then
282     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
283         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
284         PO=""
285         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
286     else
287         LINGUAS=""
288         PO=""
289         echo "xgettext and libintl.a don't both exist; will not build i18n support"
290     fi
291 else
292         INTLIBS=""
293         MOFILES=""
294         WPMOFILES=""
295         UTILMOFILES=""
296         PO=""
300 dnl The Tower of Babel
301 dnl ==================
303 dnl List of supported locales
304 dnl -------------------------
305 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"
306 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
307 supported_wings_locales="bg ca cs de fr sk"
308 supported_util_locales="de"
310 for lang in $LINGUAS; do
311         ok=0
312         for l in $supported_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 MOFILES="$MOFILES $lang.mo"
320         else
321                 echo "Locale $lang is not supported."
322         fi
323         ok=0
324         for l in $supported_wprefs_locales; do
325                 if test "$l" = "$lang"; then
326                         ok=1
327                         break
328                 fi
329         done
330         if test "$ok" = 1; then
331                 WPMOFILES="$WPMOFILES $lang.mo"
332         fi
333         ok=0
334         for l in $supported_util_locales; do
335                 if test "$l" = "$lang"; then
336                         ok=1
337                         break
338                 fi
339         done
340         if test "$ok" = 1; then
341                 UTILMOFILES="$UTILMOFILES $lang.mo"
342         fi
343         ok=0
344         for l in $supported_wings_locales; do
345                 if test "$l" = "$lang"; then
346                         ok=1
347                         break
348                 fi
349         done
350         if test "$ok" = 1; then
351                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
352         fi
353 done
356 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
357 dnl ===========================================
358 AC_ARG_WITH(nlsdir, 
359         [  --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
372 AC_SUBST(INTLIBS)
373 AC_SUBST(NLSDIR)
374 AC_SUBST(MOFILES)
375 AC_SUBST(WPMOFILES)
376 AC_SUBST(UTILMOFILES)
377 AC_SUBST(WINGSMOFILES)
378 AC_SUBST(supported_locales)
382 dnl Support for various hint things
383 dnl ===============================
386 dnl Beautify compilation messages
387 dnl ---------------------------------------------
388 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
389                                [Streamline compilation messages (default off)]),
390   [
391         QUIET='@echo "     CC" $@;'
392         QUIET_AR='@echo "     AR" $@;'
393         LIBTOOL_ARG="--silent"
394         MAKEFLAGS="-s"
395         AC_SUBST(QUIET)
396         AC_SUBST(QUIET_AR)
397         AC_SUBST(LIBTOOL_ARG)
398         AC_SUBST(MAKEFLAGS)
402 dnl ===========================================
403 dnl             Stuff that uses X
404 dnl ===========================================
406 AC_PATH_XTRA
408 if test $no_x; then
409     AC_MSG_ERROR([The path for the X11 files not found!
410 Make sure you have X and it's headers and libraries (the -devel packages
411 in Linux) installed.])
414 X_LIBRARY_PATH=$x_libraries
416 XCFLAGS="$X_CFLAGS"
418 XLFLAGS="$X_LIBS"
420 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
423 lib_search_path="$lib_search_path $XLFLAGS"
424 inc_search_path="$inc_search_path $XCFLAGS"
427 AC_SUBST(X_LIBRARY_PATH)
431 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
432 dnl by MANOME Tomonori 
433 dnl ===========================================
434 use_locale=yes
435 AC_ARG_ENABLE(locale, 
436 [  --disable-locale        disable use of X locale support],
437                 use_locale=no)
439 if test "$use_locale" = yes; then
440         AC_CHECK_LIB(X11, _Xsetlocale,
441                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
442                 $XLFLAGS $XLIBS)
446 dnl Check whether XInternAtoms() exist
447 dnl ==================================
448 AC_CHECK_LIB(X11, XInternAtoms, 
449              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
450              $XLFLAGS $XLIBS)
452 dnl Check whether XConvertCase() exist
453 dnl ==================================
454 AC_CHECK_LIB(X11, XConvertCase, 
455              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
456              $XLFLAGS $XLIBS)
459 dnl XKB keyboard language status
460 dnl ============================
461 AC_ARG_ENABLE(modelock,
462 [  --enable-modelock       XKB keyboard language status support],
463                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
467 dnl Shape support
468 dnl =============
469 shape=yes
470 AC_ARG_ENABLE(shape, 
471 [  --disable-shape         disable shaped window extension support],
472                 shape=$enableval, shape=yes)
474 added_xext=no
476 if test "$shape" = yes; then
477         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
478                 added_xext=yes
479                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
480                 shape=no, $XLFLAGS $XLIBS)
485 dnl libWINGS uses FcPatternDel from libfontconfig
487 AC_MSG_CHECKING([for fontconfig library])
488 FCLIBS=`$PKGCONFIG fontconfig --libs`
489 if test "x$FCLIBS" = "x" ; then
490         AC_MSG_RESULT([not found])
491 else
492         AC_MSG_RESULT([found])
494 AC_SUBST(FCLIBS)
497 dnl Xft2 antialiased font support
498 dnl =============================
500 xft=yes
501 XFTLIBS=""
503 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
504         XFTCONFIG="$PKGCONFIG xft"
505         pkgconfig_xft=yes
506 else
507         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
510 AC_MSG_CHECKING([for the Xft2 library])
512 if test "x$XFTCONFIG" != x; then
513         XFTLIBS=`$XFTCONFIG --libs`
514         XFTFLAGS=`$XFTCONFIG --cflags`
515         AC_MSG_RESULT([found])
516 else
517         AC_MSG_RESULT([not found])
518         echo
519         echo "ERROR!!! libXft2 is not installed or could not be found."
520         echo "         Xft2 is a requirement for building Window Maker."
521         echo "         Please install it (along with fontconfig) before continuing."
522         echo
523         exit 1
526 minXFT="2.1.0"
527 goodxft="no"
530 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
532 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
534 if test "$goodxft" = no; then
535         echo
536         echo "ERROR!!! libXft on this system is an old version."
537         echo "         Please consider upgrading to at least version ${minXFT}."
538         echo
539         exit 1
542 AC_SUBST(XFTFLAGS)
543 AC_SUBST(XFTLIBS)
546 dnl XINERAMA support
547 dnl ================
548 xinerama=no
549 AC_ARG_ENABLE(xinerama,
550 [  --enable-xinerama       enable Xinerama extension support],
551                 xinerama=$enableval, xinerama=no)
553 if test "$xinerama" = yes; then
554         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
555                 [XLIBS="-lXinerama $XLIBS"
556                 xfxine=yes],
557                 xfxine=no, $XLFLAGS $XLIBS)
559         AC_CHECK_LIB(Xext, XineramaGetInfo,
560                 [sunxine=yes
561                 ], sunxine=no, $XLFLAGS $XLIBS)
563         if test "$xfxine" = yes; then
564                 xine=1
565         fi
567         if test "$sunxine" = yes; then
568             xine=1
569             AC_DEFINE(SOLARIS_XINERAMA, 1, 
570                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
571         fi
573         if test "$xine" = 1; then
574             AC_DEFINE(XINERAMA, 1, 
575                 [define if you want support for the XINERAMA extension (set by configure)])
576         fi
581 dnl MIT-SHM support
582 dnl ===============
583 shm=yes
584 AC_ARG_ENABLE(shm,
585 [  --disable-shm           disable usage of MIT-SHM extension],
586                 shm=$enableval, shm=yes)
588 if test "$shm" = yes; then
589         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
591         if test "$ok" = yes; then
592         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
593         fi
595         if test "$ok" = yes; then
596                 if test "$added_xext" = no; then
597                         XLIBS="-lXext $XLIBS"
598                 fi
599                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
600         fi
604 dnl R6 Style Session Management Support
605 dnl ===================================
609 #AC_DEFINE(R6SM)
610 #AC_SUBST(XSMPLIBS)
614 dnl ==============================================
615 dnl         Graphic Format Libraries
616 dnl ==============================================
622 dnl XPM Support
623 dnl ===========
624 xpm=yes
625 AC_ARG_ENABLE(xpm, 
626 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
627         xpm=$enableval, xpm=yes)
629 if test "$xpm" = yes; then
630     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
632     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
633         WM_CHECK_HEADER(X11/xpm.h)
634         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
635                 GFXLIBS="$GFXLIBS -lXpm"
636                 supported_gfx="XPM"
637                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
638         else
639                 supported_gfx="builtin-XPM"
640         fi
641     fi
644 AC_SUBST(XLFLAGS)
645 AC_SUBST(XLIBS)
646 AC_SUBST(X_EXTRA_LIBS)
648 dnl ===============================================
649 dnl             End of stuff that uses X
650 dnl ===============================================
654 dnl PNG Support
655 dnl ===========
656 png=yes
657 AC_ARG_ENABLE(png, 
658 [  --disable-png           disable PNG support through libpng],
659         png=$enableval, png=yes, png=no)
662 if test "$png" = yes ; then
663     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
665     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
666         WM_CHECK_HEADER(png.h)
667         if test "x$ac_cv_header_png_h" = xyes; then
668             GFXLIBS="$GFXLIBS -lpng -lz" 
669             supported_gfx="$supported_gfx PNG"
670             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
671         fi
672     fi
676 dnl JPEG Support
677 dnl ============
678 jpeg=yes
679 ljpeg=""
680 AC_ARG_ENABLE(jpeg,
681 [  --disable-jpeg          disable JPEG support through libjpeg],
682         jpeg=$enableval, jpeg=yes, jpeg=no)
684 if test "$jpeg" = yes; then
685     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
687     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
689         ljpeg="-ljpeg"
691         WM_CHECK_HEADER(jpeglib.h)
692         if test "x$ac_cv_header_jpeglib_h" = xyes; then
693             GFXLIBS="$GFXLIBS -ljpeg"
694             supported_gfx="$supported_gfx JPEG"
695             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
696         fi
697     fi
701 dnl GIF Support
702 dnl ============
703 gif=yes
704 AC_ARG_ENABLE(gif,
705 [  --disable-gif           disable GIF support through libgif or libungif],
706         gif=$enableval, gif=yes, gif=no)
708 if test "$gif" = yes; then
709     my_libname=""
710     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
711     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
712         my_libname=-lungif
713     fi
715 dnl libungif is the same thing as libgif for all practical purposes.
717     if test "x$my_libname" = x; then
718         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
719         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
720             my_libname=-lgif
721         fi
722     fi
724     if test "$my_libname" != x; then
725         WM_CHECK_HEADER(gif_lib.h)
726         if test "x$ac_cv_header_gif_lib_h" = xyes; then
727             GFXLIBS="$GFXLIBS $my_libname"
728             supported_gfx="$supported_gfx GIF"
729             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
730         fi
731     fi
736 dnl TIFF Support
737 dnl ============
738 AC_ARG_ENABLE(tiff, 
739 [  --disable-tiff          disable use of TIFF images through libtiff],
740         tif=$enableval, tif=yes, tif=no)
743 # TIFF can optionally have JPEG and/or zlib support. Must find out
744 # when they are supported so that correct library flags are passed during
745 # detection and linkage
748 # By default use xpm icons if tiff is not found.
749 ICONEXT="xpm"
752 if test "$tif" = yes; then
753     my_libname=""
754     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
755     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
756         my_libname="-ltiff"
757     fi
759 dnl Retry with zlib
761     unset ac_cv_lib_tiff_TIFFGetVersion
762     if test "x$my_libname" = x; then
763         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
764         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
765             my_libname="-ltiff -lz"
766         fi
767     fi
769     if test "x$my_libname" = x; then
770         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
771         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
772             my_libname="-ltiff34"
773         fi
774     fi
777     if test "x$my_libname" != x; then
778         WM_CHECK_HEADER(tiffio.h)
779         if test "x$ac_cv_header_tiffio_h" = xyes; then
780             GFXLIBS="$my_libname $GFXLIBS"
781             ICONEXT="tiff"
782             supported_gfx="$supported_gfx TIFF"
783             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
784         fi
785     fi
788 LIBRARY_SEARCH_PATH="$lib_search_path"
789 HEADER_SEARCH_PATH="$inc_search_path"
791 AC_SUBST(LIBRARY_SEARCH_PATH)
792 AC_SUBST(HEADER_SEARCH_PATH)
795 AC_SUBST(GFXLIBS)
796 AC_SUBST(ICONEXT)
799 dnl ==============================================
800 dnl         End of Graphic Format Libraries
801 dnl ==============================================
805 dnl stdlib.h is checked here, because of conflict in jpeglib.h
806 AC_CHECK_HEADERS(stdlib.h)
808 # AC_PREFIX_PROGRAM(wmaker)
810 dnl Support for PIXMAPDIR option
811 dnl ============================
812 AC_ARG_WITH(pixmapdir,
813 [  --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=`eval echo ${datadir}/pixmaps`
821 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
823 pkgdatadir=`eval echo $datadir`
824 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
826 _sysconfdir=`eval echo $sysconfdir`
827 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
830 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
831 dnl ==============================================
833 AC_ARG_WITH(appspath,
834 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
836 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
837     appspath=$with_gnustepdir
840 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
841     wprefs_base_dir=${prefix}
842     wprefs_datadir="${datadir}/WPrefs"
843     wprefs_bindir="${bindir}"
844 else
845     gnustepdir=$appspath
847     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
848         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
849         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
850     fi
852     wprefs_base_dir=$gnustepdir/Applications
853     wprefs_datadir=$wprefs_base_dir/WPrefs.app
854     wprefs_bindir=$wprefs_base_dir/WPrefs.app
857 AC_SUBST(wprefs_datadir)
858 AC_SUBST(wprefs_bindir)
861 dnl Enable User Defined Menu thing
862 dnl ==================================
863 AC_ARG_ENABLE(usermenu,
864 [  --enable-usermenu       user defined menus for applications
866 if test "$enableval" = yes; then
867         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
872 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
873         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
874         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
875         WINGs/Extras/Makefile WINGs/po/Makefile \
876         wrlib/Makefile wrlib/tests/Makefile \
877         src/Makefile src/wconfig.h \
878         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
879         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
880         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
881         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
882         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
883         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
884         WPrefs.app/po/Makefile )
889 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
890 dnl ===================================================================
893 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
894 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
895 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
897 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
898 dnl parsed by m4
900 cat <<EOF >get-wraster-flags
901 #!/bin/sh
903 WCFLAGS="$inc_search_path"
904 WLFLAGS="$lib_search_path"
905 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
907 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
909 if test \$# -eq 0; then
910       echo "\${usage}" 1>&2
911       exit 1
914 while test \$# -gt 0; do
915   case \$1 in
916     --cflags)
917         echo \$WCFLAGS
918         ;;
919     --ldflags|--lflags)
920         echo \$WLFLAGS
921         ;;
922     --libs)
923         echo \$WLIBS
924         ;;
925     *)
926         echo "\${usage}" 1>&2
927         exit 1
928         ;;
929   esac
930   shift
931 done
936 cat <<EOF > wrlib/wrlib.pc
937 Name: wrlib
938 Description: Image manipulation and conversion library
939 Version: $VERSION
940 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
941 Cflags: $inc_search_path
944 cat <<EOF >get-wings-flags
945 #!/bin/sh
947 WCFLAGS="$inc_search_path"
948 WLFLAGS="$lib_search_path"
949 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
951 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
953 if test \$# -eq 0; then
954       echo "\${usage}" 1>&2
955       exit 1
958 while test \$# -gt 0; do
959   case \$1 in
960     --cflags)
961         echo \$WCFLAGS
962         ;;
963     --ldflags|--lflags)
964         echo \$WLFLAGS
965         ;;
966     --libs)
967         echo \$WLIBS
968         ;;
969     *)
970         echo "\${usage}" 1>&2
971         exit 1
972         ;;
973   esac
974   shift
975 done
980 cat <<EOF > WINGs/WINGs.pc
981 Name: WINGs
982 Description: Small widget set with the NeXTStep(TM) look and feel
983 Version: $VERSION
984 Requires: wrlib
985 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
986 Cflags: $inc_search_path
989 cat <<EOF >get-wutil-flags
990 #!/bin/sh
992 WCFLAGS="-I`eval echo ${includedir}`"
993 WLFLAGS="-L${_libdir}"
994 WLIBS="-lWUtil $INTLIBS"
996 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
998 if test \$# -eq 0; then
999       echo "\${usage}" 1>&2
1000       exit 1
1003 while test \$# -gt 0; do
1004   case \$1 in
1005     --cflags)
1006         echo \$WCFLAGS
1007         ;;
1008     --ldflags|--lflags)
1009         echo \$WLFLAGS
1010         ;;
1011     --libs)
1012         echo \$WLIBS
1013         ;;
1014     *)
1015         echo "\${usage}" 1>&2
1016         exit 1
1017         ;;
1018   esac
1019   shift
1020 done
1025 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1026 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1027 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1029 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1031 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1035 dnl Spit out the configuration
1036 dnl ==========================
1038 supported_gfx="$supported_gfx builtin-PPM"
1040 if test "x$MOFILES" = "x"; then
1041         mof=None
1042 else
1043         mof=`echo $MOFILES`
1046 if test "x$MOFILES" = "x"; then
1047         languages=None
1048 else
1049         languages=`echo $MOFILES | sed 's/.mo//g'`
1052 echo
1053 echo "Window Maker was configured as follows:"
1054 echo
1055 echo "Installation path prefix            : $prefix"
1056 echo "Installation path for binaries      : $_bindir"
1057 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1058 echo "Supported graphic format libraries  : $supported_gfx"
1059 echo "Use assembly routines for wrlib     : $asm_support"
1060 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1061 echo "Antialiased text support in WINGs   : $xft"
1062 echo "Xinerama extension support          : $xinerama"
1063 echo "Translated message files to install : $mof"
1064 dnl echo "Supported languages beside English  : $languages"
1065 if test "x$MOFILES" != "x"; then
1066         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1068 echo
1070 dnl WM_PRINT_REDCRAP_BUG_STATUS
1072 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1073 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1074 echo
1075 echo "JPEG support will not be included because the JPEG library is"
1076 echo "not installed correctly or was not found. Background images"
1077 echo "from themes will not display as they usually are JPEG files."
1078 echo
1079 echo "To fix, download and install the jpeg library and/or make sure you"
1080 echo "installed all jpeg related packages, SPECIALLY the development packages"
1081 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1082 echo
1083 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1087 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1088 dnl ================================================
1089 dnl Local Variables:
1090 dnl compile-command: "autoconf"
1091 dnl End: