Remove VIRTUAL_DESKTOP code
[wmaker-crm.git] / configure.ac
blob3e9718d7c9f6eff972cbf6bd9ac3698551e1409e
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         PO=""
290 dnl The Tower of Babel
291 dnl ==================
293 dnl List of supported locales
294 dnl -------------------------
295 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"
296 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
297 supported_wings_locales="bg ca cs de fr sk"
299 for lang in $LINGUAS; do
300         ok=0
301         for l in $supported_locales; do
302                 if test "$l" = "$lang"; then
303                         ok=1
304                         break
305                 fi
306         done
307         if test "$ok" = 1; then
308                 MOFILES="$MOFILES $lang.mo"
309         else
310                 echo "Locale $lang is not supported."
311         fi
312         ok=0
313         for l in $supported_wprefs_locales; do
314                 if test "$l" = "$lang"; then
315                         ok=1
316                         break
317                 fi
318         done
319         if test "$ok" = 1; then
320                 WPMOFILES="$WPMOFILES $lang.mo"
321         fi
322         ok=0
323         for l in $supported_wings_locales; do
324                 if test "$l" = "$lang"; then
325                         ok=1
326                         break
327                 fi
328         done
329         if test "$ok" = 1; then
330                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
331         fi
332 done
335 dnl Kanji Characters support
336 dnl ========================
338 case $host_os in
339         freebsd*)
340                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
341         *)
342         ;;
343 esac
347 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
348 dnl ===========================================
349 AC_ARG_WITH(nlsdir, 
350         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
353 if test "x$NLSDIR" = "x"; then
354         if test "x$with_nlsdir" != "x"; then
355                 NLSDIR=$with_nlsdir
356         else
357                 NLSDIR='$(prefix)/lib/locale'
358         fi
363 AC_SUBST(DLLIBS)
364 AC_SUBST(INTLIBS)
365 AC_SUBST(NLSDIR)
366 AC_SUBST(MOFILES)
367 AC_SUBST(WPMOFILES)
368 AC_SUBST(WINGSMOFILES)
369 AC_SUBST(supported_locales)
373 dnl Support for various hint things
374 dnl ===============================
377 dnl Beautify compilation messages
378 dnl ---------------------------------------------
379 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
380                                [Streamline compilation messages (default off)]),
381   [
382         QUIET='@echo "     CC" $@;'
383         QUIET_AR='@echo "     AR" $@;'
384         LIBTOOL_ARG="--silent"
385         MAKEFLAGS="-s"
386         AC_SUBST(QUIET)
387         AC_SUBST(QUIET_AR)
388         AC_SUBST(LIBTOOL_ARG)
389         AC_SUBST(MAKEFLAGS)
395 dnl Networking stuff
398 NETLIBS=""
400 AC_CHECK_FUNC(connect,,
401         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
403 AC_CHECK_FUNC(gethostbyname,,
404         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
406 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
407      for lib in resolv socket inet bsd; do
408         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
409                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
410      done)
412 AC_SUBST(NETLIBS)
415 dnl ===========================================
416 dnl             Stuff that uses X
417 dnl ===========================================
419 AC_PATH_XTRA
421 if test $no_x; then
422     AC_MSG_ERROR([The path for the X11 files not found!
423 Make sure you have X and it's headers and libraries (the -devel packages
424 in Linux) installed.])
427 X_LIBRARY_PATH=$x_libraries
429 XCFLAGS="$X_CFLAGS"
431 XLFLAGS="$X_LIBS"
433 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
436 lib_search_path="$lib_search_path $XLFLAGS"
437 inc_search_path="$inc_search_path $XCFLAGS"
440 AC_SUBST(X_LIBRARY_PATH)
444 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
445 dnl by MANOME Tomonori 
446 dnl ===========================================
447 use_locale=yes
448 AC_ARG_ENABLE(locale, 
449 [  --disable-locale        disable use of X locale support],
450                 use_locale=no)
452 if test "$use_locale" = yes; then
453         AC_CHECK_LIB(X11, _Xsetlocale,
454                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
455                 $XLFLAGS $XLIBS)
459 dnl Check whether XInternAtoms() exist
460 dnl ==================================
461 AC_CHECK_LIB(X11, XInternAtoms, 
462              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
463              $XLFLAGS $XLIBS)
465 dnl Check whether XConvertCase() exist
466 dnl ==================================
467 AC_CHECK_LIB(X11, XConvertCase, 
468              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
469              $XLFLAGS $XLIBS)
472 dnl XKB keyboard language status
473 dnl ============================
474 AC_ARG_ENABLE(modelock,
475 [  --enable-modelock       XKB keyboard language status support],
476                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
480 dnl Shape support
481 dnl =============
482 shape=yes
483 AC_ARG_ENABLE(shape, 
484 [  --disable-shape         disable shaped window extension support],
485                 shape=$enableval, shape=yes)
487 added_xext=no
489 if test "$shape" = yes; then
490         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
491                 added_xext=yes
492                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
493                 shape=no, $XLFLAGS $XLIBS)
497 dnl Xft2 antialiased font support
498 dnl =============================
500 xft=yes
501 XFTLIBS=""
503 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
504         XFTCONFIG="$PKGCONFIG xft"
505         pkgconfig_xft=yes
506 else
507         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
510 AC_MSG_CHECKING([for the Xft2 library])
512 if test "x$XFTCONFIG" != x; then
513         XFTLIBS=`$XFTCONFIG --libs`
514         XFTFLAGS=`$XFTCONFIG --cflags`
515         AC_MSG_RESULT([found])
516 else
517         AC_MSG_RESULT([not found])
518         echo
519         echo "ERROR!!! libXft2 is not installed or could not be found."
520         echo "         Xft2 is a requirement for building Window Maker."
521         echo "         Please install it (along with fontconfig) before continuing."
522         echo
523         exit 1
526 minXFT="2.1.0"
527 goodxft="no"
530 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
532 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
534 if test "$goodxft" = no; then
535         echo
536         echo "ERROR!!! libXft on this system is an old version."
537         echo "         Please consider upgrading to at least version ${minXFT}."
538         echo
539         exit 1
542 AC_SUBST(XFTFLAGS)
543 AC_SUBST(XFTLIBS)
546 dnl XINERAMA support
547 dnl ================
548 xinerama=no
549 AC_ARG_ENABLE(xinerama,
550 [  --enable-xinerama       enable Xinerama extension support],
551                 xinerama=$enableval, xinerama=no)
553 if test "$xinerama" = yes; then
554         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
555                 [XLIBS="-lXinerama $XLIBS"
556                 xfxine=yes],
557                 xfxine=no, $XLFLAGS $XLIBS)
559         AC_CHECK_LIB(Xext, XineramaGetInfo,
560                 [sunxine=yes
561                 ], sunxine=no, $XLFLAGS $XLIBS)
563         if test "$xfxine" = yes; then
564                 xine=1
565         fi
567         if test "$sunxine" = yes; then
568             xine=1
569             AC_DEFINE(SOLARIS_XINERAMA, 1, 
570                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
571         fi
573         if test "$xine" = 1; then
574             AC_DEFINE(XINERAMA, 1, 
575                 [define if you want support for the XINERAMA extension (set by configure)])
576         fi
581 dnl MIT-SHM support
582 dnl ===============
583 shm=yes
584 AC_ARG_ENABLE(shm,
585 [  --disable-shm           disable usage of MIT-SHM extension],
586                 shm=$enableval, shm=yes)
588 if test "$shm" = yes; then
589         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
591         if test "$ok" = yes; then
592         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
593         fi
595         if test "$ok" = yes; then
596                 if test "$added_xext" = no; then
597                         XLIBS="-lXext $XLIBS"
598                 fi
599                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
600         fi
604 dnl R6 Style Session Management Support
605 dnl ===================================
609 #AC_DEFINE(R6SM)
610 #AC_SUBST(XSMPLIBS)
614 dnl ==============================================
615 dnl         Graphic Format Libraries
616 dnl ==============================================
622 dnl XPM Support
623 dnl ===========
624 xpm=yes
625 AC_ARG_ENABLE(xpm, 
626 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
627         xpm=$enableval, xpm=yes)
629 if test "$xpm" = yes; then
630     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
632     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
633         WM_CHECK_HEADER(X11/xpm.h)
634         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
635                 GFXLIBS="$GFXLIBS -lXpm"
636                 supported_gfx="XPM"
637                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
638         else
639                 supported_gfx="builtin-XPM"
640         fi
641     fi
644 # for wmlib
645 AC_SUBST(XCFLAGS)
646 # for test
647 AC_SUBST(XLFLAGS)
648 AC_SUBST(XLIBS)
650 AC_SUBST(X_EXTRA_LIBS)
652 dnl ===============================================
653 dnl             End of stuff that uses X
654 dnl ===============================================
658 dnl PNG Support
659 dnl ===========
660 png=yes
661 AC_ARG_ENABLE(png, 
662 [  --disable-png           disable PNG support through libpng],
663         png=$enableval, png=yes, png=no)
666 if test "$png" = yes ; then
667     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
669     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
670         WM_CHECK_HEADER(png.h)
671         if test "x$ac_cv_header_png_h" = xyes; then
672             GFXLIBS="$GFXLIBS -lpng -lz" 
673             supported_gfx="$supported_gfx PNG"
674             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
675         fi
676     fi
680 dnl JPEG Support
681 dnl ============
682 jpeg=yes
683 ljpeg=""
684 AC_ARG_ENABLE(jpeg,
685 [  --disable-jpeg          disable JPEG support through libjpeg],
686         jpeg=$enableval, jpeg=yes, jpeg=no)
688 if test "$jpeg" = yes; then
689     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
691     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
693         ljpeg="-ljpeg"
695         WM_CHECK_HEADER(jpeglib.h)
696         if test "x$ac_cv_header_jpeglib_h" = xyes; then
697             GFXLIBS="$GFXLIBS -ljpeg"
698             supported_gfx="$supported_gfx JPEG"
699             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
700         fi
701     fi
705 dnl GIF Support
706 dnl ============
707 gif=yes
708 AC_ARG_ENABLE(gif,
709 [  --disable-gif           disable GIF support through libgif or libungif],
710         gif=$enableval, gif=yes, gif=no)
712 if test "$gif" = yes; then
713     my_libname=""
714     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
715     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
716         my_libname=-lungif
717     fi
719 dnl libungif is the same thing as libgif for all practical purposes.
721     if test "x$my_libname" = x; then
722         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
723         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
724             my_libname=-lgif
725         fi
726     fi
728     if test "$my_libname" != x; then
729         WM_CHECK_HEADER(gif_lib.h)
730         if test "x$ac_cv_header_gif_lib_h" = xyes; then
731             GFXLIBS="$GFXLIBS $my_libname"
732             supported_gfx="$supported_gfx GIF"
733             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
734         fi
735     fi
740 dnl TIFF Support
741 dnl ============
742 AC_ARG_ENABLE(tiff, 
743 [  --disable-tiff          disable use of TIFF images through libtiff],
744         tif=$enableval, tif=yes, tif=no)
747 # TIFF can optionally have JPEG and/or zlib support. Must find out
748 # when they are supported so that correct library flags are passed during
749 # detection and linkage
752 # By default use xpm icons if tiff is not found.
753 ICONEXT="xpm"
756 if test "$tif" = yes; then
757     my_libname=""
758     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
759     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
760         my_libname="-ltiff"
761     fi
763 dnl Retry with zlib
765     unset ac_cv_lib_tiff_TIFFGetVersion
766     if test "x$my_libname" = x; then
767         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
768         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
769             my_libname="-ltiff -lz"
770         fi
771     fi
773     if test "x$my_libname" = x; then
774         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
775         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
776             my_libname="-ltiff34"
777         fi
778     fi
781     if test "x$my_libname" != x; then
782         WM_CHECK_HEADER(tiffio.h)
783         if test "x$ac_cv_header_tiffio_h" = xyes; then
784             GFXLIBS="$my_libname $GFXLIBS"
785             ICONEXT="tiff"
786             supported_gfx="$supported_gfx TIFF"
787             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
788         fi
789     fi
792 LIBRARY_SEARCH_PATH="$lib_search_path"
793 HEADER_SEARCH_PATH="$inc_search_path"
795 AC_SUBST(LIBRARY_SEARCH_PATH)
796 AC_SUBST(HEADER_SEARCH_PATH)
799 AC_SUBST(GFXLIBS)
800 AC_SUBST(ICONEXT)
803 dnl ==============================================
804 dnl         End of Graphic Format Libraries
805 dnl ==============================================
809 dnl stdlib.h is checked here, because of conflict in jpeglib.h
810 AC_CHECK_HEADERS(stdlib.h)
812 # AC_PREFIX_PROGRAM(wmaker)
814 dnl Support for PIXMAPDIR option
815 dnl ============================
816 AC_ARG_WITH(pixmapdir,
817 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
819 if test "x$with_pixmapdir" != "x"; then
820         pixmapdir=$with_pixmapdir
821 else
822         pixmapdir=`eval echo ${datadir}/pixmaps`
825 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
827 pkgdatadir=`eval echo $datadir`
828 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
830 _sysconfdir=`eval echo $sysconfdir`
831 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
834 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
835 dnl ==============================================
837 AC_ARG_WITH(appspath,
838 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
840 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
841     appspath=$with_gnustepdir
844 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
845     wprefs_base_dir=${prefix}
846     wprefs_datadir="${datadir}/WPrefs"
847     wprefs_bindir="${bindir}"
848 else
849     gnustepdir=$appspath
851     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
852         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
853         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
854     fi
856     wprefs_base_dir=$gnustepdir/Applications
857     wprefs_datadir=$wprefs_base_dir/WPrefs.app
858     wprefs_bindir=$wprefs_base_dir/WPrefs.app
861 AC_SUBST(wprefs_datadir)
862 AC_SUBST(wprefs_bindir)
865 dnl Enable User Defined Menu thing
866 dnl ==================================
867 AC_ARG_ENABLE(usermenu,
868 [  --enable-usermenu       user defined menus for applications
870 if test "$enableval" = yes; then
871         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
877 dnl Nicolai:  Program tests for Documentation Section
878 dnl =================================================
879 dnl DOCTYPES=""
880 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
881 dnl if test "x$MAKEINFO" != "x" ; then
882 dnl       DOCTYPES="$DOCTYPES info_doc"
883 dnl fi
884 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
885 dnl if test "x$TEX" != "x" ; then
886 dnl       DOCTYPES="$DOCTYPES dvi_doc"
887 dnl fi
888 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
889 dnl if test "x$DVIPS" != "x" ; then
890 dnl       DOCTYPES="$DOCTYPES ps_doc"
891 dnl fi
892 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
893 dnl if test "x$PERL" != "x" ; then
894 dnl       DOCTYPES="$DOCTYPES html_doc"
895 dnl fi
896 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
897 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
898   
899 dnl AC_SUBST(DOCTYPES)
901 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
902         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
903         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
904         WINGs/Extras/Makefile WINGs/po/Makefile \
905         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
906         src/Makefile src/wconfig.h \
907         doc/Makefile doc/sk/Makefile \
908         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
909         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
910         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
911         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
912         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
913         WPrefs.app/po/Makefile \
914         contrib/Makefile contrib/WindowMaker.spec )
915 #       plugins/Makefile plugins/libwmfun/Makefile)
920 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
921 dnl ===================================================================
924 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
925 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
926 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
928 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
929 dnl parsed by m4
931 cat <<EOF >get-wraster-flags
932 #!/bin/sh
934 WCFLAGS="$inc_search_path"
935 WLFLAGS="$lib_search_path"
936 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
938 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
940 if test \$# -eq 0; then
941       echo "\${usage}" 1>&2
942       exit 1
945 while test \$# -gt 0; do
946   case \$1 in
947     --cflags)
948         echo \$WCFLAGS
949         ;;
950     --ldflags|--lflags)
951         echo \$WLFLAGS
952         ;;
953     --libs)
954         echo \$WLIBS
955         ;;
956     *)
957         echo "\${usage}" 1>&2
958         exit 1
959         ;;
960   esac
961   shift
962 done
967 cat <<EOF > wrlib/wrlib.pc
968 Name: wrlib
969 Description: Image manipulation and conversion library
970 Version: $VERSION
971 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
972 Cflags: $inc_search_path
975 cat <<EOF >get-wings-flags
976 #!/bin/sh
978 WCFLAGS="$inc_search_path"
979 WLFLAGS="$lib_search_path"
980 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
982 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
984 if test \$# -eq 0; then
985       echo "\${usage}" 1>&2
986       exit 1
989 while test \$# -gt 0; do
990   case \$1 in
991     --cflags)
992         echo \$WCFLAGS
993         ;;
994     --ldflags|--lflags)
995         echo \$WLFLAGS
996         ;;
997     --libs)
998         echo \$WLIBS
999         ;;
1000     *)
1001         echo "\${usage}" 1>&2
1002         exit 1
1003         ;;
1004   esac
1005   shift
1006 done
1011 cat <<EOF > WINGs/WINGs.pc
1012 Name: WINGs
1013 Description: Small widget set with the NeXTStep(TM) look and feel
1014 Version: $VERSION
1015 Requires: wrlib
1016 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1017 Cflags: $inc_search_path
1020 cat <<EOF >get-wutil-flags
1021 #!/bin/sh
1023 WCFLAGS="-I`eval echo ${includedir}`"
1024 WLFLAGS="-L${_libdir}"
1025 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1027 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1029 if test \$# -eq 0; then
1030       echo "\${usage}" 1>&2
1031       exit 1
1034 while test \$# -gt 0; do
1035   case \$1 in
1036     --cflags)
1037         echo \$WCFLAGS
1038         ;;
1039     --ldflags|--lflags)
1040         echo \$WLFLAGS
1041         ;;
1042     --libs)
1043         echo \$WLIBS
1044         ;;
1045     *)
1046         echo "\${usage}" 1>&2
1047         exit 1
1048         ;;
1049   esac
1050   shift
1051 done
1056 cat <<EOF > wmlib/wmlib.pc
1057 Name: wmlib
1058 Description: FIXME: What do I write here?
1059 Version: $VERSION
1060 Requires: wrlib
1061 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1062 Cflags: $inc_search_path
1065 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1066 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1067 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1069 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1071 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1075 dnl Spit out the configuration
1076 dnl ==========================
1078 supported_gfx="$supported_gfx builtin-PPM"
1080 if test "x$MOFILES" = "x"; then
1081         mof=None
1082 else
1083         mof=`echo $MOFILES`
1086 if test "x$MOFILES" = "x"; then
1087         languages=None
1088 else
1089         languages=`echo $MOFILES | sed 's/.mo//g'`
1092 echo
1093 echo "Window Maker was configured as follows:"
1094 echo
1095 echo "Installation path prefix            : $prefix"
1096 echo "Installation path for binaries      : $_bindir"
1097 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1098 echo "Supported graphic format libraries  : $supported_gfx"
1099 echo "Use assembly routines for wrlib     : $asm_support"
1100 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1101 echo "Antialiased text support in WINGs   : $xft"
1102 echo "Xinerama extension support          : $xinerama"
1103 dnl echo "Virtual desktop support             : $vdesktop_on"
1104 echo "Translated message files to install : $mof"
1105 dnl echo "Supported languages beside English  : $languages"
1106 if test "x$MOFILES" != "x"; then
1107         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1109 echo
1111 dnl WM_PRINT_REDCRAP_BUG_STATUS
1113 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1114 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1115 echo
1116 echo "JPEG support will not be included because the JPEG library is"
1117 echo "not installed correctly or was not found. Background images"
1118 echo "from themes will not display as they usually are JPEG files."
1119 echo
1120 echo "To fix, download and install the jpeg library and/or make sure you"
1121 echo "installed all jpeg related packages, SPECIALLY the development packages"
1122 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1123 echo
1124 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1128 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1129 dnl ================================================
1130 dnl Local Variables:
1131 dnl compile-command: "autoconf"
1132 dnl End: