Merge WM2 WINGs Examples and Tests
[wmaker-crm.git] / configure.ac
blobcf933007b92e94972b916478e3591f80e5d28ba1
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)
484 dnl Xft2 antialiased font support
485 dnl =============================
487 xft=yes
488 XFTLIBS=""
490 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
491         XFTCONFIG="$PKGCONFIG xft"
492         pkgconfig_xft=yes
493 else
494         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
497 AC_MSG_CHECKING([for the Xft2 library])
499 if test "x$XFTCONFIG" != x; then
500         XFTLIBS=`$XFTCONFIG --libs`
501         XFTFLAGS=`$XFTCONFIG --cflags`
502         AC_MSG_RESULT([found])
503 else
504         AC_MSG_RESULT([not found])
505         echo
506         echo "ERROR!!! libXft2 is not installed or could not be found."
507         echo "         Xft2 is a requirement for building Window Maker."
508         echo "         Please install it (along with fontconfig) before continuing."
509         echo
510         exit 1
513 minXFT="2.1.0"
514 goodxft="no"
518 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
520 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
522 if test "$goodxft" = no; then
523         echo
524         echo "ERROR!!! libXft on this system is an old version."
525         echo "         Please consider upgrading to at least version ${minXFT}."
526         echo
527         exit 1
530 AC_SUBST(XFTFLAGS)
531 AC_SUBST(XFTLIBS)
534 dnl glib2
535 dnl =====
536 PKG_CHECK_MODULES(GLIB, [glib-2.0 > 2.6.0])
538 dnl Cairo
539 dnl =====
540 PKG_CHECK_MODULES(CAIRO, [cairo])
543 dnl XINERAMA support
544 dnl ================
545 xinerama=no
546 AC_ARG_ENABLE(xinerama,
547 [  --enable-xinerama       enable Xinerama extension support],
548                 xinerama=$enableval, xinerama=no)
550 if test "$xinerama" = yes; then
551         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
552                 [XLIBS="-lXinerama $XLIBS"
553                 xfxine=yes],
554                 xfxine=no, $XLFLAGS $XLIBS)
556         AC_CHECK_LIB(Xext, XineramaGetInfo,
557                 [sunxine=yes
558                 ], sunxine=no, $XLFLAGS $XLIBS)
560         if test "$xfxine" = yes; then
561                 xine=1
562         fi
564         if test "$sunxine" = yes; then
565             xine=1
566             AC_DEFINE(SOLARIS_XINERAMA, 1, 
567                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
568         fi
570         if test "$xine" = 1; then
571             AC_DEFINE(XINERAMA, 1, 
572                 [define if you want support for the XINERAMA extension (set by configure)])
573         fi
578 dnl MIT-SHM support
579 dnl ===============
580 shm=yes
581 AC_ARG_ENABLE(shm,
582 [  --disable-shm           disable usage of MIT-SHM extension],
583                 shm=$enableval, shm=yes)
585 if test "$shm" = yes; then
586         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
588         if test "$ok" = yes; then
589         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
590         fi
592         if test "$ok" = yes; then
593                 if test "$added_xext" = no; then
594                         XLIBS="-lXext $XLIBS"
595                 fi
596                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
597         fi
601 dnl R6 Style Session Management Support
602 dnl ===================================
606 #AC_DEFINE(R6SM)
607 #AC_SUBST(XSMPLIBS)
611 dnl ==============================================
612 dnl         Graphic Format Libraries
613 dnl ==============================================
619 dnl XPM Support
620 dnl ===========
621 xpm=yes
622 AC_ARG_ENABLE(xpm, 
623 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
624         xpm=$enableval, xpm=yes)
626 if test "$xpm" = yes; then
627     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
629     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
630         WM_CHECK_HEADER(X11/xpm.h)
631         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
632                 GFXLIBS="$GFXLIBS -lXpm"
633                 supported_gfx="XPM"
634                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
635         else
636                 supported_gfx="builtin-XPM"
637         fi
638     fi
641 AC_SUBST(XLFLAGS)
642 AC_SUBST(XLIBS)
643 AC_SUBST(X_EXTRA_LIBS)
645 dnl ===============================================
646 dnl             End of stuff that uses X
647 dnl ===============================================
651 dnl PNG Support
652 dnl ===========
653 png=yes
654 AC_ARG_ENABLE(png, 
655 [  --disable-png           disable PNG support through libpng],
656         png=$enableval, png=yes, png=no)
659 if test "$png" = yes ; then
660     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
662     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
663         WM_CHECK_HEADER(png.h)
664         if test "x$ac_cv_header_png_h" = xyes; then
665             GFXLIBS="$GFXLIBS -lpng -lz" 
666             supported_gfx="$supported_gfx PNG"
667             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
668         fi
669     fi
673 dnl JPEG Support
674 dnl ============
675 jpeg=yes
676 ljpeg=""
677 AC_ARG_ENABLE(jpeg,
678 [  --disable-jpeg          disable JPEG support through libjpeg],
679         jpeg=$enableval, jpeg=yes, jpeg=no)
681 if test "$jpeg" = yes; then
682     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
684     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
686         ljpeg="-ljpeg"
688         WM_CHECK_HEADER(jpeglib.h)
689         if test "x$ac_cv_header_jpeglib_h" = xyes; then
690             GFXLIBS="$GFXLIBS -ljpeg"
691             supported_gfx="$supported_gfx JPEG"
692             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
693         fi
694     fi
698 dnl GIF Support
699 dnl ============
700 gif=yes
701 AC_ARG_ENABLE(gif,
702 [  --disable-gif           disable GIF support through libgif or libungif],
703         gif=$enableval, gif=yes, gif=no)
705 if test "$gif" = yes; then
706     my_libname=""
707     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
708     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
709         my_libname=-lungif
710     fi
712 dnl libungif is the same thing as libgif for all practical purposes.
714     if test "x$my_libname" = x; then
715         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
716         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
717             my_libname=-lgif
718         fi
719     fi
721     if test "$my_libname" != x; then
722         WM_CHECK_HEADER(gif_lib.h)
723         if test "x$ac_cv_header_gif_lib_h" = xyes; then
724             GFXLIBS="$GFXLIBS $my_libname"
725             supported_gfx="$supported_gfx GIF"
726             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
727         fi
728     fi
733 dnl TIFF Support
734 dnl ============
735 AC_ARG_ENABLE(tiff, 
736 [  --disable-tiff          disable use of TIFF images through libtiff],
737         tif=$enableval, tif=yes, tif=no)
740 # TIFF can optionally have JPEG and/or zlib support. Must find out
741 # when they are supported so that correct library flags are passed during
742 # detection and linkage
745 # By default use xpm icons if tiff is not found.
746 ICONEXT="xpm"
749 if test "$tif" = yes; then
750     my_libname=""
751     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
752     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
753         my_libname="-ltiff"
754     fi
756 dnl Retry with zlib
758     unset ac_cv_lib_tiff_TIFFGetVersion
759     if test "x$my_libname" = x; then
760         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
761         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
762             my_libname="-ltiff -lz"
763         fi
764     fi
766     if test "x$my_libname" = x; then
767         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
768         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
769             my_libname="-ltiff34"
770         fi
771     fi
774     if test "x$my_libname" != x; then
775         WM_CHECK_HEADER(tiffio.h)
776         if test "x$ac_cv_header_tiffio_h" = xyes; then
777             GFXLIBS="$my_libname $GFXLIBS"
778             ICONEXT="tiff"
779             supported_gfx="$supported_gfx TIFF"
780             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
781         fi
782     fi
785 LIBRARY_SEARCH_PATH="$lib_search_path"
786 HEADER_SEARCH_PATH="$inc_search_path"
788 AC_SUBST(LIBRARY_SEARCH_PATH)
789 AC_SUBST(HEADER_SEARCH_PATH)
792 AC_SUBST(GFXLIBS)
793 AC_SUBST(ICONEXT)
796 dnl ==============================================
797 dnl         End of Graphic Format Libraries
798 dnl ==============================================
802 dnl stdlib.h is checked here, because of conflict in jpeglib.h
803 AC_CHECK_HEADERS(stdlib.h)
805 # AC_PREFIX_PROGRAM(wmaker)
807 dnl Support for PIXMAPDIR option
808 dnl ============================
809 AC_ARG_WITH(pixmapdir,
810 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
812 if test "x$with_pixmapdir" != "x"; then
813         pixmapdir=$with_pixmapdir
814 else
815         pixmapdir=`eval echo ${datadir}/pixmaps`
818 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
820 pkgdatadir=`eval echo $datadir`
821 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
823 _sysconfdir=`eval echo $sysconfdir`
824 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
827 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
828 dnl ==============================================
830 AC_ARG_WITH(appspath,
831 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
833 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
834     appspath=$with_gnustepdir
837 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
838     wprefs_base_dir=${prefix}
839     wprefs_datadir="${datadir}/WPrefs"
840     wprefs_bindir="${bindir}"
841 else
842     gnustepdir=$appspath
844     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
845         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
846         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
847     fi
849     wprefs_base_dir=$gnustepdir/Applications
850     wprefs_datadir=$wprefs_base_dir/WPrefs.app
851     wprefs_bindir=$wprefs_base_dir/WPrefs.app
854 AC_SUBST(wprefs_datadir)
855 AC_SUBST(wprefs_bindir)
858 dnl Enable User Defined Menu thing
859 dnl ==================================
860 AC_ARG_ENABLE(usermenu,
861 [  --enable-usermenu       user defined menus for applications
863 if test "$enableval" = yes; then
864         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
869 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
870         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
871         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
872         WINGs/Extras/Makefile WINGs/po/Makefile \
873         wrlib/Makefile wrlib/tests/Makefile \
874         src/Makefile src/wconfig.h \
875         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
876         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
877         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
878         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
879         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
880         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
881         WPrefs.app/po/Makefile )
886 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
887 dnl ===================================================================
890 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
891 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
892 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
894 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
895 dnl parsed by m4
897 cat <<EOF >get-wraster-flags
898 #!/bin/sh
900 WCFLAGS="$inc_search_path"
901 WLFLAGS="$lib_search_path"
902 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
904 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
906 if test \$# -eq 0; then
907       echo "\${usage}" 1>&2
908       exit 1
911 while test \$# -gt 0; do
912   case \$1 in
913     --cflags)
914         echo \$WCFLAGS
915         ;;
916     --ldflags|--lflags)
917         echo \$WLFLAGS
918         ;;
919     --libs)
920         echo \$WLIBS
921         ;;
922     *)
923         echo "\${usage}" 1>&2
924         exit 1
925         ;;
926   esac
927   shift
928 done
933 cat <<EOF > wrlib/wrlib.pc
934 Name: wrlib
935 Description: Image manipulation and conversion library
936 Version: $VERSION
937 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
938 Cflags: $inc_search_path
941 cat <<EOF >get-wings-flags
942 #!/bin/sh
944 WCFLAGS="$inc_search_path"
945 WLFLAGS="$lib_search_path"
946 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
948 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
950 if test \$# -eq 0; then
951       echo "\${usage}" 1>&2
952       exit 1
955 while test \$# -gt 0; do
956   case \$1 in
957     --cflags)
958         echo \$WCFLAGS
959         ;;
960     --ldflags|--lflags)
961         echo \$WLFLAGS
962         ;;
963     --libs)
964         echo \$WLIBS
965         ;;
966     *)
967         echo "\${usage}" 1>&2
968         exit 1
969         ;;
970   esac
971   shift
972 done
977 cat <<EOF > WINGs/WINGs.pc
978 Name: WINGs
979 Description: Small widget set with the NeXTStep(TM) look and feel
980 Version: $VERSION
981 Requires: wrlib
982 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
983 Cflags: $inc_search_path
986 cat <<EOF >get-wutil-flags
987 #!/bin/sh
989 WCFLAGS="-I`eval echo ${includedir}`"
990 WLFLAGS="-L${_libdir}"
991 WLIBS="-lWUtil $INTLIBS"
993 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
995 if test \$# -eq 0; then
996       echo "\${usage}" 1>&2
997       exit 1
1000 while test \$# -gt 0; do
1001   case \$1 in
1002     --cflags)
1003         echo \$WCFLAGS
1004         ;;
1005     --ldflags|--lflags)
1006         echo \$WLFLAGS
1007         ;;
1008     --libs)
1009         echo \$WLIBS
1010         ;;
1011     *)
1012         echo "\${usage}" 1>&2
1013         exit 1
1014         ;;
1015   esac
1016   shift
1017 done
1022 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1023 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1024 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1026 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1028 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1032 dnl Spit out the configuration
1033 dnl ==========================
1035 supported_gfx="$supported_gfx builtin-PPM"
1037 if test "x$MOFILES" = "x"; then
1038         mof=None
1039 else
1040         mof=`echo $MOFILES`
1043 if test "x$MOFILES" = "x"; then
1044         languages=None
1045 else
1046         languages=`echo $MOFILES | sed 's/.mo//g'`
1049 echo
1050 echo "Window Maker was configured as follows:"
1051 echo
1052 echo "Installation path prefix            : $prefix"
1053 echo "Installation path for binaries      : $_bindir"
1054 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1055 echo "Supported graphic format libraries  : $supported_gfx"
1056 echo "Use assembly routines for wrlib     : $asm_support"
1057 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1058 echo "Antialiased text support in WINGs   : $xft"
1059 echo "Xinerama extension support          : $xinerama"
1060 echo "Translated message files to install : $mof"
1061 dnl echo "Supported languages beside English  : $languages"
1062 if test "x$MOFILES" != "x"; then
1063         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1065 echo
1067 dnl WM_PRINT_REDCRAP_BUG_STATUS
1069 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1070 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1071 echo
1072 echo "JPEG support will not be included because the JPEG library is"
1073 echo "not installed correctly or was not found. Background images"
1074 echo "from themes will not display as they usually are JPEG files."
1075 echo
1076 echo "To fix, download and install the jpeg library and/or make sure you"
1077 echo "installed all jpeg related packages, SPECIALLY the development packages"
1078 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1079 echo
1080 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1084 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1085 dnl ================================================
1086 dnl Local Variables:
1087 dnl compile-command: "autoconf"
1088 dnl End: