wmgenmenu: A Window Maker menu generator
[wmaker-crm.git] / configure.ac
blobf392ebb257f3a17228c0ba8186bca9da36e7674a
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)
18 AM_INIT_AUTOMAKE(WindowMaker, 0.94.0-crm)
20 AC_PROG_LIBTOOL
22 AM_CONFIG_HEADER(src/config.h)
25 dnl Checks for host/os name
26 dnl =======================
27 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
30 dnl Checks for programs.
31 dnl ===================
32 AC_ISC_POSIX
33 AC_PROG_CC
34 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
35 #AC_PROG_RANLIB
36 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
37 AC_PROG_LN_S
38 AC_PROG_GCC_TRADITIONAL
41 dnl the prefix
42 dnl ==========
43 dnl
44 dnl move this earlier in the script... anyone know why this is handled
45 dnl in such a bizarre way?
47 test "x$prefix" = xNONE && prefix=$ac_default_prefix
48 dnl Let make expand exec_prefix.
49 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
52 _bindir=`eval echo $bindir`
53 _bindir=`eval echo $_bindir`
55 _libdir=`eval echo $libdir`
56 _libdir=`eval echo $_libdir`
57 lib_search_path="-L$_libdir"
59 inc_search_path=`eval echo $includedir`
60 inc_search_path="-I`eval echo $inc_search_path`"
63 dnl
64 dnl Check for RedHat bugs
65 dnl =====================
67 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
70 dnl
71 dnl Specify paths to look for libraries and headers
72 dnl ===============================================
73 AC_ARG_WITH(libs-from,
74 [  --with-libs-from        pass compiler flags to look for libraries],
75         [lib_search_path="$withval $lib_search_path"])
77 AC_ARG_WITH(incs-from,
78 [  --with-incs-from        pass compiler flags to look for header files],
79         [inc_search_path="$withval $inc_search_path"])
83 dnl Checks for library functions.
84 dnl ============================
85 dnl not used anywhere
86 dnl AC_FUNC_MEMCMP  
87 AC_FUNC_VPRINTF
88 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
89                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
90                vasprintf)
92 dnl ripped from samba
93 dnl 
94 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
95 AC_TRY_RUN([
96 #include <sys/types.h>
97 #include <stdarg.h>
98 void foo(const char *format, ...) { 
99        va_list ap;
100        int len;
101        char buf[5];
103        va_start(ap, format);
104        len = vsnprintf(0, 0, format, ap);
105        va_end(ap);
106        if (len != 5) exit(1);
108        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
110        exit(0);
112 main() { foo("hello"); }
114 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
115 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
116     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
119 dnl Loading of dynamic libraries at runtime
120 dnl =======================================
121 DLLIBS=""
123 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
124         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
125                          DLLIBS="" ))
127 if test "x$HAVEDL" = xyes; then
128     AC_CHECK_HEADERS(dlfcn.h)
133 dnl Check CPP
134 dnl =========
135 if test "x$CPP_PATH" = x; then
136     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
137                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
141 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
142 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
143 dnl standard locations
145 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
146     if test "$GCC" = "yes"; then
147         CPP_PATH="gcc -E -x c"
148     else 
149         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
150             CPP_PATH="$CPP_PATH -B"
151         else
152             echo "cpp, the C preprocessor was not found in your system."
153             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
154             exit
155         fi
156     fi
158 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
162 dnl Checks for header files.
163 dnl =======================
164 AC_HEADER_SYS_WAIT
165 AC_HEADER_TIME
166 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
167                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
168                  strings.h)
172 dnl Checks for typedefs, structures, and compiler characteristics.
173 dnl ==============================================================
174 AC_DECL_SYS_SIGLIST
175 AC_C_CONST
176 #AC_TYPE_SIZE_T
177 #AC_TYPE_PID_T
178 AC_TYPE_SIGNAL
182 dnl Compiler/architecture specific optimizations
183 dnl ============================================
186 dnl GCC/as with MMX support
187 dnl -----------------------
189 # until we fix it, leave it disabled
190 asm_support=no
191 mmx_support=no
193 check_for_mmx_support=yes
194 AC_ARG_ENABLE(mmx,
195    [  --disable-mmx          disable compilation of MMX inline assembly ],
196    [if test x$enableval != xyes; then
197     check_for_mmx_support=no
198     fi])
200 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
201 case $host_cpu in
202 *i?86*)
204     # gcc-3.3 or newer complains about some of our stuff without this
205     NOSTRICTALIASING="-fno-strict-aliasing"
207     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
208                    ac_cv_c_inline_asm,
209                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
210                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
211                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
212                    ac_cv_c_inline_asm=yes,
213                    ac_cv_c_inline_asm=no)])
215     if test "x$ac_cv_c_inline_asm" = xyes; then
216        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
217        asm_support=yes
219        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
220                       ac_cv_c_inline_mmx,
221                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
222                       ac_cv_c_inline_mmx=yes,
223                       ac_cv_c_inline_mmx=no)])
225        if test "x$ac_cv_c_inline_mmx" = xyes; then
226           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
227           mmx_support=yes
228        fi
229     fi
230     ;;
231 esac
233 AC_SUBST(NOSTRICTALIASING)
236 dnl pkg-config
237 dnl ----------
238 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
239 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
242 dnl gettext
243 dnl -------
246 dnl AM_GNU_GETTEXT
250 INTLIBS=""
252 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
253         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
254                          INTLIBS="" ))
256 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
258 if test "$XGETTEXT" != ""; then 
259     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
260         echo "xgettext isn't GNU version"
261         XGETTEXT=""
262     fi
265 if test "$LINGUAS" != ""; then
266     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
267         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
268         PO=""
269 #       if test "$LINGUAS" = ""; then
270 #           ling=` (cd src/po; /bin/ls *.po) `
271 #           for l in $ling; do
272 #               lcode=`basename $l .po`
273 #               LINGUAS="$LINGUAS $lcode"
274 #           done
275 #       fi
276         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
277     else
278         LINGUAS=""
279         PO=""
280         echo "xgettext and libintl.a don't both exist; will not build i18n support"
281     fi
282 else
283         INTLIBS=""
284         MOFILES=""
285         WPMOFILES=""
286         UTILMOFILES=""
287         PO=""
291 dnl The Tower of Babel
292 dnl ==================
294 dnl List of supported locales
295 dnl -------------------------
296 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"
297 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
298 supported_wings_locales="bg ca cs de fr sk"
299 supported_util_locales="de"
301 for lang in $LINGUAS; do
302         ok=0
303         for l in $supported_locales; do
304                 if test "$l" = "$lang"; then
305                         ok=1
306                         break
307                 fi
308         done
309         if test "$ok" = 1; then
310                 MOFILES="$MOFILES $lang.mo"
311         else
312                 echo "Locale $lang is not supported."
313         fi
314         ok=0
315         for l in $supported_wprefs_locales; do
316                 if test "$l" = "$lang"; then
317                         ok=1
318                         break
319                 fi
320         done
321         if test "$ok" = 1; then
322                 WPMOFILES="$WPMOFILES $lang.mo"
323         fi
324         ok=0
325         for l in $supported_util_locales; do
326                 if test "$l" = "$lang"; then
327                         ok=1
328                         break
329                 fi
330         done
331         if test "$ok" = 1; then
332                 UTILMOFILES="$UTILMOFILES $lang.mo"
333         fi
334         ok=0
335         for l in $supported_wings_locales; do
336                 if test "$l" = "$lang"; then
337                         ok=1
338                         break
339                 fi
340         done
341         if test "$ok" = 1; then
342                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
343         fi
344 done
347 dnl Kanji Characters support
348 dnl ========================
350 case $host_os in
351         freebsd*)
352                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
353         *)
354         ;;
355 esac
359 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
360 dnl ===========================================
361 AC_ARG_WITH(nlsdir, 
362         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
365 if test "x$NLSDIR" = "x"; then
366         if test "x$with_nlsdir" != "x"; then
367                 NLSDIR=$with_nlsdir
368         else
369                 NLSDIR='$(prefix)/lib/locale'
370         fi
375 AC_SUBST(DLLIBS)
376 AC_SUBST(INTLIBS)
377 AC_SUBST(NLSDIR)
378 AC_SUBST(MOFILES)
379 AC_SUBST(WPMOFILES)
380 AC_SUBST(UTILMOFILES)
381 AC_SUBST(WINGSMOFILES)
382 AC_SUBST(supported_locales)
386 dnl Support for various hint things
387 dnl ===============================
390 dnl Beautify compilation messages
391 dnl ---------------------------------------------
392 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
393                                [Streamline compilation messages (default off)]),
394   [
395         QUIET='@echo "     CC" $@;'
396         QUIET_AR='@echo "     AR" $@;'
397         LIBTOOL_ARG="--silent"
398         MAKEFLAGS="-s"
399         AC_SUBST(QUIET)
400         AC_SUBST(QUIET_AR)
401         AC_SUBST(LIBTOOL_ARG)
402         AC_SUBST(MAKEFLAGS)
408 dnl Networking stuff
411 NETLIBS=""
413 AC_CHECK_FUNC(connect,,
414         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
416 AC_CHECK_FUNC(gethostbyname,,
417         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
419 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
420      for lib in resolv socket inet bsd; do
421         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
422                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
423      done)
425 AC_SUBST(NETLIBS)
428 dnl ===========================================
429 dnl             Stuff that uses X
430 dnl ===========================================
432 AC_PATH_XTRA
434 if test $no_x; then
435     AC_MSG_ERROR([The path for the X11 files not found!
436 Make sure you have X and it's headers and libraries (the -devel packages
437 in Linux) installed.])
440 X_LIBRARY_PATH=$x_libraries
442 XCFLAGS="$X_CFLAGS"
444 XLFLAGS="$X_LIBS"
446 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
449 lib_search_path="$lib_search_path $XLFLAGS"
450 inc_search_path="$inc_search_path $XCFLAGS"
453 AC_SUBST(X_LIBRARY_PATH)
457 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
458 dnl by MANOME Tomonori 
459 dnl ===========================================
460 use_locale=yes
461 AC_ARG_ENABLE(locale, 
462 [  --disable-locale        disable use of X locale support],
463                 use_locale=no)
465 if test "$use_locale" = yes; then
466         AC_CHECK_LIB(X11, _Xsetlocale,
467                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
468                 $XLFLAGS $XLIBS)
472 dnl Check whether XInternAtoms() exist
473 dnl ==================================
474 AC_CHECK_LIB(X11, XInternAtoms, 
475              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
476              $XLFLAGS $XLIBS)
478 dnl Check whether XConvertCase() exist
479 dnl ==================================
480 AC_CHECK_LIB(X11, XConvertCase, 
481              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
482              $XLFLAGS $XLIBS)
485 dnl XKB keyboard language status
486 dnl ============================
487 AC_ARG_ENABLE(modelock,
488 [  --enable-modelock       XKB keyboard language status support],
489                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
493 dnl Shape support
494 dnl =============
495 shape=yes
496 AC_ARG_ENABLE(shape, 
497 [  --disable-shape         disable shaped window extension support],
498                 shape=$enableval, shape=yes)
500 added_xext=no
502 if test "$shape" = yes; then
503         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
504                 added_xext=yes
505                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
506                 shape=no, $XLFLAGS $XLIBS)
510 dnl Xft2 antialiased font support
511 dnl =============================
513 xft=yes
514 XFTLIBS=""
516 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
517         XFTCONFIG="$PKGCONFIG xft"
518         pkgconfig_xft=yes
519 else
520         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
523 AC_MSG_CHECKING([for the Xft2 library])
525 if test "x$XFTCONFIG" != x; then
526         XFTLIBS=`$XFTCONFIG --libs`
527         XFTFLAGS=`$XFTCONFIG --cflags`
528         AC_MSG_RESULT([found])
529 else
530         AC_MSG_RESULT([not found])
531         echo
532         echo "ERROR!!! libXft2 is not installed or could not be found."
533         echo "         Xft2 is a requirement for building Window Maker."
534         echo "         Please install it (along with fontconfig) before continuing."
535         echo
536         exit 1
539 minXFT="2.1.0"
540 goodxft="no"
543 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
545 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
547 if test "$goodxft" = no; then
548         echo
549         echo "ERROR!!! libXft on this system is an old version."
550         echo "         Please consider upgrading to at least version ${minXFT}."
551         echo
552         exit 1
555 AC_SUBST(XFTFLAGS)
556 AC_SUBST(XFTLIBS)
559 dnl XINERAMA support
560 dnl ================
561 xinerama=no
562 AC_ARG_ENABLE(xinerama,
563 [  --enable-xinerama       enable Xinerama extension support],
564                 xinerama=$enableval, xinerama=no)
566 if test "$xinerama" = yes; then
567         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
568                 [XLIBS="-lXinerama $XLIBS"
569                 xfxine=yes],
570                 xfxine=no, $XLFLAGS $XLIBS)
572         AC_CHECK_LIB(Xext, XineramaGetInfo,
573                 [sunxine=yes
574                 ], sunxine=no, $XLFLAGS $XLIBS)
576         if test "$xfxine" = yes; then
577                 xine=1
578         fi
580         if test "$sunxine" = yes; then
581             xine=1
582             AC_DEFINE(SOLARIS_XINERAMA, 1, 
583                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
584         fi
586         if test "$xine" = 1; then
587             AC_DEFINE(XINERAMA, 1, 
588                 [define if you want support for the XINERAMA extension (set by configure)])
589         fi
594 dnl MIT-SHM support
595 dnl ===============
596 shm=yes
597 AC_ARG_ENABLE(shm,
598 [  --disable-shm           disable usage of MIT-SHM extension],
599                 shm=$enableval, shm=yes)
601 if test "$shm" = yes; then
602         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
604         if test "$ok" = yes; then
605         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
606         fi
608         if test "$ok" = yes; then
609                 if test "$added_xext" = no; then
610                         XLIBS="-lXext $XLIBS"
611                 fi
612                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
613         fi
617 dnl R6 Style Session Management Support
618 dnl ===================================
622 #AC_DEFINE(R6SM)
623 #AC_SUBST(XSMPLIBS)
627 dnl ==============================================
628 dnl         Graphic Format Libraries
629 dnl ==============================================
635 dnl XPM Support
636 dnl ===========
637 xpm=yes
638 AC_ARG_ENABLE(xpm, 
639 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
640         xpm=$enableval, xpm=yes)
642 if test "$xpm" = yes; then
643     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
645     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
646         WM_CHECK_HEADER(X11/xpm.h)
647         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
648                 GFXLIBS="$GFXLIBS -lXpm"
649                 supported_gfx="XPM"
650                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
651         else
652                 supported_gfx="builtin-XPM"
653         fi
654     fi
657 # for wmlib
658 AC_SUBST(XCFLAGS)
659 # for test
660 AC_SUBST(XLFLAGS)
661 AC_SUBST(XLIBS)
663 AC_SUBST(X_EXTRA_LIBS)
665 dnl ===============================================
666 dnl             End of stuff that uses X
667 dnl ===============================================
671 dnl PNG Support
672 dnl ===========
673 png=yes
674 AC_ARG_ENABLE(png, 
675 [  --disable-png           disable PNG support through libpng],
676         png=$enableval, png=yes, png=no)
679 if test "$png" = yes ; then
680     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
682     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
683         WM_CHECK_HEADER(png.h)
684         if test "x$ac_cv_header_png_h" = xyes; then
685             GFXLIBS="$GFXLIBS -lpng -lz" 
686             supported_gfx="$supported_gfx PNG"
687             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
688         fi
689     fi
693 dnl JPEG Support
694 dnl ============
695 jpeg=yes
696 ljpeg=""
697 AC_ARG_ENABLE(jpeg,
698 [  --disable-jpeg          disable JPEG support through libjpeg],
699         jpeg=$enableval, jpeg=yes, jpeg=no)
701 if test "$jpeg" = yes; then
702     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
704     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
706         ljpeg="-ljpeg"
708         WM_CHECK_HEADER(jpeglib.h)
709         if test "x$ac_cv_header_jpeglib_h" = xyes; then
710             GFXLIBS="$GFXLIBS -ljpeg"
711             supported_gfx="$supported_gfx JPEG"
712             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
713         fi
714     fi
718 dnl GIF Support
719 dnl ============
720 gif=yes
721 AC_ARG_ENABLE(gif,
722 [  --disable-gif           disable GIF support through libgif or libungif],
723         gif=$enableval, gif=yes, gif=no)
725 if test "$gif" = yes; then
726     my_libname=""
727     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
728     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
729         my_libname=-lungif
730     fi
732 dnl libungif is the same thing as libgif for all practical purposes.
734     if test "x$my_libname" = x; then
735         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
736         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
737             my_libname=-lgif
738         fi
739     fi
741     if test "$my_libname" != x; then
742         WM_CHECK_HEADER(gif_lib.h)
743         if test "x$ac_cv_header_gif_lib_h" = xyes; then
744             GFXLIBS="$GFXLIBS $my_libname"
745             supported_gfx="$supported_gfx GIF"
746             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
747         fi
748     fi
753 dnl TIFF Support
754 dnl ============
755 AC_ARG_ENABLE(tiff, 
756 [  --disable-tiff          disable use of TIFF images through libtiff],
757         tif=$enableval, tif=yes, tif=no)
760 # TIFF can optionally have JPEG and/or zlib support. Must find out
761 # when they are supported so that correct library flags are passed during
762 # detection and linkage
765 # By default use xpm icons if tiff is not found.
766 ICONEXT="xpm"
769 if test "$tif" = yes; then
770     my_libname=""
771     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
772     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
773         my_libname="-ltiff"
774     fi
776 dnl Retry with zlib
778     unset ac_cv_lib_tiff_TIFFGetVersion
779     if test "x$my_libname" = x; then
780         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
781         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
782             my_libname="-ltiff -lz"
783         fi
784     fi
786     if test "x$my_libname" = x; then
787         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
788         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
789             my_libname="-ltiff34"
790         fi
791     fi
794     if test "x$my_libname" != x; then
795         WM_CHECK_HEADER(tiffio.h)
796         if test "x$ac_cv_header_tiffio_h" = xyes; then
797             GFXLIBS="$my_libname $GFXLIBS"
798             ICONEXT="tiff"
799             supported_gfx="$supported_gfx TIFF"
800             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
801         fi
802     fi
805 LIBRARY_SEARCH_PATH="$lib_search_path"
806 HEADER_SEARCH_PATH="$inc_search_path"
808 AC_SUBST(LIBRARY_SEARCH_PATH)
809 AC_SUBST(HEADER_SEARCH_PATH)
812 AC_SUBST(GFXLIBS)
813 AC_SUBST(ICONEXT)
816 dnl ==============================================
817 dnl         End of Graphic Format Libraries
818 dnl ==============================================
822 dnl stdlib.h is checked here, because of conflict in jpeglib.h
823 AC_CHECK_HEADERS(stdlib.h)
825 # AC_PREFIX_PROGRAM(wmaker)
827 dnl Support for PIXMAPDIR option
828 dnl ============================
829 AC_ARG_WITH(pixmapdir,
830 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
832 if test "x$with_pixmapdir" != "x"; then
833         pixmapdir=$with_pixmapdir
834 else
835         pixmapdir=`eval echo ${datadir}/pixmaps`
838 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
840 pkgdatadir=`eval echo $datadir`
841 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
843 _sysconfdir=`eval echo $sysconfdir`
844 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
847 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
848 dnl ==============================================
850 AC_ARG_WITH(appspath,
851 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
853 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
854     appspath=$with_gnustepdir
857 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
858     wprefs_base_dir=${prefix}
859     wprefs_datadir="${datadir}/WPrefs"
860     wprefs_bindir="${bindir}"
861 else
862     gnustepdir=$appspath
864     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
865         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
866         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
867     fi
869     wprefs_base_dir=$gnustepdir/Applications
870     wprefs_datadir=$wprefs_base_dir/WPrefs.app
871     wprefs_bindir=$wprefs_base_dir/WPrefs.app
874 AC_SUBST(wprefs_datadir)
875 AC_SUBST(wprefs_bindir)
878 dnl Enable User Defined Menu thing
879 dnl ==================================
880 AC_ARG_ENABLE(usermenu,
881 [  --enable-usermenu       user defined menus for applications
883 if test "$enableval" = yes; then
884         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
890 dnl Nicolai:  Program tests for Documentation Section
891 dnl =================================================
892 dnl DOCTYPES=""
893 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
894 dnl if test "x$MAKEINFO" != "x" ; then
895 dnl       DOCTYPES="$DOCTYPES info_doc"
896 dnl fi
897 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
898 dnl if test "x$TEX" != "x" ; then
899 dnl       DOCTYPES="$DOCTYPES dvi_doc"
900 dnl fi
901 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
902 dnl if test "x$DVIPS" != "x" ; then
903 dnl       DOCTYPES="$DOCTYPES ps_doc"
904 dnl fi
905 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
906 dnl if test "x$PERL" != "x" ; then
907 dnl       DOCTYPES="$DOCTYPES html_doc"
908 dnl fi
909 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
910 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
911   
912 dnl AC_SUBST(DOCTYPES)
914 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
915         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
916         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
917         WINGs/Extras/Makefile WINGs/po/Makefile \
918         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
919         src/Makefile src/wconfig.h \
920         doc/Makefile doc/sk/Makefile \
921         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
922         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
923         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
924         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
925         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
926         WPrefs.app/po/Makefile \
927         contrib/Makefile contrib/WindowMaker.spec )
928 #       plugins/Makefile plugins/libwmfun/Makefile)
933 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
934 dnl ===================================================================
937 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
938 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
939 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
941 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
942 dnl parsed by m4
944 cat <<EOF >get-wraster-flags
945 #!/bin/sh
947 WCFLAGS="$inc_search_path"
948 WLFLAGS="$lib_search_path"
949 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
951 usage="Usage: get-wraster-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 > wrlib/wrlib.pc
981 Name: wrlib
982 Description: Image manipulation and conversion library
983 Version: $VERSION
984 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
985 Cflags: $inc_search_path
988 cat <<EOF >get-wings-flags
989 #!/bin/sh
991 WCFLAGS="$inc_search_path"
992 WLFLAGS="$lib_search_path"
993 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
995 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
997 if test \$# -eq 0; then
998       echo "\${usage}" 1>&2
999       exit 1
1002 while test \$# -gt 0; do
1003   case \$1 in
1004     --cflags)
1005         echo \$WCFLAGS
1006         ;;
1007     --ldflags|--lflags)
1008         echo \$WLFLAGS
1009         ;;
1010     --libs)
1011         echo \$WLIBS
1012         ;;
1013     *)
1014         echo "\${usage}" 1>&2
1015         exit 1
1016         ;;
1017   esac
1018   shift
1019 done
1024 cat <<EOF > WINGs/WINGs.pc
1025 Name: WINGs
1026 Description: Small widget set with the NeXTStep(TM) look and feel
1027 Version: $VERSION
1028 Requires: wrlib
1029 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1030 Cflags: $inc_search_path
1033 cat <<EOF >get-wutil-flags
1034 #!/bin/sh
1036 WCFLAGS="-I`eval echo ${includedir}`"
1037 WLFLAGS="-L${_libdir}"
1038 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1040 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1042 if test \$# -eq 0; then
1043       echo "\${usage}" 1>&2
1044       exit 1
1047 while test \$# -gt 0; do
1048   case \$1 in
1049     --cflags)
1050         echo \$WCFLAGS
1051         ;;
1052     --ldflags|--lflags)
1053         echo \$WLFLAGS
1054         ;;
1055     --libs)
1056         echo \$WLIBS
1057         ;;
1058     *)
1059         echo "\${usage}" 1>&2
1060         exit 1
1061         ;;
1062   esac
1063   shift
1064 done
1069 cat <<EOF > wmlib/wmlib.pc
1070 Name: wmlib
1071 Description: FIXME: What do I write here?
1072 Version: $VERSION
1073 Requires: wrlib
1074 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1075 Cflags: $inc_search_path
1078 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1079 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1080 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1082 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1084 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1088 dnl Spit out the configuration
1089 dnl ==========================
1091 supported_gfx="$supported_gfx builtin-PPM"
1093 if test "x$MOFILES" = "x"; then
1094         mof=None
1095 else
1096         mof=`echo $MOFILES`
1099 if test "x$MOFILES" = "x"; then
1100         languages=None
1101 else
1102         languages=`echo $MOFILES | sed 's/.mo//g'`
1105 echo
1106 echo "Window Maker was configured as follows:"
1107 echo
1108 echo "Installation path prefix            : $prefix"
1109 echo "Installation path for binaries      : $_bindir"
1110 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1111 echo "Supported graphic format libraries  : $supported_gfx"
1112 echo "Use assembly routines for wrlib     : $asm_support"
1113 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1114 echo "Antialiased text support in WINGs   : $xft"
1115 echo "Xinerama extension support          : $xinerama"
1116 dnl echo "Virtual desktop support             : $vdesktop_on"
1117 echo "Translated message files to install : $mof"
1118 dnl echo "Supported languages beside English  : $languages"
1119 if test "x$MOFILES" != "x"; then
1120         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1122 echo
1124 dnl WM_PRINT_REDCRAP_BUG_STATUS
1126 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1127 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1128 echo
1129 echo "JPEG support will not be included because the JPEG library is"
1130 echo "not installed correctly or was not found. Background images"
1131 echo "from themes will not display as they usually are JPEG files."
1132 echo
1133 echo "To fix, download and install the jpeg library and/or make sure you"
1134 echo "installed all jpeg related packages, SPECIALLY the development packages"
1135 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1136 echo
1137 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1141 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1142 dnl ================================================
1143 dnl Local Variables:
1144 dnl compile-command: "autoconf"
1145 dnl End: