Escape minus sign ("-") in manpages.
[wmaker-crm.git] / configure.ac
blob3568cf57b95ce2b20b88150ba57696d421c31de5
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 math functions, check whether usage requires linking
486 dnl against libm
488 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
489 if test "x$mathneedslibm" = "xdunno" ; then
490         AC_CHECK_LIB(m, atan, [LIBM=-lm])
492 AC_SUBST(LIBM)
496 dnl libWINGS uses FcPatternDel from libfontconfig
498 AC_MSG_CHECKING([for fontconfig library])
499 FCLIBS=`$PKGCONFIG fontconfig --libs`
500 if test "x$FCLIBS" = "x" ; then
501         AC_MSG_RESULT([not found])
502 else
503         AC_MSG_RESULT([found])
505 AC_SUBST(FCLIBS)
508 dnl Xft2 antialiased font support
509 dnl =============================
511 xft=yes
512 XFTLIBS=""
514 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
515         XFTCONFIG="$PKGCONFIG xft"
516         pkgconfig_xft=yes
517 else
518         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
521 AC_MSG_CHECKING([for the Xft2 library])
523 if test "x$XFTCONFIG" != x; then
524         XFTLIBS=`$XFTCONFIG --libs`
525         XFTFLAGS=`$XFTCONFIG --cflags`
526         AC_MSG_RESULT([found])
527 else
528         AC_MSG_RESULT([not found])
529         echo
530         echo "ERROR!!! libXft2 is not installed or could not be found."
531         echo "         Xft2 is a requirement for building Window Maker."
532         echo "         Please install it (along with fontconfig) before continuing."
533         echo
534         exit 1
537 minXFT="2.1.0"
538 goodxft="no"
541 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
543 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
545 if test "$goodxft" = no; then
546         echo
547         echo "ERROR!!! libXft on this system is an old version."
548         echo "         Please consider upgrading to at least version ${minXFT}."
549         echo
550         exit 1
553 AC_SUBST(XFTFLAGS)
554 AC_SUBST(XFTLIBS)
557 dnl XINERAMA support
558 dnl ================
559 xinerama=no
560 AC_ARG_ENABLE(xinerama,
561 [  --enable-xinerama       enable Xinerama extension support],
562                 xinerama=$enableval, xinerama=no)
564 if test "$xinerama" = yes; then
565         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
566                 [XLIBS="-lXinerama $XLIBS"
567                 xfxine=yes],
568                 xfxine=no, $XLFLAGS $XLIBS)
570         AC_CHECK_LIB(Xext, XineramaGetInfo,
571                 [sunxine=yes
572                 ], sunxine=no, $XLFLAGS $XLIBS)
574         if test "$xfxine" = yes; then
575                 xine=1
576         fi
578         if test "$sunxine" = yes; then
579             xine=1
580             AC_DEFINE(SOLARIS_XINERAMA, 1, 
581                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
582         fi
584         if test "$xine" = 1; then
585             AC_DEFINE(XINERAMA, 1, 
586                 [define if you want support for the XINERAMA extension (set by configure)])
587         fi
592 dnl MIT-SHM support
593 dnl ===============
594 shm=yes
595 AC_ARG_ENABLE(shm,
596 [  --disable-shm           disable usage of MIT-SHM extension],
597                 shm=$enableval, shm=yes)
599 if test "$shm" = yes; then
600         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
602         if test "$ok" = yes; then
603         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
604         fi
606         if test "$ok" = yes; then
607                 if test "$added_xext" = no; then
608                         XLIBS="-lXext $XLIBS"
609                 fi
610                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
611         fi
615 dnl R6 Style Session Management Support
616 dnl ===================================
620 #AC_DEFINE(R6SM)
621 #AC_SUBST(XSMPLIBS)
625 dnl ==============================================
626 dnl         Graphic Format Libraries
627 dnl ==============================================
633 dnl XPM Support
634 dnl ===========
635 xpm=yes
636 AC_ARG_ENABLE(xpm, 
637 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
638         xpm=$enableval, xpm=yes)
640 if test "$xpm" = yes; then
641     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
643     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
644         WM_CHECK_HEADER(X11/xpm.h)
645         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
646                 GFXLIBS="$GFXLIBS -lXpm"
647                 supported_gfx="XPM"
648                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
649         else
650                 supported_gfx="builtin-XPM"
651         fi
652     fi
655 AC_SUBST(XLFLAGS)
656 AC_SUBST(XLIBS)
657 AC_SUBST(X_EXTRA_LIBS)
659 dnl ===============================================
660 dnl             End of stuff that uses X
661 dnl ===============================================
665 dnl PNG Support
666 dnl ===========
667 png=yes
668 AC_ARG_ENABLE(png, 
669 [  --disable-png           disable PNG support through libpng],
670         png=$enableval, png=yes, png=no)
673 if test "$png" = yes ; then
674     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
676     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
677         WM_CHECK_HEADER(png.h)
678         if test "x$ac_cv_header_png_h" = xyes; then
679             GFXLIBS="$GFXLIBS -lpng -lz" 
680             supported_gfx="$supported_gfx PNG"
681             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
682         fi
683     fi
687 dnl JPEG Support
688 dnl ============
689 jpeg=yes
690 ljpeg=""
691 AC_ARG_ENABLE(jpeg,
692 [  --disable-jpeg          disable JPEG support through libjpeg],
693         jpeg=$enableval, jpeg=yes, jpeg=no)
695 if test "$jpeg" = yes; then
696     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
698     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
700         ljpeg="-ljpeg"
702         WM_CHECK_HEADER(jpeglib.h)
703         if test "x$ac_cv_header_jpeglib_h" = xyes; then
704             GFXLIBS="$GFXLIBS -ljpeg"
705             supported_gfx="$supported_gfx JPEG"
706             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
707         fi
708     fi
712 dnl GIF Support
713 dnl ============
714 gif=yes
715 AC_ARG_ENABLE(gif,
716 [  --disable-gif           disable GIF support through libgif or libungif],
717         gif=$enableval, gif=yes, gif=no)
719 if test "$gif" = yes; then
720     my_libname=""
721     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
722     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
723         my_libname=-lungif
724     fi
726 dnl libungif is the same thing as libgif for all practical purposes.
728     if test "x$my_libname" = x; then
729         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
730         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
731             my_libname=-lgif
732         fi
733     fi
735     if test "$my_libname" != x; then
736         WM_CHECK_HEADER(gif_lib.h)
737         if test "x$ac_cv_header_gif_lib_h" = xyes; then
738             GFXLIBS="$GFXLIBS $my_libname"
739             supported_gfx="$supported_gfx GIF"
740             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
741         fi
742     fi
747 dnl TIFF Support
748 dnl ============
749 AC_ARG_ENABLE(tiff, 
750 [  --disable-tiff          disable use of TIFF images through libtiff],
751         tif=$enableval, tif=yes, tif=no)
754 # TIFF can optionally have JPEG and/or zlib support. Must find out
755 # when they are supported so that correct library flags are passed during
756 # detection and linkage
759 # By default use xpm icons if tiff is not found.
760 ICONEXT="xpm"
763 if test "$tif" = yes; then
764     my_libname=""
765     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
766     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
767         my_libname="-ltiff"
768     fi
770 dnl Retry with zlib
772     unset ac_cv_lib_tiff_TIFFGetVersion
773     if test "x$my_libname" = x; then
774         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
775         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
776             my_libname="-ltiff -lz"
777         fi
778     fi
780     if test "x$my_libname" = x; then
781         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
782         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
783             my_libname="-ltiff34"
784         fi
785     fi
788     if test "x$my_libname" != x; then
789         WM_CHECK_HEADER(tiffio.h)
790         if test "x$ac_cv_header_tiffio_h" = xyes; then
791             GFXLIBS="$my_libname $GFXLIBS"
792             ICONEXT="tiff"
793             supported_gfx="$supported_gfx TIFF"
794             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
795         fi
796     fi
799 LIBRARY_SEARCH_PATH="$lib_search_path"
800 HEADER_SEARCH_PATH="$inc_search_path"
802 AC_SUBST(LIBRARY_SEARCH_PATH)
803 AC_SUBST(HEADER_SEARCH_PATH)
806 AC_SUBST(GFXLIBS)
807 AC_SUBST(ICONEXT)
810 dnl ==============================================
811 dnl         End of Graphic Format Libraries
812 dnl ==============================================
816 dnl stdlib.h is checked here, because of conflict in jpeglib.h
817 AC_CHECK_HEADERS(stdlib.h)
819 # AC_PREFIX_PROGRAM(wmaker)
821 dnl Support for PIXMAPDIR option
822 dnl ============================
823 AC_ARG_WITH(pixmapdir,
824 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
826 if test "x$with_pixmapdir" != "x"; then
827         pixmapdir=$with_pixmapdir
828 else
829         pixmapdir=`eval echo ${datadir}/pixmaps`
832 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
834 pkgdatadir=`eval echo $datadir`
835 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
837 _sysconfdir=`eval echo $sysconfdir`
838 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
841 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
842 dnl ==============================================
844 AC_ARG_WITH(appspath,
845 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
847 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
848     appspath=$with_gnustepdir
851 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
852     wprefs_base_dir=${prefix}
853     wprefs_datadir="${datadir}/WPrefs"
854     wprefs_bindir="${bindir}"
855 else
856     gnustepdir=$appspath
858     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
859         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
860         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
861     fi
863     wprefs_base_dir=$gnustepdir/Applications
864     wprefs_datadir=$wprefs_base_dir/WPrefs.app
865     wprefs_bindir=$wprefs_base_dir/WPrefs.app
868 AC_SUBST(wprefs_datadir)
869 AC_SUBST(wprefs_bindir)
872 dnl Enable User Defined Menu thing
873 dnl ==================================
874 AC_ARG_ENABLE(usermenu,
875 [  --enable-usermenu       user defined menus for applications
877 if test "$enableval" = yes; then
878         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
883 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
884         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
885         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
886         WINGs/Extras/Makefile WINGs/po/Makefile \
887         wrlib/Makefile wrlib/tests/Makefile \
888         src/Makefile src/wconfig.h \
889         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
890         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
891         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
892         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
893         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
894         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
895         WPrefs.app/po/Makefile )
900 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
901 dnl ===================================================================
904 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
905 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
906 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
908 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
909 dnl parsed by m4
911 cat <<EOF >get-wraster-flags
912 #!/bin/sh
914 WCFLAGS="$inc_search_path"
915 WLFLAGS="$lib_search_path"
916 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
918 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
920 if test \$# -eq 0; then
921       echo "\${usage}" 1>&2
922       exit 1
925 while test \$# -gt 0; do
926   case \$1 in
927     --cflags)
928         echo \$WCFLAGS
929         ;;
930     --ldflags|--lflags)
931         echo \$WLFLAGS
932         ;;
933     --libs)
934         echo \$WLIBS
935         ;;
936     *)
937         echo "\${usage}" 1>&2
938         exit 1
939         ;;
940   esac
941   shift
942 done
947 cat <<EOF > wrlib/wrlib.pc
948 Name: wrlib
949 Description: Image manipulation and conversion library
950 Version: $VERSION
951 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
952 Cflags: $inc_search_path
955 cat <<EOF >get-wings-flags
956 #!/bin/sh
958 WCFLAGS="$inc_search_path"
959 WLFLAGS="$lib_search_path"
960 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
962 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
964 if test \$# -eq 0; then
965       echo "\${usage}" 1>&2
966       exit 1
969 while test \$# -gt 0; do
970   case \$1 in
971     --cflags)
972         echo \$WCFLAGS
973         ;;
974     --ldflags|--lflags)
975         echo \$WLFLAGS
976         ;;
977     --libs)
978         echo \$WLIBS
979         ;;
980     *)
981         echo "\${usage}" 1>&2
982         exit 1
983         ;;
984   esac
985   shift
986 done
991 cat <<EOF > WINGs/WINGs.pc
992 Name: WINGs
993 Description: Small widget set with the NeXTStep(TM) look and feel
994 Version: $VERSION
995 Requires: wrlib
996 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
997 Cflags: $inc_search_path
1000 cat <<EOF >get-wutil-flags
1001 #!/bin/sh
1003 WCFLAGS="-I`eval echo ${includedir}`"
1004 WLFLAGS="-L${_libdir}"
1005 WLIBS="-lWUtil $INTLIBS"
1007 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1009 if test \$# -eq 0; then
1010       echo "\${usage}" 1>&2
1011       exit 1
1014 while test \$# -gt 0; do
1015   case \$1 in
1016     --cflags)
1017         echo \$WCFLAGS
1018         ;;
1019     --ldflags|--lflags)
1020         echo \$WLFLAGS
1021         ;;
1022     --libs)
1023         echo \$WLIBS
1024         ;;
1025     *)
1026         echo "\${usage}" 1>&2
1027         exit 1
1028         ;;
1029   esac
1030   shift
1031 done
1036 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1037 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1038 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1040 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1042 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1046 dnl Spit out the configuration
1047 dnl ==========================
1049 supported_gfx="$supported_gfx builtin-PPM"
1051 if test "x$MOFILES" = "x"; then
1052         mof=None
1053 else
1054         mof=`echo $MOFILES`
1057 if test "x$MOFILES" = "x"; then
1058         languages=None
1059 else
1060         languages=`echo $MOFILES | sed 's/.mo//g'`
1063 echo
1064 echo "Window Maker was configured as follows:"
1065 echo
1066 echo "Installation path prefix            : $prefix"
1067 echo "Installation path for binaries      : $_bindir"
1068 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1069 echo "Supported graphic format libraries  : $supported_gfx"
1070 echo "Use assembly routines for wrlib     : $asm_support"
1071 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1072 echo "Antialiased text support in WINGs   : $xft"
1073 echo "Xinerama extension support          : $xinerama"
1074 echo "Translated message files to install : $mof"
1075 dnl echo "Supported languages beside English  : $languages"
1076 if test "x$MOFILES" != "x"; then
1077         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1079 echo
1081 dnl WM_PRINT_REDCRAP_BUG_STATUS
1083 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1084 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1085 echo
1086 echo "JPEG support will not be included because the JPEG library is"
1087 echo "not installed correctly or was not found. Background images"
1088 echo "from themes will not display as they usually are JPEG files."
1089 echo
1090 echo "To fix, download and install the jpeg library and/or make sure you"
1091 echo "installed all jpeg related packages, SPECIALLY the development packages"
1092 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1093 echo
1094 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1098 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1099 dnl ================================================
1100 dnl Local Variables:
1101 dnl compile-command: "autoconf"
1102 dnl End: