GetCommandForPid() for darwin/osx
[wmaker-crm.git] / configure.ac
blobdb019b7e691824b2bb574b869dfb1d0ab37c5ac6
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 Check for inotify
120 dnl =================
121 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
123 dnl Check CPP
124 dnl =========
125 if test "x$CPP_PATH" = x; then
126     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
127                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
131 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
132 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
133 dnl standard locations
135 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
136     if test "$GCC" = "yes"; then
137         CPP_PATH="gcc -E -x c"
138     else 
139         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
140             CPP_PATH="$CPP_PATH -B"
141         else
142             echo "cpp, the C preprocessor was not found in your system."
143             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
144             exit
145         fi
146     fi
148 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
152 dnl Checks for header files.
153 dnl =======================
154 AC_HEADER_SYS_WAIT
155 AC_HEADER_TIME
156 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
157                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
158                  strings.h)
162 dnl Checks for typedefs, structures, and compiler characteristics.
163 dnl ==============================================================
164 AC_DECL_SYS_SIGLIST
165 AC_C_CONST
166 #AC_TYPE_SIZE_T
167 #AC_TYPE_PID_T
168 AC_TYPE_SIGNAL
172 dnl Compiler/architecture specific optimizations
173 dnl ============================================
176 dnl GCC/as with MMX support
177 dnl -----------------------
179 # until we fix it, leave it disabled
180 asm_support=no
181 mmx_support=no
183 check_for_mmx_support=yes
184 AC_ARG_ENABLE(mmx,
185    [  --disable-mmx          disable compilation of MMX inline assembly ],
186    [if test x$enableval != xyes; then
187     check_for_mmx_support=no
188     fi])
190 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
191 case $host_cpu in
192 *i?86*)
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
220     ;;
221 esac
223 AC_SUBST(NOSTRICTALIASING)
226 dnl pkg-config
227 dnl ----------
228 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
229 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
232 dnl gettext
233 dnl -------
236 dnl AM_GNU_GETTEXT
240 INTLIBS=""
242 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
243         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
244                          INTLIBS="" ))
246 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
248 if test "$XGETTEXT" != ""; then 
249     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
250         echo "xgettext isn't GNU version"
251         XGETTEXT=""
252     fi
255 if test "$LINGUAS" != ""; then
256     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
257         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
258         PO=""
259 #       if test "$LINGUAS" = ""; then
260 #           ling=` (cd src/po; /bin/ls *.po) `
261 #           for l in $ling; do
262 #               lcode=`basename $l .po`
263 #               LINGUAS="$LINGUAS $lcode"
264 #           done
265 #       fi
266         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
267     else
268         LINGUAS=""
269         PO=""
270         echo "xgettext and libintl.a don't both exist; will not build i18n support"
271     fi
272 else
273         INTLIBS=""
274         MOFILES=""
275         WPMOFILES=""
276         UTILMOFILES=""
277         PO=""
281 dnl The Tower of Babel
282 dnl ==================
284 dnl List of supported locales
285 dnl -------------------------
286 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"
287 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
288 supported_wings_locales="bg ca cs de fr sk"
289 supported_util_locales="de"
291 for lang in $LINGUAS; do
292         ok=0
293         for l in $supported_locales; do
294                 if test "$l" = "$lang"; then
295                         ok=1
296                         break
297                 fi
298         done
299         if test "$ok" = 1; then
300                 MOFILES="$MOFILES $lang.mo"
301         else
302                 echo "Locale $lang is not supported."
303         fi
304         ok=0
305         for l in $supported_wprefs_locales; do
306                 if test "$l" = "$lang"; then
307                         ok=1
308                         break
309                 fi
310         done
311         if test "$ok" = 1; then
312                 WPMOFILES="$WPMOFILES $lang.mo"
313         fi
314         ok=0
315         for l in $supported_util_locales; do
316                 if test "$l" = "$lang"; then
317                         ok=1
318                         break
319                 fi
320         done
321         if test "$ok" = 1; then
322                 UTILMOFILES="$UTILMOFILES $lang.mo"
323         fi
324         ok=0
325         for l in $supported_wings_locales; do
326                 if test "$l" = "$lang"; then
327                         ok=1
328                         break
329                 fi
330         done
331         if test "$ok" = 1; then
332                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
333         fi
334 done
337 dnl Kanji Characters support
338 dnl ========================
340 case $host_os in
341         freebsd*)
342                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
343         *)
344         ;;
345 esac
349 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
350 dnl ===========================================
351 AC_ARG_WITH(nlsdir, 
352         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
355 if test "x$NLSDIR" = "x"; then
356         if test "x$with_nlsdir" != "x"; then
357                 NLSDIR=$with_nlsdir
358         else
359                 NLSDIR='$(prefix)/lib/locale'
360         fi
365 AC_SUBST(INTLIBS)
366 AC_SUBST(NLSDIR)
367 AC_SUBST(MOFILES)
368 AC_SUBST(WPMOFILES)
369 AC_SUBST(UTILMOFILES)
370 AC_SUBST(WINGSMOFILES)
371 AC_SUBST(supported_locales)
375 dnl Support for various hint things
376 dnl ===============================
379 dnl Beautify compilation messages
380 dnl ---------------------------------------------
381 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
382                                [Streamline compilation messages (default off)]),
383   [
384         QUIET='@echo "     CC" $@;'
385         QUIET_AR='@echo "     AR" $@;'
386         LIBTOOL_ARG="--silent"
387         MAKEFLAGS="-s"
388         AC_SUBST(QUIET)
389         AC_SUBST(QUIET_AR)
390         AC_SUBST(LIBTOOL_ARG)
391         AC_SUBST(MAKEFLAGS)
397 dnl Networking stuff
400 NETLIBS=""
402 AC_CHECK_FUNC(connect,,
403         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
405 AC_CHECK_FUNC(gethostbyname,,
406         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
408 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
409      for lib in resolv socket inet bsd; do
410         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
411                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
412      done)
414 AC_SUBST(NETLIBS)
417 dnl ===========================================
418 dnl             Stuff that uses X
419 dnl ===========================================
421 AC_PATH_XTRA
423 if test $no_x; then
424     AC_MSG_ERROR([The path for the X11 files not found!
425 Make sure you have X and it's headers and libraries (the -devel packages
426 in Linux) installed.])
429 X_LIBRARY_PATH=$x_libraries
431 XCFLAGS="$X_CFLAGS"
433 XLFLAGS="$X_LIBS"
435 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
438 lib_search_path="$lib_search_path $XLFLAGS"
439 inc_search_path="$inc_search_path $XCFLAGS"
442 AC_SUBST(X_LIBRARY_PATH)
446 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
447 dnl by MANOME Tomonori 
448 dnl ===========================================
449 use_locale=yes
450 AC_ARG_ENABLE(locale, 
451 [  --disable-locale        disable use of X locale support],
452                 use_locale=no)
454 if test "$use_locale" = yes; then
455         AC_CHECK_LIB(X11, _Xsetlocale,
456                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
457                 $XLFLAGS $XLIBS)
461 dnl Check whether XInternAtoms() exist
462 dnl ==================================
463 AC_CHECK_LIB(X11, XInternAtoms, 
464              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
465              $XLFLAGS $XLIBS)
467 dnl Check whether XConvertCase() exist
468 dnl ==================================
469 AC_CHECK_LIB(X11, XConvertCase, 
470              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
471              $XLFLAGS $XLIBS)
474 dnl XKB keyboard language status
475 dnl ============================
476 AC_ARG_ENABLE(modelock,
477 [  --enable-modelock       XKB keyboard language status support],
478                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
482 dnl Shape support
483 dnl =============
484 shape=yes
485 AC_ARG_ENABLE(shape, 
486 [  --disable-shape         disable shaped window extension support],
487                 shape=$enableval, shape=yes)
489 added_xext=no
491 if test "$shape" = yes; then
492         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
493                 added_xext=yes
494                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
495                 shape=no, $XLFLAGS $XLIBS)
499 dnl Xft2 antialiased font support
500 dnl =============================
502 xft=yes
503 XFTLIBS=""
505 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
506         XFTCONFIG="$PKGCONFIG xft"
507         pkgconfig_xft=yes
508 else
509         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
512 AC_MSG_CHECKING([for the Xft2 library])
514 if test "x$XFTCONFIG" != x; then
515         XFTLIBS=`$XFTCONFIG --libs`
516         XFTFLAGS=`$XFTCONFIG --cflags`
517         AC_MSG_RESULT([found])
518 else
519         AC_MSG_RESULT([not found])
520         echo
521         echo "ERROR!!! libXft2 is not installed or could not be found."
522         echo "         Xft2 is a requirement for building Window Maker."
523         echo "         Please install it (along with fontconfig) before continuing."
524         echo
525         exit 1
528 minXFT="2.1.0"
529 goodxft="no"
532 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
534 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
536 if test "$goodxft" = no; then
537         echo
538         echo "ERROR!!! libXft on this system is an old version."
539         echo "         Please consider upgrading to at least version ${minXFT}."
540         echo
541         exit 1
544 AC_SUBST(XFTFLAGS)
545 AC_SUBST(XFTLIBS)
548 dnl XINERAMA support
549 dnl ================
550 xinerama=no
551 AC_ARG_ENABLE(xinerama,
552 [  --enable-xinerama       enable Xinerama extension support],
553                 xinerama=$enableval, xinerama=no)
555 if test "$xinerama" = yes; then
556         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
557                 [XLIBS="-lXinerama $XLIBS"
558                 xfxine=yes],
559                 xfxine=no, $XLFLAGS $XLIBS)
561         AC_CHECK_LIB(Xext, XineramaGetInfo,
562                 [sunxine=yes
563                 ], sunxine=no, $XLFLAGS $XLIBS)
565         if test "$xfxine" = yes; then
566                 xine=1
567         fi
569         if test "$sunxine" = yes; then
570             xine=1
571             AC_DEFINE(SOLARIS_XINERAMA, 1, 
572                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
573         fi
575         if test "$xine" = 1; then
576             AC_DEFINE(XINERAMA, 1, 
577                 [define if you want support for the XINERAMA extension (set by configure)])
578         fi
583 dnl MIT-SHM support
584 dnl ===============
585 shm=yes
586 AC_ARG_ENABLE(shm,
587 [  --disable-shm           disable usage of MIT-SHM extension],
588                 shm=$enableval, shm=yes)
590 if test "$shm" = yes; then
591         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
593         if test "$ok" = yes; then
594         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
595         fi
597         if test "$ok" = yes; then
598                 if test "$added_xext" = no; then
599                         XLIBS="-lXext $XLIBS"
600                 fi
601                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
602         fi
606 dnl R6 Style Session Management Support
607 dnl ===================================
611 #AC_DEFINE(R6SM)
612 #AC_SUBST(XSMPLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
624 dnl XPM Support
625 dnl ===========
626 xpm=yes
627 AC_ARG_ENABLE(xpm, 
628 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
629         xpm=$enableval, xpm=yes)
631 if test "$xpm" = yes; then
632     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
634     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
635         WM_CHECK_HEADER(X11/xpm.h)
636         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
637                 GFXLIBS="$GFXLIBS -lXpm"
638                 supported_gfx="XPM"
639                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
640         else
641                 supported_gfx="builtin-XPM"
642         fi
643     fi
646 # for wmlib
647 AC_SUBST(XCFLAGS)
648 # for test
649 AC_SUBST(XLFLAGS)
650 AC_SUBST(XLIBS)
652 AC_SUBST(X_EXTRA_LIBS)
654 dnl ===============================================
655 dnl             End of stuff that uses X
656 dnl ===============================================
660 dnl PNG Support
661 dnl ===========
662 png=yes
663 AC_ARG_ENABLE(png, 
664 [  --disable-png           disable PNG support through libpng],
665         png=$enableval, png=yes, png=no)
668 if test "$png" = yes ; then
669     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
671     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
672         WM_CHECK_HEADER(png.h)
673         if test "x$ac_cv_header_png_h" = xyes; then
674             GFXLIBS="$GFXLIBS -lpng -lz" 
675             supported_gfx="$supported_gfx PNG"
676             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
677         fi
678     fi
682 dnl JPEG Support
683 dnl ============
684 jpeg=yes
685 ljpeg=""
686 AC_ARG_ENABLE(jpeg,
687 [  --disable-jpeg          disable JPEG support through libjpeg],
688         jpeg=$enableval, jpeg=yes, jpeg=no)
690 if test "$jpeg" = yes; then
691     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
693     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
695         ljpeg="-ljpeg"
697         WM_CHECK_HEADER(jpeglib.h)
698         if test "x$ac_cv_header_jpeglib_h" = xyes; then
699             GFXLIBS="$GFXLIBS -ljpeg"
700             supported_gfx="$supported_gfx JPEG"
701             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
702         fi
703     fi
707 dnl GIF Support
708 dnl ============
709 gif=yes
710 AC_ARG_ENABLE(gif,
711 [  --disable-gif           disable GIF support through libgif or libungif],
712         gif=$enableval, gif=yes, gif=no)
714 if test "$gif" = yes; then
715     my_libname=""
716     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
717     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
718         my_libname=-lungif
719     fi
721 dnl libungif is the same thing as libgif for all practical purposes.
723     if test "x$my_libname" = x; then
724         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
725         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
726             my_libname=-lgif
727         fi
728     fi
730     if test "$my_libname" != x; then
731         WM_CHECK_HEADER(gif_lib.h)
732         if test "x$ac_cv_header_gif_lib_h" = xyes; then
733             GFXLIBS="$GFXLIBS $my_libname"
734             supported_gfx="$supported_gfx GIF"
735             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
736         fi
737     fi
742 dnl TIFF Support
743 dnl ============
744 AC_ARG_ENABLE(tiff, 
745 [  --disable-tiff          disable use of TIFF images through libtiff],
746         tif=$enableval, tif=yes, tif=no)
749 # TIFF can optionally have JPEG and/or zlib support. Must find out
750 # when they are supported so that correct library flags are passed during
751 # detection and linkage
754 # By default use xpm icons if tiff is not found.
755 ICONEXT="xpm"
758 if test "$tif" = yes; then
759     my_libname=""
760     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
761     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
762         my_libname="-ltiff"
763     fi
765 dnl Retry with zlib
767     unset ac_cv_lib_tiff_TIFFGetVersion
768     if test "x$my_libname" = x; then
769         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
770         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
771             my_libname="-ltiff -lz"
772         fi
773     fi
775     if test "x$my_libname" = x; then
776         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
777         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
778             my_libname="-ltiff34"
779         fi
780     fi
783     if test "x$my_libname" != x; then
784         WM_CHECK_HEADER(tiffio.h)
785         if test "x$ac_cv_header_tiffio_h" = xyes; then
786             GFXLIBS="$my_libname $GFXLIBS"
787             ICONEXT="tiff"
788             supported_gfx="$supported_gfx TIFF"
789             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
790         fi
791     fi
794 LIBRARY_SEARCH_PATH="$lib_search_path"
795 HEADER_SEARCH_PATH="$inc_search_path"
797 AC_SUBST(LIBRARY_SEARCH_PATH)
798 AC_SUBST(HEADER_SEARCH_PATH)
801 AC_SUBST(GFXLIBS)
802 AC_SUBST(ICONEXT)
805 dnl ==============================================
806 dnl         End of Graphic Format Libraries
807 dnl ==============================================
811 dnl stdlib.h is checked here, because of conflict in jpeglib.h
812 AC_CHECK_HEADERS(stdlib.h)
814 # AC_PREFIX_PROGRAM(wmaker)
816 dnl Support for PIXMAPDIR option
817 dnl ============================
818 AC_ARG_WITH(pixmapdir,
819 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
821 if test "x$with_pixmapdir" != "x"; then
822         pixmapdir=$with_pixmapdir
823 else
824         pixmapdir=`eval echo ${datadir}/pixmaps`
827 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
829 pkgdatadir=`eval echo $datadir`
830 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
832 _sysconfdir=`eval echo $sysconfdir`
833 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
836 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
837 dnl ==============================================
839 AC_ARG_WITH(appspath,
840 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
842 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
843     appspath=$with_gnustepdir
846 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
847     wprefs_base_dir=${prefix}
848     wprefs_datadir="${datadir}/WPrefs"
849     wprefs_bindir="${bindir}"
850 else
851     gnustepdir=$appspath
853     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
854         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
855         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
856     fi
858     wprefs_base_dir=$gnustepdir/Applications
859     wprefs_datadir=$wprefs_base_dir/WPrefs.app
860     wprefs_bindir=$wprefs_base_dir/WPrefs.app
863 AC_SUBST(wprefs_datadir)
864 AC_SUBST(wprefs_bindir)
867 dnl Enable User Defined Menu thing
868 dnl ==================================
869 AC_ARG_ENABLE(usermenu,
870 [  --enable-usermenu       user defined menus for applications
872 if test "$enableval" = yes; then
873         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
879 dnl Nicolai:  Program tests for Documentation Section
880 dnl =================================================
881 dnl DOCTYPES=""
882 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
883 dnl if test "x$MAKEINFO" != "x" ; then
884 dnl       DOCTYPES="$DOCTYPES info_doc"
885 dnl fi
886 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
887 dnl if test "x$TEX" != "x" ; then
888 dnl       DOCTYPES="$DOCTYPES dvi_doc"
889 dnl fi
890 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
891 dnl if test "x$DVIPS" != "x" ; then
892 dnl       DOCTYPES="$DOCTYPES ps_doc"
893 dnl fi
894 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
895 dnl if test "x$PERL" != "x" ; then
896 dnl       DOCTYPES="$DOCTYPES html_doc"
897 dnl fi
898 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
899 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
900   
901 dnl AC_SUBST(DOCTYPES)
903 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile test/Makefile \
904         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
905         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
906         WINGs/Extras/Makefile WINGs/po/Makefile \
907         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
908         src/Makefile src/wconfig.h \
909         doc/Makefile doc/sk/Makefile \
910         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
911         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
912         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
913         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
914         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
915         WPrefs.app/po/Makefile \
916         contrib/Makefile contrib/WindowMaker.spec )
921 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
922 dnl ===================================================================
925 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
926 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
927 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
929 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
930 dnl parsed by m4
932 cat <<EOF >get-wraster-flags
933 #!/bin/sh
935 WCFLAGS="$inc_search_path"
936 WLFLAGS="$lib_search_path"
937 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
939 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
941 if test \$# -eq 0; then
942       echo "\${usage}" 1>&2
943       exit 1
946 while test \$# -gt 0; do
947   case \$1 in
948     --cflags)
949         echo \$WCFLAGS
950         ;;
951     --ldflags|--lflags)
952         echo \$WLFLAGS
953         ;;
954     --libs)
955         echo \$WLIBS
956         ;;
957     *)
958         echo "\${usage}" 1>&2
959         exit 1
960         ;;
961   esac
962   shift
963 done
968 cat <<EOF > wrlib/wrlib.pc
969 Name: wrlib
970 Description: Image manipulation and conversion library
971 Version: $VERSION
972 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
973 Cflags: $inc_search_path
976 cat <<EOF >get-wings-flags
977 #!/bin/sh
979 WCFLAGS="$inc_search_path"
980 WLFLAGS="$lib_search_path"
981 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
983 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
985 if test \$# -eq 0; then
986       echo "\${usage}" 1>&2
987       exit 1
990 while test \$# -gt 0; do
991   case \$1 in
992     --cflags)
993         echo \$WCFLAGS
994         ;;
995     --ldflags|--lflags)
996         echo \$WLFLAGS
997         ;;
998     --libs)
999         echo \$WLIBS
1000         ;;
1001     *)
1002         echo "\${usage}" 1>&2
1003         exit 1
1004         ;;
1005   esac
1006   shift
1007 done
1012 cat <<EOF > WINGs/WINGs.pc
1013 Name: WINGs
1014 Description: Small widget set with the NeXTStep(TM) look and feel
1015 Version: $VERSION
1016 Requires: wrlib
1017 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1018 Cflags: $inc_search_path
1021 cat <<EOF >get-wutil-flags
1022 #!/bin/sh
1024 WCFLAGS="-I`eval echo ${includedir}`"
1025 WLFLAGS="-L${_libdir}"
1026 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1028 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1030 if test \$# -eq 0; then
1031       echo "\${usage}" 1>&2
1032       exit 1
1035 while test \$# -gt 0; do
1036   case \$1 in
1037     --cflags)
1038         echo \$WCFLAGS
1039         ;;
1040     --ldflags|--lflags)
1041         echo \$WLFLAGS
1042         ;;
1043     --libs)
1044         echo \$WLIBS
1045         ;;
1046     *)
1047         echo "\${usage}" 1>&2
1048         exit 1
1049         ;;
1050   esac
1051   shift
1052 done
1057 cat <<EOF > wmlib/wmlib.pc
1058 Name: wmlib
1059 Description: FIXME: What do I write here?
1060 Version: $VERSION
1061 Requires: wrlib
1062 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1063 Cflags: $inc_search_path
1066 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1067 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1068 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1070 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1072 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1076 dnl Spit out the configuration
1077 dnl ==========================
1079 supported_gfx="$supported_gfx builtin-PPM"
1081 if test "x$MOFILES" = "x"; then
1082         mof=None
1083 else
1084         mof=`echo $MOFILES`
1087 if test "x$MOFILES" = "x"; then
1088         languages=None
1089 else
1090         languages=`echo $MOFILES | sed 's/.mo//g'`
1093 echo
1094 echo "Window Maker was configured as follows:"
1095 echo
1096 echo "Installation path prefix            : $prefix"
1097 echo "Installation path for binaries      : $_bindir"
1098 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1099 echo "Supported graphic format libraries  : $supported_gfx"
1100 echo "Use assembly routines for wrlib     : $asm_support"
1101 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1102 echo "Antialiased text support in WINGs   : $xft"
1103 echo "Xinerama extension support          : $xinerama"
1104 dnl echo "Virtual desktop support             : $vdesktop_on"
1105 echo "Translated message files to install : $mof"
1106 dnl echo "Supported languages beside English  : $languages"
1107 if test "x$MOFILES" != "x"; then
1108         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1110 echo
1112 dnl WM_PRINT_REDCRAP_BUG_STATUS
1114 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1115 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1116 echo
1117 echo "JPEG support will not be included because the JPEG library is"
1118 echo "not installed correctly or was not found. Background images"
1119 echo "from themes will not display as they usually are JPEG files."
1120 echo
1121 echo "To fix, download and install the jpeg library and/or make sure you"
1122 echo "installed all jpeg related packages, SPECIALLY the development packages"
1123 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1124 echo
1125 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1129 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1130 dnl ================================================
1131 dnl Local Variables:
1132 dnl compile-command: "autoconf"
1133 dnl End: