Remove bundled wrlib stuff
[wmaker-crm.git] / configure.ac
blob2b4f34774bd269960d1193a5aadb38b31bd1b6c1
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.93.0-pre)
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
192 if test "$ac_cv_prog_gcc" = yes; then
194     # gcc-3.3 or newer complains about some of our stuff without this
195     NOSTRICTALIASING="-fno-strict-aliasing"
197     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
198                    ac_cv_c_inline_asm,
199                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
200                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
201                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
202                    ac_cv_c_inline_asm=yes,
203                    ac_cv_c_inline_asm=no)])
205     if test "x$ac_cv_c_inline_asm" = xyes; then
206        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
207        asm_support=yes
209        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
210                       ac_cv_c_inline_mmx,
211                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
212                       ac_cv_c_inline_mmx=yes,
213                       ac_cv_c_inline_mmx=no)])
215        if test "x$ac_cv_c_inline_mmx" = xyes; then
216           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
217           mmx_support=yes
218        fi
219     fi
221 AC_SUBST(NOSTRICTALIASING)
224 dnl pkg-config
225 dnl ----------
226 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
227 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
230 dnl gettext
231 dnl -------
234 dnl AM_GNU_GETTEXT
238 INTLIBS=""
240 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
241         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
242                          INTLIBS="" ))
244 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
246 if test "$XGETTEXT" != ""; then 
247     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
248         echo "xgettext isn't GNU version"
249         XGETTEXT=""
250     fi
253 if test "$LINGUAS" != ""; then
254     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
255         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
256         PO=""
257 #       if test "$LINGUAS" = ""; then
258 #           ling=` (cd src/po; /bin/ls *.po) `
259 #           for l in $ling; do
260 #               lcode=`basename $l .po`
261 #               LINGUAS="$LINGUAS $lcode"
262 #           done
263 #       fi
264         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
265     else
266         LINGUAS=""
267         PO=""
268         echo "xgettext and libintl.a don't both exist; will not build i18n support"
269     fi
270 else
271         INTLIBS=""
272         MOFILES=""
273         WPMOFILES=""
274         PO=""
278 dnl The Tower of Babel
279 dnl ==================
281 dnl List of supported locales
282 dnl -------------------------
283 supported_locales="be bg bs ca cs da de el es et fi fr gl hr hu it ja ko ms nl no pl pt ro ru sk sv tr zh_CN zh_TW"
284 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
285 supported_wings_locales="bg ca cs de fr sk"
287 for lang in $LINGUAS; do
288         ok=0
289         for l in $supported_locales; do
290                 if test "$l" = "$lang"; then
291                         ok=1
292                         break
293                 fi
294         done
295         if test "$ok" = 1; then
296                 MOFILES="$MOFILES $lang.mo"
297         else
298                 echo "Locale $lang is not supported."
299         fi
300         ok=0
301         for l in $supported_wprefs_locales; do
302                 if test "$l" = "$lang"; then
303                         ok=1
304                         break
305                 fi
306         done
307         if test "$ok" = 1; then
308                 WPMOFILES="$WPMOFILES $lang.mo"
309         fi
310         ok=0
311         for l in $supported_wings_locales; do
312                 if test "$l" = "$lang"; then
313                         ok=1
314                         break
315                 fi
316         done
317         if test "$ok" = 1; then
318                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
319         fi
320 done
323 dnl Kanji Characters support
324 dnl ========================
326 case $host_os in
327         freebsd*)
328                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
329         *)
330         ;;
331 esac
335 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
336 dnl ===========================================
337 AC_ARG_WITH(nlsdir, 
338         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
341 if test "x$NLSDIR" = "x"; then
342         if test "x$with_nlsdir" != "x"; then
343                 NLSDIR=$with_nlsdir
344         else
345                 NLSDIR='$(prefix)/lib/locale'
346         fi
351 AC_SUBST(DLLIBS)
352 AC_SUBST(INTLIBS)
353 AC_SUBST(NLSDIR)
354 AC_SUBST(MOFILES)
355 AC_SUBST(WPMOFILES)
356 AC_SUBST(WINGSMOFILES)
357 AC_SUBST(supported_locales)
361 dnl Support for various hint things
362 dnl ===============================
364 dnl vdesktop_on="no"
366 dnl AC_ARG_ENABLE(vdesktop,
367 dnl  [  --enable-vdesktop       enable virtual desktop],
368 dnl  [if test x$enableval = xyes; then
369 dnl    AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
370 dnl    vdesktop_on=yes
371 dnl  fi])
375 dnl Beautify compilation messages
376 dnl ---------------------------------------------
377 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
378                                [Streamline compilation messages (default off)]),
379   [
380         QUIET='@echo "     CC" $@;'
381         QUIET_AR='@echo "     AR" $@;'
382         LIBTOOL_ARG="--silent"
383         MAKEFLAGS="-s"
384         AC_SUBST(QUIET)
385         AC_SUBST(QUIET_AR)
386         AC_SUBST(LIBTOOL_ARG)
387         AC_SUBST(MAKEFLAGS)
393 dnl Networking stuff
396 NETLIBS=""
398 AC_CHECK_FUNC(connect,,
399         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
401 AC_CHECK_FUNC(gethostbyname,,
402         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
404 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
405      for lib in resolv socket inet bsd; do
406         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
407                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
408      done)
410 AC_SUBST(NETLIBS)
413 dnl ===========================================
414 dnl             Stuff that uses X
415 dnl ===========================================
417 AC_PATH_XTRA
419 if test $no_x; then
420     AC_MSG_ERROR([The path for the X11 files not found!
421 Make sure you have X and it's headers and libraries (the -devel packages
422 in Linux) installed.])
425 X_LIBRARY_PATH=$x_libraries
427 XCFLAGS="$X_CFLAGS"
429 XLFLAGS="$X_LIBS"
431 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
434 lib_search_path="$lib_search_path $XLFLAGS"
435 inc_search_path="$inc_search_path $XCFLAGS"
438 AC_SUBST(X_LIBRARY_PATH)
442 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
443 dnl by MANOME Tomonori 
444 dnl ===========================================
445 use_locale=yes
446 AC_ARG_ENABLE(locale, 
447 [  --disable-locale        disable use of X locale support],
448                 use_locale=no)
450 if test "$use_locale" = yes; then
451         AC_CHECK_LIB(X11, _Xsetlocale,
452                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
453                 $XLFLAGS $XLIBS)
457 dnl Check whether XInternAtoms() exist
458 dnl ==================================
459 AC_CHECK_LIB(X11, XInternAtoms, 
460              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
461              $XLFLAGS $XLIBS)
463 dnl Check whether XConvertCase() exist
464 dnl ==================================
465 AC_CHECK_LIB(X11, XConvertCase, 
466              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
467              $XLFLAGS $XLIBS)
470 dnl XKB keyboard language status
471 dnl ============================
472 AC_ARG_ENABLE(modelock,
473 [  --enable-modelock       XKB keyboard language status support],
474                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
478 dnl Shape support
479 dnl =============
480 shape=yes
481 AC_ARG_ENABLE(shape, 
482 [  --disable-shape         disable shaped window extension support],
483                 shape=$enableval, shape=yes)
485 added_xext=no
487 if test "$shape" = yes; then
488         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
489                 added_xext=yes
490                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
491                 shape=no, $XLFLAGS $XLIBS)
495 dnl Xft2 antialiased font support
496 dnl =============================
498 xft=yes
499 XFTLIBS=""
501 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
502         XFTCONFIG="$PKGCONFIG xft"
503         pkgconfig_xft=yes
504 else
505         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
508 AC_MSG_CHECKING([for the Xft2 library])
510 if test "x$XFTCONFIG" != x; then
511         XFTLIBS=`$XFTCONFIG --libs`
512         XFTFLAGS=`$XFTCONFIG --cflags`
513         AC_MSG_RESULT([found])
514 else
515         AC_MSG_RESULT([not found])
516         echo
517         echo "ERROR!!! libXft2 is not installed or could not be found."
518         echo "         Xft2 is a requirement for building Window Maker."
519         echo "         Please install it (along with fontconfig) before continuing."
520         echo
521         exit 1
524 minXFT="2.1.0"
525 goodxft="no"
528 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
530 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
532 if test "$goodxft" = no; then
533         echo
534         echo "ERROR!!! libXft on this system is an old version."
535         echo "         Please consider upgrading to at least version ${minXFT}."
536         echo
537         exit 1
540 AC_SUBST(XFTFLAGS)
541 AC_SUBST(XFTLIBS)
544 dnl XINERAMA support
545 dnl ================
546 xinerama=no
547 AC_ARG_ENABLE(xinerama,
548 [  --enable-xinerama       enable Xinerama extension support],
549                 xinerama=$enableval, xinerama=no)
551 if test "$xinerama" = yes; then
552         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
553                 [XLIBS="-lXinerama $XLIBS"
554                 xfxine=yes],
555                 xfxine=no, $XLFLAGS $XLIBS)
557         AC_CHECK_LIB(Xext, XineramaGetInfo,
558                 [sunxine=yes
559                 ], sunxine=no, $XLFLAGS $XLIBS)
561         if test "$xfxine" = yes; then
562                 xine=1
563         fi
565         if test "$sunxine" = yes; then
566             xine=1
567             AC_DEFINE(SOLARIS_XINERAMA, 1, 
568                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
569         fi
571         if test "$xine" = 1; then
572             AC_DEFINE(XINERAMA, 1, 
573                 [define if you want support for the XINERAMA extension (set by configure)])
574         fi
579 dnl MIT-SHM support
580 dnl ===============
581 shm=yes
582 AC_ARG_ENABLE(shm,
583 [  --disable-shm           disable usage of MIT-SHM extension],
584                 shm=$enableval, shm=yes)
586 if test "$shm" = yes; then
587         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
589         if test "$ok" = yes; then
590         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
591         fi
593         if test "$ok" = yes; then
594                 if test "$added_xext" = no; then
595                         XLIBS="-lXext $XLIBS"
596                 fi
597                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
598         fi
602 dnl R6 Style Session Management Support
603 dnl ===================================
607 #AC_DEFINE(R6SM)
608 #AC_SUBST(XSMPLIBS)
612 dnl ==============================================
613 dnl         Graphic Format Libraries
614 dnl ==============================================
620 dnl XPM Support
621 dnl ===========
622 xpm=yes
623 AC_ARG_ENABLE(xpm, 
624 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
625         xpm=$enableval, xpm=yes)
627 if test "$xpm" = yes; then
628     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
630     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
631         WM_CHECK_HEADER(X11/xpm.h)
632         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
633                 GFXLIBS="$GFXLIBS -lXpm"
634                 supported_gfx="XPM"
635                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
636         else
637                 supported_gfx="builtin-XPM"
638         fi
639     fi
642 # for wmlib
643 AC_SUBST(XCFLAGS)
644 # for test
645 AC_SUBST(XLFLAGS)
646 AC_SUBST(XLIBS)
648 AC_SUBST(X_EXTRA_LIBS)
650 dnl ===============================================
651 dnl             End of stuff that uses X
652 dnl ===============================================
656 dnl PNG Support
657 dnl ===========
658 png=yes
659 AC_ARG_ENABLE(png, 
660 [  --disable-png           disable PNG support through libpng],
661         png=$enableval, png=yes, png=no)
664 if test "$png" = yes ; then
665     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
667     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
668         WM_CHECK_HEADER(png.h)
669         if test "x$ac_cv_header_png_h" = xyes; then
670             GFXLIBS="$GFXLIBS -lpng -lz" 
671             supported_gfx="$supported_gfx PNG"
672             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
673         fi
674     fi
678 dnl JPEG Support
679 dnl ============
680 jpeg=yes
681 ljpeg=""
682 AC_ARG_ENABLE(jpeg,
683 [  --disable-jpeg          disable JPEG support through libjpeg],
684         jpeg=$enableval, jpeg=yes, jpeg=no)
686 if test "$jpeg" = yes; then
687     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
689     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
691         ljpeg="-ljpeg"
693         WM_CHECK_HEADER(jpeglib.h)
694         if test "x$ac_cv_header_jpeglib_h" = xyes; then
695             GFXLIBS="$GFXLIBS -ljpeg"
696             supported_gfx="$supported_gfx JPEG"
697             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
698         fi
699     fi
703 dnl GIF Support
704 dnl ============
705 gif=yes
706 AC_ARG_ENABLE(gif,
707 [  --disable-gif           disable GIF support through libgif or libungif],
708         gif=$enableval, gif=yes, gif=no)
710 if test "$gif" = yes; then
711     my_libname=""
712     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
713     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
714         my_libname=-lungif
715     fi
717 dnl libungif is the same thing as libgif for all practical purposes.
719     if test "x$my_libname" = x; then
720         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
721         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
722             my_libname=-lgif
723         fi
724     fi
726     if test "$my_libname" != x; then
727         WM_CHECK_HEADER(gif_lib.h)
728         if test "x$ac_cv_header_gif_lib_h" = xyes; then
729             GFXLIBS="$GFXLIBS $my_libname"
730             supported_gfx="$supported_gfx GIF"
731             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
732         fi
733     fi
738 dnl TIFF Support
739 dnl ============
740 AC_ARG_ENABLE(tiff, 
741 [  --disable-tiff          disable use of TIFF images through libtiff],
742         tif=$enableval, tif=yes, tif=no)
745 # TIFF can optionally have JPEG and/or zlib support. Must find out
746 # when they are supported so that correct library flags are passed during
747 # detection and linkage
750 # By default use xpm icons if tiff is not found.
751 ICONEXT="xpm"
754 if test "$tif" = yes; then
755     my_libname=""
756     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
757     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
758         my_libname="-ltiff"
759     fi
761 dnl Retry with zlib
763     unset ac_cv_lib_tiff_TIFFGetVersion
764     if test "x$my_libname" = x; then
765         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
766         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
767             my_libname="-ltiff -lz"
768         fi
769     fi
771     if test "x$my_libname" = x; then
772         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
773         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
774             my_libname="-ltiff34"
775         fi
776     fi
779     if test "x$my_libname" != x; then
780         WM_CHECK_HEADER(tiffio.h)
781         if test "x$ac_cv_header_tiffio_h" = xyes; then
782             GFXLIBS="$my_libname $GFXLIBS"
783             ICONEXT="tiff"
784             supported_gfx="$supported_gfx TIFF"
785             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
786         fi
787     fi
790 LIBRARY_SEARCH_PATH="$lib_search_path"
791 HEADER_SEARCH_PATH="$inc_search_path"
793 AC_SUBST(LIBRARY_SEARCH_PATH)
794 AC_SUBST(HEADER_SEARCH_PATH)
797 AC_SUBST(GFXLIBS)
798 AC_SUBST(ICONEXT)
801 dnl ==============================================
802 dnl         End of Graphic Format Libraries
803 dnl ==============================================
807 dnl stdlib.h is checked here, because of conflict in jpeglib.h
808 AC_CHECK_HEADERS(stdlib.h)
810 # AC_PREFIX_PROGRAM(wmaker)
812 dnl Support for PIXMAPDIR option
813 dnl ============================
814 AC_ARG_WITH(pixmapdir,
815 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
817 if test "x$with_pixmapdir" != "x"; then
818         pixmapdir=$with_pixmapdir
819 else
820         pixmapdir=`eval echo ${datadir}/pixmaps`
823 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
825 pkgdatadir=`eval echo $datadir`
826 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
828 _sysconfdir=`eval echo $sysconfdir`
829 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
832 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
833 dnl ==============================================
835 AC_ARG_WITH(appspath,
836 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
838 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
839     appspath=$with_gnustepdir
842 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
843     wprefs_base_dir=${prefix}
844     wprefs_datadir="${datadir}/WPrefs"
845     wprefs_bindir="${bindir}"
846 else
847     gnustepdir=$appspath
849     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
850         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
851         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
852     fi
854     wprefs_base_dir=$gnustepdir/Applications
855     wprefs_datadir=$wprefs_base_dir/WPrefs.app
856     wprefs_bindir=$wprefs_base_dir/WPrefs.app
859 AC_SUBST(wprefs_datadir)
860 AC_SUBST(wprefs_bindir)
863 dnl Enable User Defined Menu thing
864 dnl ==================================
865 AC_ARG_ENABLE(usermenu,
866 [  --enable-usermenu       user defined menus for applications
868 if test "$enableval" = yes; then
869         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
875 dnl Nicolai:  Program tests for Documentation Section
876 dnl =================================================
877 dnl DOCTYPES=""
878 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
879 dnl if test "x$MAKEINFO" != "x" ; then
880 dnl       DOCTYPES="$DOCTYPES info_doc"
881 dnl fi
882 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
883 dnl if test "x$TEX" != "x" ; then
884 dnl       DOCTYPES="$DOCTYPES dvi_doc"
885 dnl fi
886 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
887 dnl if test "x$DVIPS" != "x" ; then
888 dnl       DOCTYPES="$DOCTYPES ps_doc"
889 dnl fi
890 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
891 dnl if test "x$PERL" != "x" ; then
892 dnl       DOCTYPES="$DOCTYPES html_doc"
893 dnl fi
894 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
895 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
896   
897 dnl AC_SUBST(DOCTYPES)
899 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
900         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
901         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
902         WINGs/Extras/Makefile WINGs/po/Makefile \
903         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
904         src/Makefile src/wconfig.h \
905         doc/Makefile doc/sk/Makefile \
906         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
907         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
908         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
909         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
910         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
911         WPrefs.app/po/Makefile \
912         contrib/Makefile contrib/WindowMaker.spec )
913 #       plugins/Makefile plugins/libwmfun/Makefile)
918 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
919 dnl ===================================================================
922 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
923 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
924 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
926 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
927 dnl parsed by m4
929 cat <<EOF >get-wraster-flags
930 #!/bin/sh
932 WCFLAGS="$inc_search_path"
933 WLFLAGS="$lib_search_path"
934 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
936 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
938 if test \$# -eq 0; then
939       echo "\${usage}" 1>&2
940       exit 1
943 while test \$# -gt 0; do
944   case \$1 in
945     --cflags)
946         echo \$WCFLAGS
947         ;;
948     --ldflags|--lflags)
949         echo \$WLFLAGS
950         ;;
951     --libs)
952         echo \$WLIBS
953         ;;
954     *)
955         echo "\${usage}" 1>&2
956         exit 1
957         ;;
958   esac
959   shift
960 done
965 cat <<EOF > wrlib/wrlib.pc
966 Name: wrlib
967 Description: Image manipulation and conversion library
968 Version: $VERSION
969 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
970 Cflags: $inc_search_path
973 cat <<EOF >get-wings-flags
974 #!/bin/sh
976 WCFLAGS="$inc_search_path"
977 WLFLAGS="$lib_search_path"
978 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
980 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
982 if test \$# -eq 0; then
983       echo "\${usage}" 1>&2
984       exit 1
987 while test \$# -gt 0; do
988   case \$1 in
989     --cflags)
990         echo \$WCFLAGS
991         ;;
992     --ldflags|--lflags)
993         echo \$WLFLAGS
994         ;;
995     --libs)
996         echo \$WLIBS
997         ;;
998     *)
999         echo "\${usage}" 1>&2
1000         exit 1
1001         ;;
1002   esac
1003   shift
1004 done
1009 cat <<EOF > WINGs/WINGs.pc
1010 Name: WINGs
1011 Description: Small widget set with the NeXTStep(TM) look and feel
1012 Version: $VERSION
1013 Requires: wrlib
1014 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1015 Cflags: $inc_search_path
1018 cat <<EOF >get-wutil-flags
1019 #!/bin/sh
1021 WCFLAGS="-I`eval echo ${includedir}`"
1022 WLFLAGS="-L${_libdir}"
1023 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1025 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1027 if test \$# -eq 0; then
1028       echo "\${usage}" 1>&2
1029       exit 1
1032 while test \$# -gt 0; do
1033   case \$1 in
1034     --cflags)
1035         echo \$WCFLAGS
1036         ;;
1037     --ldflags|--lflags)
1038         echo \$WLFLAGS
1039         ;;
1040     --libs)
1041         echo \$WLIBS
1042         ;;
1043     *)
1044         echo "\${usage}" 1>&2
1045         exit 1
1046         ;;
1047   esac
1048   shift
1049 done
1054 cat <<EOF > wmlib/wmlib.pc
1055 Name: wmlib
1056 Description: FIXME: What do I write here?
1057 Version: $VERSION
1058 Requires: wrlib
1059 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1060 Cflags: $inc_search_path
1063 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1064 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1065 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1067 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1069 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1073 dnl Spit out the configuration
1074 dnl ==========================
1076 supported_gfx="$supported_gfx builtin-PPM"
1078 if test "x$MOFILES" = "x"; then
1079         mof=None
1080 else
1081         mof=`echo $MOFILES`
1084 if test "x$MOFILES" = "x"; then
1085         languages=None
1086 else
1087         languages=`echo $MOFILES | sed 's/.mo//g'`
1090 echo
1091 echo "Window Maker was configured as follows:"
1092 echo
1093 echo "Installation path prefix            : $prefix"
1094 echo "Installation path for binaries      : $_bindir"
1095 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1096 echo "Supported graphic format libraries  : $supported_gfx"
1097 echo "Use assembly routines for wrlib     : $asm_support"
1098 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1099 echo "Antialiased text support in WINGs   : $xft"
1100 echo "Xinerama extension support          : $xinerama"
1101 dnl echo "Virtual desktop support             : $vdesktop_on"
1102 echo "Translated message files to install : $mof"
1103 dnl echo "Supported languages beside English  : $languages"
1104 if test "x$MOFILES" != "x"; then
1105         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1107 echo
1109 dnl WM_PRINT_REDCRAP_BUG_STATUS
1111 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1112 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1113 echo
1114 echo "JPEG support will not be included because the JPEG library is"
1115 echo "not installed correctly or was not found. Background images"
1116 echo "from themes will not display as they usually are JPEG files."
1117 echo
1118 echo "To fix, download and install the jpeg library and/or make sure you"
1119 echo "installed all jpeg related packages, SPECIALLY the development packages"
1120 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1121 echo
1122 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1126 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1127 dnl ================================================
1128 dnl Local Variables:
1129 dnl compile-command: "autoconf"
1130 dnl End: