fix to allow parallel builds on SMP systems using make -j
[wmaker-crm.git] / configure.ac
blob3676e947bbccdeb41ba726eb18133ce72a6b0b9a
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.92.0)
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_FUNC_ALLOCA
89 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
90                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
91                vasprintf)
93 dnl ripped from samba
94 dnl 
95 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
96 AC_TRY_RUN([
97 #include <sys/types.h>
98 #include <stdarg.h>
99 void foo(const char *format, ...) { 
100        va_list ap;
101        int len;
102        char buf[5];
104        va_start(ap, format);
105        len = vsnprintf(0, 0, format, ap);
106        va_end(ap);
107        if (len != 5) exit(1);
109        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
111        exit(0);
113 main() { foo("hello"); }
115 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
116 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
117     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
120 dnl Loading of dynamic libraries at runtime
121 dnl =======================================
122 DLLIBS=""
124 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
125         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
126                          DLLIBS="" ))
128 if test "x$HAVEDL" = xyes; then
129     AC_CHECK_HEADERS(dlfcn.h)
134 dnl Check CPP
135 dnl =========
136 if test "x$CPP_PATH" = x; then
137     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
138                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
142 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
143 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
144 dnl standard locations
146 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
147     if test "$GCC" = "yes"; then
148         CPP_PATH="gcc -E -x c"
149     else 
150         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
151             CPP_PATH="$CPP_PATH -B"
152         else
153             echo "cpp, the C preprocessor was not found in your system."
154             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
155             exit
156         fi
157     fi
159 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
163 dnl Checks for header files.
164 dnl =======================
165 AC_HEADER_SYS_WAIT
166 AC_HEADER_TIME
167 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
168                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
169                  strings.h)
173 dnl Checks for typedefs, structures, and compiler characteristics.
174 dnl ==============================================================
175 AC_DECL_SYS_SIGLIST
176 AC_C_CONST
177 #AC_TYPE_SIZE_T
178 #AC_TYPE_PID_T
179 AC_TYPE_SIGNAL
183 dnl Compiler/architecture specific optimizations
184 dnl ============================================
187 dnl GCC/as with MMX support
188 dnl -----------------------
190 # until we fix it, leave it disabled
191 asm_support=no
192 mmx_support=no
193 if test "$ac_cv_prog_gcc" = yes; then
195     # gcc-3.3 or newer complains about some of our stuff without this
196     NOSTRICTALIASING="-fno-strict-aliasing"
198     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
199                    ac_cv_c_inline_asm,
200                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n"::
201                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
202                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
203                    ac_cv_c_inline_asm=yes,
204                    ac_cv_c_inline_asm=no)])
206     if test "x$ac_cv_c_inline_asm" = xyes; then
207        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
208        asm_support=yes
210        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
211                       ac_cv_c_inline_mmx,
212                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
213                       ac_cv_c_inline_mmx=yes,
214                       ac_cv_c_inline_mmx=no)])
216        if test "x$ac_cv_c_inline_mmx" = xyes; then
217           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
218           mmx_support=yes
219        fi
220     fi
222 AC_SUBST(NOSTRICTALIASING)
225 dnl pkg-config
226 dnl ----------
227 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
228 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
231 dnl gettext
232 dnl -------
235 dnl AM_GNU_GETTEXT
239 INTLIBS=""
241 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
242         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
243                          INTLIBS="" ))
245 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
247 if test "$XGETTEXT" != ""; then 
248     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
249         echo "xgettext isn't GNU version"
250         XGETTEXT=""
251     fi
254 if test "$LINGUAS" != ""; then
255     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
256         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
257         PO=""
258 #       if test "$LINGUAS" = ""; then
259 #           ling=` (cd src/po; /bin/ls *.po) `
260 #           for l in $ling; do
261 #               lcode=`basename $l .po`
262 #               LINGUAS="$LINGUAS $lcode"
263 #           done
264 #       fi
265         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
266     else
267         LINGUAS=""
268         PO=""
269         echo "xgettext and libintl.a don't both exist; will not build i18n support"
270     fi
271 else
272         INTLIBS=""
273         MOFILES=""
274         WPMOFILES=""
275         PO=""
279 dnl The Tower of Babel
280 dnl ==================
282 dnl List of supported locales
283 dnl -------------------------
284 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"
285 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
286 supported_wings_locales="bg ca cs de fr sk"
288 for lang in $LINGUAS; do
289         ok=0
290         for l in $supported_locales; do
291                 if test "$l" = "$lang"; then
292                         ok=1
293                         break
294                 fi
295         done
296         if test "$ok" = 1; then
297                 MOFILES="$MOFILES $lang.mo"
298         else
299                 echo "Locale $lang is not supported."
300         fi
301         ok=0
302         for l in $supported_wprefs_locales; do
303                 if test "$l" = "$lang"; then
304                         ok=1
305                         break
306                 fi
307         done
308         if test "$ok" = 1; then
309                 WPMOFILES="$WPMOFILES $lang.mo"
310         fi
311         ok=0
312         for l in $supported_wings_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
320         fi
321 done
324 dnl Kanji Characters support
325 dnl ========================
327 case $host_os in
328         freebsd*)
329                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
330         *)
331         ;;
332 esac
336 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
337 dnl ===========================================
338 AC_ARG_WITH(nlsdir, 
339         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
342 if test "x$NLSDIR" = "x"; then
343         if test "x$with_nlsdir" != "x"; then
344                 NLSDIR=$with_nlsdir
345         else
346                 NLSDIR='$(prefix)/lib/locale'
347         fi
352 AC_SUBST(DLLIBS)
353 AC_SUBST(INTLIBS)
354 AC_SUBST(NLSDIR)
355 AC_SUBST(MOFILES)
356 AC_SUBST(WPMOFILES)
357 AC_SUBST(WINGSMOFILES)
358 AC_SUBST(supported_locales)
362 dnl Support for various hint things
363 dnl ===============================
365 dnl vdesktop_on="no"
367 dnl AC_ARG_ENABLE(vdesktop,
368 dnl  [  --enable-vdesktop       enable virtual desktop],
369 dnl  [if test x$enableval = xyes; then
370 dnl    AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
371 dnl    vdesktop_on=yes
372 dnl  fi])
376 dnl Disable some stuff that are duplicated in kde
377 dnl ---------------------------------------------
378 AC_ARG_ENABLE(lite,
379   [  --enable-lite           disable some stuff (dont use it) ],
380   [if test x$enableval = xyes; then
381         LITE=yes
382         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
383         AC_SUBST(LITE)
384   fi])
389 dnl Networking stuff
392 NETLIBS=""
394 AC_CHECK_FUNC(connect,,
395         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
397 AC_CHECK_FUNC(gethostbyname,,
398         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
400 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
401      for lib in resolv socket inet bsd; do
402         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
403                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
404      done)
406 AC_SUBST(NETLIBS)
409 dnl ===========================================
410 dnl             Stuff that uses X
411 dnl ===========================================
413 AC_PATH_XTRA
415 if test $no_x; then
416     AC_MSG_ERROR([The path for the X11 files not found!
417 Make sure you have X and it's headers and libraries (the -devel packages
418 in Linux) installed.])
421 X_LIBRARY_PATH=$x_libraries
423 XCFLAGS="$X_CFLAGS"
425 XLFLAGS="$X_LIBS"
427 XLIBS="-lX11 $X_EXTRA_LIBS"
430 lib_search_path="$lib_search_path $XLFLAGS"
431 inc_search_path="$inc_search_path $XCFLAGS"
434 AC_SUBST(X_LIBRARY_PATH)
438 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
439 dnl by MANOME Tomonori 
440 dnl ===========================================
441 use_locale=yes
442 AC_ARG_ENABLE(locale, 
443 [  --disable-locale        disable use of X locale support],
444                 use_locale=no)
446 if test "$use_locale" = yes; then
447         AC_CHECK_LIB(X11, _Xsetlocale,
448                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
449                 $XLFLAGS $XLIBS)
453 dnl Check whether XInternAtoms() exist
454 dnl ==================================
455 AC_CHECK_LIB(X11, XInternAtoms, 
456              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
457              $XLFLAGS $XLIBS)
459 dnl Check whether XConvertCase() exist
460 dnl ==================================
461 AC_CHECK_LIB(X11, XConvertCase, 
462              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
463              $XLFLAGS $XLIBS)
466 dnl XKB keyboard language status
467 dnl ============================
468 AC_ARG_ENABLE(modelock,
469 [  --enable-modelock       XKB keyboard language status support],
470                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
474 dnl Shape support
475 dnl =============
476 shape=yes
477 AC_ARG_ENABLE(shape, 
478 [  --disable-shape         disable shaped window extension support],
479                 shape=$enableval, shape=yes)
481 added_xext=no
483 if test "$shape" = yes; then
484         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
485                 added_xext=yes
486                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
487                 shape=no, $XLFLAGS $XLIBS)
491 dnl Xft2 antialiased font support
492 dnl =============================
494 xft=yes
495 XFTLIBS=""
497 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
498         XFTCONFIG="$PKGCONFIG xft"
499         pkgconfig_xft=yes
500 else
501         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
504 AC_MSG_CHECKING([for the Xft2 library])
506 if test "x$XFTCONFIG" != x; then
507         XFTLIBS=`$XFTCONFIG --libs`
508         XFTFLAGS=`$XFTCONFIG --cflags`
509         AC_MSG_RESULT([found])
510 else
511         AC_MSG_RESULT([not found])
512         echo
513         echo "ERROR!!! libXft2 is not installed or could not be found."
514         echo "         Xft2 is a requirement for building Window Maker."
515         echo "         Please install it (along with fontconfig) before continuing."
516         echo
517         exit 1
520 minXFT="2.1.0"
521 goodxft="no"
524 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
526 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
528 if test "$goodxft" = no; then
529         echo
530         echo "ERROR!!! libXft on this system is an old version."
531         echo "         Please consider upgrading to at least version ${minXFT}."
532         echo
533         exit 1
536 AC_SUBST(XFTFLAGS)
537 AC_SUBST(XFTLIBS)
540 dnl XINERAMA support
541 dnl ================
542 xinerama=no
543 AC_ARG_ENABLE(xinerama,
544 [  --enable-xinerama       enable Xinerama extension support],
545                 xinerama=$enableval, xinerama=no)
547 if test "$xinerama" = yes; then
548         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
549                 [XLIBS="-lXinerama $XLIBS"
550                 xfxine=yes],
551                 xfxine=no, $XLFLAGS $XLIBS)
553         AC_CHECK_LIB(Xext, XineramaGetInfo,
554                 [sunxine=yes
555                 ], sunxine=no, $XLFLAGS $XLIBS)
557         if test "$xfxine" = yes; then
558                 xine=1
559         fi
561         if test "$sunxine" = yes; then
562             xine=1
563             AC_DEFINE(SOLARIS_XINERAMA, 1, 
564                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
565         fi
567         if test "$xine" = 1; then
568             AC_DEFINE(XINERAMA, 1, 
569                 [define if you want support for the XINERAMA extension (set by configure)])
570         fi
575 dnl MIT-SHM support
576 dnl ===============
577 shm=yes
578 AC_ARG_ENABLE(shm,
579 [  --disable-shm           disable usage of MIT-SHM extension],
580                 shm=$enableval, shm=yes)
582 if test "$shm" = yes; then
583         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
585         if test "$ok" = yes; then
586         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
587         fi
589         if test "$ok" = yes; then
590                 if test "$added_xext" = no; then
591                         XLIBS="-lXext $XLIBS"
592                 fi
593                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
594         fi
598 dnl R6 Style Session Management Support
599 dnl ===================================
603 #AC_DEFINE(R6SM)
604 #AC_SUBST(XSMPLIBS)
608 dnl ==============================================
609 dnl         Graphic Format Libraries
610 dnl ==============================================
616 dnl XPM Support
617 dnl ===========
618 xpm=yes
619 AC_ARG_ENABLE(xpm, 
620 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
621         xpm=$enableval, xpm=yes)
623 if test "$xpm" = yes; then
624     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
626     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
627         WM_CHECK_HEADER(X11/xpm.h)
628         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
629                 GFXLIBS="$GFXLIBS -lXpm"
630                 supported_gfx="XPM"
631                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
632         else
633                 supported_gfx="builtin-XPM"
634         fi
635     fi
638 # for wmlib
639 AC_SUBST(XCFLAGS)
640 # for test
641 AC_SUBST(XLFLAGS)
642 AC_SUBST(XLIBS)
644 AC_SUBST(X_EXTRA_LIBS)
646 dnl ===============================================
647 dnl             End of stuff that uses X
648 dnl ===============================================
652 dnl PNG Support
653 dnl ===========
654 png=yes
655 AC_ARG_ENABLE(png, 
656 [  --disable-png           disable PNG support through libpng],
657         png=$enableval, png=yes, png=no)
660 if test "$png" = yes ; then
661     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
663     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
664         WM_CHECK_HEADER(png.h)
665         if test "x$ac_cv_header_png_h" = xyes; then
666             GFXLIBS="$GFXLIBS -lpng -lz" 
667             supported_gfx="$supported_gfx PNG"
668             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
669         fi
670     fi
674 dnl JPEG Support
675 dnl ============
676 jpeg=yes
677 ljpeg=""
678 AC_ARG_ENABLE(jpeg,
679 [  --disable-jpeg          disable JPEG support through libjpeg],
680         jpeg=$enableval, jpeg=yes, jpeg=no)
682 if test "$jpeg" = yes; then
683     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
685     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
687         ljpeg="-ljpeg"
689         WM_CHECK_HEADER(jpeglib.h)
690         if test "x$ac_cv_header_jpeglib_h" = xyes; then
691             GFXLIBS="$GFXLIBS -ljpeg"
692             supported_gfx="$supported_gfx JPEG"
693             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
694         fi
695     fi
699 dnl GIF Support
700 dnl ============
701 gif=yes
702 AC_ARG_ENABLE(gif,
703 [  --disable-gif           disable GIF support through libgif or libungif],
704         gif=$enableval, gif=yes, gif=no)
706 if test "$gif" = yes; then
707     my_libname=""
708     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
709     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
710         my_libname=-lungif
711     fi
713 dnl libungif is the same thing as libgif for all practical purposes.
715     if test "x$my_libname" = x; then
716         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
717         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
718             my_libname=-lgif
719         fi
720     fi
722     if test "$my_libname" != x; then
723         WM_CHECK_HEADER(gif_lib.h)
724         if test "x$ac_cv_header_gif_lib_h" = xyes; then
725             GFXLIBS="$GFXLIBS $my_libname"
726             supported_gfx="$supported_gfx GIF"
727             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
728         fi
729     fi
734 dnl TIFF Support
735 dnl ============
736 AC_ARG_ENABLE(tiff, 
737 [  --disable-tiff          disable use of TIFF images through libtiff],
738         tif=$enableval, tif=yes, tif=no)
741 # TIFF can optionally have JPEG and/or zlib support. Must find out
742 # when they are supported so that correct library flags are passed during
743 # detection and linkage
746 # By default use xpm icons if tiff is not found.
747 ICONEXT="xpm"
750 if test "$tif" = yes; then
751     my_libname=""
752     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
753     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
754         my_libname="-ltiff"
755     fi
757 dnl Retry with zlib
759     unset ac_cv_lib_tiff_TIFFGetVersion
760     if test "x$my_libname" = x; then
761         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
762         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
763             my_libname="-ltiff -lz"
764         fi
765     fi
767     if test "x$my_libname" = x; then
768         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
769         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
770             my_libname="-ltiff34"
771         fi
772     fi
775     if test "x$my_libname" != x; then
776         WM_CHECK_HEADER(tiffio.h)
777         if test "x$ac_cv_header_tiffio_h" = xyes; then
778             GFXLIBS="$my_libname $GFXLIBS"
779             ICONEXT="tiff"
780             supported_gfx="$supported_gfx TIFF"
781             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
782         fi
783     fi
786 LIBRARY_SEARCH_PATH="$lib_search_path"
787 HEADER_SEARCH_PATH="$inc_search_path"
789 AC_SUBST(LIBRARY_SEARCH_PATH)
790 AC_SUBST(HEADER_SEARCH_PATH)
793 AC_SUBST(GFXLIBS)
794 AC_SUBST(ICONEXT)
797 dnl ==============================================
798 dnl         End of Graphic Format Libraries
799 dnl ==============================================
803 dnl stdlib.h is checked here, because of conflict in jpeglib.h
804 AC_CHECK_HEADERS(stdlib.h)
806 # AC_PREFIX_PROGRAM(wmaker)
808 dnl Support for PIXMAPDIR option
809 dnl ============================
810 AC_ARG_WITH(pixmapdir,
811 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
813 if test "x$with_pixmapdir" != "x"; then
814         pixmapdir=$with_pixmapdir
815 else
816         pixmapdir=`eval echo ${datadir}/pixmaps`
819 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
821 pkgdatadir=`eval echo $datadir`
822 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
824 _sysconfdir=`eval echo $sysconfdir`
825 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
828 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
829 dnl ==============================================
831 AC_ARG_WITH(appspath,
832 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
834 appspath=$with_gnustepdir
836 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
837     wprefs_base_dir=${prefix}
838     wprefs_datadir="${datadir}/WPrefs"
839     wprefs_bindir="${bindir}"
840 else
841     gnustepdir=$appspath
843     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
844         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
845         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
846     fi
848     wprefs_base_dir=$gnustepdir/Applications
849     wprefs_datadir=$wprefs_base_dir/WPrefs.app
850     wprefs_bindir=$wprefs_base_dir/WPrefs.app
853 AC_SUBST(wprefs_datadir)
854 AC_SUBST(wprefs_bindir)
857 dnl Enable User Defined Menu thing
858 dnl ==================================
859 AC_ARG_ENABLE(usermenu,
860 [  --enable-usermenu       user defined menus for applications
862 if test "$enableval" = yes; then
863         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
869 dnl Nicolai:  Program tests for Documentation Section
870 dnl =================================================
871 dnl DOCTYPES=""
872 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
873 dnl if test "x$MAKEINFO" != "x" ; then
874 dnl       DOCTYPES="$DOCTYPES info_doc"
875 dnl fi
876 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
877 dnl if test "x$TEX" != "x" ; then
878 dnl       DOCTYPES="$DOCTYPES dvi_doc"
879 dnl fi
880 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
881 dnl if test "x$DVIPS" != "x" ; then
882 dnl       DOCTYPES="$DOCTYPES ps_doc"
883 dnl fi
884 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
885 dnl if test "x$PERL" != "x" ; then
886 dnl       DOCTYPES="$DOCTYPES html_doc"
887 dnl fi
888 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
889 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
890   
891 dnl AC_SUBST(DOCTYPES)
893 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
894         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
895         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
896         WINGs/Extras/Makefile WINGs/po/Makefile \
897         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
898         src/Makefile src/wconfig.h \
899         doc/Makefile doc/sk/Makefile \
900         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
901         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
902         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
903         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
904         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
905         WPrefs.app/po/Makefile \
906         contrib/Makefile contrib/WindowMaker.spec )
907 #       plugins/Makefile plugins/libwmfun/Makefile)
912 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
913 dnl ===================================================================
916 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
917 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
918 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
920 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
921 dnl parsed by m4
923 cat <<EOF >get-wraster-flags
924 #!/bin/sh
926 WCFLAGS="$inc_search_path"
927 WLFLAGS="$lib_search_path"
928 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
930 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
932 if test \$# -eq 0; then
933       echo "\${usage}" 1>&2
934       exit 1
937 while test \$# -gt 0; do
938   case \$1 in
939     --cflags)
940         echo \$WCFLAGS
941         ;;
942     --ldflags|--lflags)
943         echo \$WLFLAGS
944         ;;
945     --libs)
946         echo \$WLIBS
947         ;;
948     *)
949         echo "\${usage}" 1>&2
950         exit 1
951         ;;
952   esac
953   shift
954 done
959 cat <<EOF > wrlib/wrlib.pc
960 Name: wrlib
961 Description: Image manipulation and conversion library
962 Version: $VERSION
963 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
964 Cflags: $inc_search_path
967 cat <<EOF >get-wings-flags
968 #!/bin/sh
970 WCFLAGS="$inc_search_path"
971 WLFLAGS="$lib_search_path"
972 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
974 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
976 if test \$# -eq 0; then
977       echo "\${usage}" 1>&2
978       exit 1
981 while test \$# -gt 0; do
982   case \$1 in
983     --cflags)
984         echo \$WCFLAGS
985         ;;
986     --ldflags|--lflags)
987         echo \$WLFLAGS
988         ;;
989     --libs)
990         echo \$WLIBS
991         ;;
992     *)
993         echo "\${usage}" 1>&2
994         exit 1
995         ;;
996   esac
997   shift
998 done
1003 cat <<EOF > WINGs/WINGs.pc
1004 Name: WINGs
1005 Description: Small widget set with the NeXTStep(TM) look and feel
1006 Version: $VERSION
1007 Requires: wrlib
1008 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1009 Cflags: $inc_search_path
1012 cat <<EOF >get-wutil-flags
1013 #!/bin/sh
1015 WCFLAGS="-I`eval echo ${includedir}`"
1016 WLFLAGS="-L${_libdir}"
1017 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1019 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1021 if test \$# -eq 0; then
1022       echo "\${usage}" 1>&2
1023       exit 1
1026 while test \$# -gt 0; do
1027   case \$1 in
1028     --cflags)
1029         echo \$WCFLAGS
1030         ;;
1031     --ldflags|--lflags)
1032         echo \$WLFLAGS
1033         ;;
1034     --libs)
1035         echo \$WLIBS
1036         ;;
1037     *)
1038         echo "\${usage}" 1>&2
1039         exit 1
1040         ;;
1041   esac
1042   shift
1043 done
1048 cat <<EOF > wmlib/wmlib.pc
1049 Name: wmlib
1050 Description: FIXME: What do I write here?
1051 Version: $VERSION
1052 Requires: wrlib
1053 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1054 Cflags: $inc_search_path
1057 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1058 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1059 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1061 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1063 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1067 dnl Spit out the configuration
1068 dnl ==========================
1070 supported_gfx="$supported_gfx builtin-PPM"
1072 if test "x$MOFILES" = "x"; then
1073         mof=None
1074 else
1075         mof=`echo $MOFILES`
1078 if test "x$MOFILES" = "x"; then
1079         languages=None
1080 else
1081         languages=`echo $MOFILES | sed 's/.mo//g'`
1084 echo
1085 echo "Window Maker was configured as follows:"
1086 echo
1087 echo "Installation path prefix            : $prefix"
1088 echo "Installation path for binaries      : $_bindir"
1089 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1090 echo "Supported graphic format libraries  : $supported_gfx"
1091 echo "Use assembly routines for wrlib     : $asm_support"
1092 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1093 echo "Antialiased text support in WINGs   : $xft"
1094 echo "Xinerama extension support          : $xinerama"
1095 dnl echo "Virtual desktop support             : $vdesktop_on"
1096 echo "Translated message files to install : $mof"
1097 dnl echo "Supported languages beside English  : $languages"
1098 if test "x$MOFILES" != "x"; then
1099         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1101 echo
1103 dnl WM_PRINT_REDCRAP_BUG_STATUS
1105 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1106 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1107 echo
1108 echo "JPEG support will not be included because the JPEG library is"
1109 echo "not installed correctly or was not found. Background images"
1110 echo "from themes will not display as they usually are JPEG files."
1111 echo
1112 echo "To fix, download and install the jpeg library and/or make sure you"
1113 echo "installed all jpeg related packages, SPECIALLY the development packages"
1114 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1115 echo
1116 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1120 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1121 dnl ================================================
1122 dnl Local Variables:
1123 dnl compile-command: "autoconf"
1124 dnl End: