Clean up StartWindozeCycle()
[wmaker-crm.git] / configure.ac
blob6b866fec76138a204ea810481288d580032423fa
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\t pushal\n\t popal"::
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])
388 dnl Beautify compilation messages
389 dnl ---------------------------------------------
390 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
391                                [Streamline compilation messages (default off)]),
392   [
393         QUIET='@echo "     CC" $@;'
394         QUIET_AR='@echo "     AR" $@;'
395         LIBTOOL_ARG="--silent"
396         MAKEFLAGS="-s"
397         AC_SUBST(QUIET)
398         AC_SUBST(QUIET_AR)
399         AC_SUBST(LIBTOOL_ARG)
400         AC_SUBST(MAKEFLAGS)
406 dnl Networking stuff
409 NETLIBS=""
411 AC_CHECK_FUNC(connect,,
412         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
414 AC_CHECK_FUNC(gethostbyname,,
415         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
417 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
418      for lib in resolv socket inet bsd; do
419         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
420                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
421      done)
423 AC_SUBST(NETLIBS)
426 dnl ===========================================
427 dnl             Stuff that uses X
428 dnl ===========================================
430 AC_PATH_XTRA
432 if test $no_x; then
433     AC_MSG_ERROR([The path for the X11 files not found!
434 Make sure you have X and it's headers and libraries (the -devel packages
435 in Linux) installed.])
438 X_LIBRARY_PATH=$x_libraries
440 XCFLAGS="$X_CFLAGS"
442 XLFLAGS="$X_LIBS"
444 XLIBS="-lX11 $X_EXTRA_LIBS"
447 lib_search_path="$lib_search_path $XLFLAGS"
448 inc_search_path="$inc_search_path $XCFLAGS"
451 AC_SUBST(X_LIBRARY_PATH)
455 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
456 dnl by MANOME Tomonori 
457 dnl ===========================================
458 use_locale=yes
459 AC_ARG_ENABLE(locale, 
460 [  --disable-locale        disable use of X locale support],
461                 use_locale=no)
463 if test "$use_locale" = yes; then
464         AC_CHECK_LIB(X11, _Xsetlocale,
465                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
466                 $XLFLAGS $XLIBS)
470 dnl Check whether XInternAtoms() exist
471 dnl ==================================
472 AC_CHECK_LIB(X11, XInternAtoms, 
473              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
474              $XLFLAGS $XLIBS)
476 dnl Check whether XConvertCase() exist
477 dnl ==================================
478 AC_CHECK_LIB(X11, XConvertCase, 
479              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
480              $XLFLAGS $XLIBS)
483 dnl XKB keyboard language status
484 dnl ============================
485 AC_ARG_ENABLE(modelock,
486 [  --enable-modelock       XKB keyboard language status support],
487                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
491 dnl Shape support
492 dnl =============
493 shape=yes
494 AC_ARG_ENABLE(shape, 
495 [  --disable-shape         disable shaped window extension support],
496                 shape=$enableval, shape=yes)
498 added_xext=no
500 if test "$shape" = yes; then
501         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
502                 added_xext=yes
503                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
504                 shape=no, $XLFLAGS $XLIBS)
508 dnl Xft2 antialiased font support
509 dnl =============================
511 xft=yes
512 XFTLIBS=""
514 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
515         XFTCONFIG="$PKGCONFIG xft"
516         pkgconfig_xft=yes
517 else
518         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
521 AC_MSG_CHECKING([for the Xft2 library])
523 if test "x$XFTCONFIG" != x; then
524         XFTLIBS=`$XFTCONFIG --libs`
525         XFTFLAGS=`$XFTCONFIG --cflags`
526         AC_MSG_RESULT([found])
527 else
528         AC_MSG_RESULT([not found])
529         echo
530         echo "ERROR!!! libXft2 is not installed or could not be found."
531         echo "         Xft2 is a requirement for building Window Maker."
532         echo "         Please install it (along with fontconfig) before continuing."
533         echo
534         exit 1
537 minXFT="2.1.0"
538 goodxft="no"
541 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
543 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
545 if test "$goodxft" = no; then
546         echo
547         echo "ERROR!!! libXft on this system is an old version."
548         echo "         Please consider upgrading to at least version ${minXFT}."
549         echo
550         exit 1
553 AC_SUBST(XFTFLAGS)
554 AC_SUBST(XFTLIBS)
557 dnl XINERAMA support
558 dnl ================
559 xinerama=no
560 AC_ARG_ENABLE(xinerama,
561 [  --enable-xinerama       enable Xinerama extension support],
562                 xinerama=$enableval, xinerama=no)
564 if test "$xinerama" = yes; then
565         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
566                 [XLIBS="-lXinerama $XLIBS"
567                 xfxine=yes],
568                 xfxine=no, $XLFLAGS $XLIBS)
570         AC_CHECK_LIB(Xext, XineramaGetInfo,
571                 [sunxine=yes
572                 ], sunxine=no, $XLFLAGS $XLIBS)
574         if test "$xfxine" = yes; then
575                 xine=1
576         fi
578         if test "$sunxine" = yes; then
579             xine=1
580             AC_DEFINE(SOLARIS_XINERAMA, 1, 
581                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
582         fi
584         if test "$xine" = 1; then
585             AC_DEFINE(XINERAMA, 1, 
586                 [define if you want support for the XINERAMA extension (set by configure)])
587         fi
592 dnl MIT-SHM support
593 dnl ===============
594 shm=yes
595 AC_ARG_ENABLE(shm,
596 [  --disable-shm           disable usage of MIT-SHM extension],
597                 shm=$enableval, shm=yes)
599 if test "$shm" = yes; then
600         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
602         if test "$ok" = yes; then
603         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
604         fi
606         if test "$ok" = yes; then
607                 if test "$added_xext" = no; then
608                         XLIBS="-lXext $XLIBS"
609                 fi
610                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
611         fi
615 dnl R6 Style Session Management Support
616 dnl ===================================
620 #AC_DEFINE(R6SM)
621 #AC_SUBST(XSMPLIBS)
625 dnl ==============================================
626 dnl         Graphic Format Libraries
627 dnl ==============================================
633 dnl XPM Support
634 dnl ===========
635 xpm=yes
636 AC_ARG_ENABLE(xpm, 
637 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
638         xpm=$enableval, xpm=yes)
640 if test "$xpm" = yes; then
641     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
643     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
644         WM_CHECK_HEADER(X11/xpm.h)
645         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
646                 GFXLIBS="$GFXLIBS -lXpm"
647                 supported_gfx="XPM"
648                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
649         else
650                 supported_gfx="builtin-XPM"
651         fi
652     fi
655 # for wmlib
656 AC_SUBST(XCFLAGS)
657 # for test
658 AC_SUBST(XLFLAGS)
659 AC_SUBST(XLIBS)
661 AC_SUBST(X_EXTRA_LIBS)
663 dnl ===============================================
664 dnl             End of stuff that uses X
665 dnl ===============================================
669 dnl PNG Support
670 dnl ===========
671 png=yes
672 AC_ARG_ENABLE(png, 
673 [  --disable-png           disable PNG support through libpng],
674         png=$enableval, png=yes, png=no)
677 if test "$png" = yes ; then
678     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
680     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
681         WM_CHECK_HEADER(png.h)
682         if test "x$ac_cv_header_png_h" = xyes; then
683             GFXLIBS="$GFXLIBS -lpng -lz" 
684             supported_gfx="$supported_gfx PNG"
685             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
686         fi
687     fi
691 dnl JPEG Support
692 dnl ============
693 jpeg=yes
694 ljpeg=""
695 AC_ARG_ENABLE(jpeg,
696 [  --disable-jpeg          disable JPEG support through libjpeg],
697         jpeg=$enableval, jpeg=yes, jpeg=no)
699 if test "$jpeg" = yes; then
700     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
702     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
704         ljpeg="-ljpeg"
706         WM_CHECK_HEADER(jpeglib.h)
707         if test "x$ac_cv_header_jpeglib_h" = xyes; then
708             GFXLIBS="$GFXLIBS -ljpeg"
709             supported_gfx="$supported_gfx JPEG"
710             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
711         fi
712     fi
716 dnl GIF Support
717 dnl ============
718 gif=yes
719 AC_ARG_ENABLE(gif,
720 [  --disable-gif           disable GIF support through libgif or libungif],
721         gif=$enableval, gif=yes, gif=no)
723 if test "$gif" = yes; then
724     my_libname=""
725     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
726     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
727         my_libname=-lungif
728     fi
730 dnl libungif is the same thing as libgif for all practical purposes.
732     if test "x$my_libname" = x; then
733         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
734         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
735             my_libname=-lgif
736         fi
737     fi
739     if test "$my_libname" != x; then
740         WM_CHECK_HEADER(gif_lib.h)
741         if test "x$ac_cv_header_gif_lib_h" = xyes; then
742             GFXLIBS="$GFXLIBS $my_libname"
743             supported_gfx="$supported_gfx GIF"
744             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
745         fi
746     fi
751 dnl TIFF Support
752 dnl ============
753 AC_ARG_ENABLE(tiff, 
754 [  --disable-tiff          disable use of TIFF images through libtiff],
755         tif=$enableval, tif=yes, tif=no)
758 # TIFF can optionally have JPEG and/or zlib support. Must find out
759 # when they are supported so that correct library flags are passed during
760 # detection and linkage
763 # By default use xpm icons if tiff is not found.
764 ICONEXT="xpm"
767 if test "$tif" = yes; then
768     my_libname=""
769     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
770     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
771         my_libname="-ltiff"
772     fi
774 dnl Retry with zlib
776     unset ac_cv_lib_tiff_TIFFGetVersion
777     if test "x$my_libname" = x; then
778         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
779         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
780             my_libname="-ltiff -lz"
781         fi
782     fi
784     if test "x$my_libname" = x; then
785         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
786         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
787             my_libname="-ltiff34"
788         fi
789     fi
792     if test "x$my_libname" != x; then
793         WM_CHECK_HEADER(tiffio.h)
794         if test "x$ac_cv_header_tiffio_h" = xyes; then
795             GFXLIBS="$my_libname $GFXLIBS"
796             ICONEXT="tiff"
797             supported_gfx="$supported_gfx TIFF"
798             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
799         fi
800     fi
803 LIBRARY_SEARCH_PATH="$lib_search_path"
804 HEADER_SEARCH_PATH="$inc_search_path"
806 AC_SUBST(LIBRARY_SEARCH_PATH)
807 AC_SUBST(HEADER_SEARCH_PATH)
810 AC_SUBST(GFXLIBS)
811 AC_SUBST(ICONEXT)
814 dnl ==============================================
815 dnl         End of Graphic Format Libraries
816 dnl ==============================================
820 dnl stdlib.h is checked here, because of conflict in jpeglib.h
821 AC_CHECK_HEADERS(stdlib.h)
823 # AC_PREFIX_PROGRAM(wmaker)
825 dnl Support for PIXMAPDIR option
826 dnl ============================
827 AC_ARG_WITH(pixmapdir,
828 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
830 if test "x$with_pixmapdir" != "x"; then
831         pixmapdir=$with_pixmapdir
832 else
833         pixmapdir=`eval echo ${datadir}/pixmaps`
836 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
838 pkgdatadir=`eval echo $datadir`
839 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
841 _sysconfdir=`eval echo $sysconfdir`
842 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
845 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
846 dnl ==============================================
848 AC_ARG_WITH(appspath,
849 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
851 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
852     appspath=$with_gnustepdir
855 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
856     wprefs_base_dir=${prefix}
857     wprefs_datadir="${datadir}/WPrefs"
858     wprefs_bindir="${bindir}"
859 else
860     gnustepdir=$appspath
862     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
863         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
864         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
865     fi
867     wprefs_base_dir=$gnustepdir/Applications
868     wprefs_datadir=$wprefs_base_dir/WPrefs.app
869     wprefs_bindir=$wprefs_base_dir/WPrefs.app
872 AC_SUBST(wprefs_datadir)
873 AC_SUBST(wprefs_bindir)
876 dnl Enable User Defined Menu thing
877 dnl ==================================
878 AC_ARG_ENABLE(usermenu,
879 [  --enable-usermenu       user defined menus for applications
881 if test "$enableval" = yes; then
882         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
888 dnl Nicolai:  Program tests for Documentation Section
889 dnl =================================================
890 dnl DOCTYPES=""
891 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
892 dnl if test "x$MAKEINFO" != "x" ; then
893 dnl       DOCTYPES="$DOCTYPES info_doc"
894 dnl fi
895 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
896 dnl if test "x$TEX" != "x" ; then
897 dnl       DOCTYPES="$DOCTYPES dvi_doc"
898 dnl fi
899 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
900 dnl if test "x$DVIPS" != "x" ; then
901 dnl       DOCTYPES="$DOCTYPES ps_doc"
902 dnl fi
903 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
904 dnl if test "x$PERL" != "x" ; then
905 dnl       DOCTYPES="$DOCTYPES html_doc"
906 dnl fi
907 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
908 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
909   
910 dnl AC_SUBST(DOCTYPES)
912 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
913         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
914         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
915         WINGs/Extras/Makefile WINGs/po/Makefile \
916         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
917         src/Makefile src/wconfig.h \
918         doc/Makefile doc/sk/Makefile \
919         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
920         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
921         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
922         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
923         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
924         WPrefs.app/po/Makefile \
925         contrib/Makefile contrib/WindowMaker.spec )
926 #       plugins/Makefile plugins/libwmfun/Makefile)
931 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
932 dnl ===================================================================
935 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
936 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
937 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
939 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
940 dnl parsed by m4
942 cat <<EOF >get-wraster-flags
943 #!/bin/sh
945 WCFLAGS="$inc_search_path"
946 WLFLAGS="$lib_search_path"
947 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
949 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
951 if test \$# -eq 0; then
952       echo "\${usage}" 1>&2
953       exit 1
956 while test \$# -gt 0; do
957   case \$1 in
958     --cflags)
959         echo \$WCFLAGS
960         ;;
961     --ldflags|--lflags)
962         echo \$WLFLAGS
963         ;;
964     --libs)
965         echo \$WLIBS
966         ;;
967     *)
968         echo "\${usage}" 1>&2
969         exit 1
970         ;;
971   esac
972   shift
973 done
978 cat <<EOF > wrlib/wrlib.pc
979 Name: wrlib
980 Description: Image manipulation and conversion library
981 Version: $VERSION
982 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
983 Cflags: $inc_search_path
986 cat <<EOF >get-wings-flags
987 #!/bin/sh
989 WCFLAGS="$inc_search_path"
990 WLFLAGS="$lib_search_path"
991 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
993 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
995 if test \$# -eq 0; then
996       echo "\${usage}" 1>&2
997       exit 1
1000 while test \$# -gt 0; do
1001   case \$1 in
1002     --cflags)
1003         echo \$WCFLAGS
1004         ;;
1005     --ldflags|--lflags)
1006         echo \$WLFLAGS
1007         ;;
1008     --libs)
1009         echo \$WLIBS
1010         ;;
1011     *)
1012         echo "\${usage}" 1>&2
1013         exit 1
1014         ;;
1015   esac
1016   shift
1017 done
1022 cat <<EOF > WINGs/WINGs.pc
1023 Name: WINGs
1024 Description: Small widget set with the NeXTStep(TM) look and feel
1025 Version: $VERSION
1026 Requires: wrlib
1027 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1028 Cflags: $inc_search_path
1031 cat <<EOF >get-wutil-flags
1032 #!/bin/sh
1034 WCFLAGS="-I`eval echo ${includedir}`"
1035 WLFLAGS="-L${_libdir}"
1036 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1038 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1040 if test \$# -eq 0; then
1041       echo "\${usage}" 1>&2
1042       exit 1
1045 while test \$# -gt 0; do
1046   case \$1 in
1047     --cflags)
1048         echo \$WCFLAGS
1049         ;;
1050     --ldflags|--lflags)
1051         echo \$WLFLAGS
1052         ;;
1053     --libs)
1054         echo \$WLIBS
1055         ;;
1056     *)
1057         echo "\${usage}" 1>&2
1058         exit 1
1059         ;;
1060   esac
1061   shift
1062 done
1067 cat <<EOF > wmlib/wmlib.pc
1068 Name: wmlib
1069 Description: FIXME: What do I write here?
1070 Version: $VERSION
1071 Requires: wrlib
1072 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1073 Cflags: $inc_search_path
1076 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1077 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1078 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1080 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1082 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1086 dnl Spit out the configuration
1087 dnl ==========================
1089 supported_gfx="$supported_gfx builtin-PPM"
1091 if test "x$MOFILES" = "x"; then
1092         mof=None
1093 else
1094         mof=`echo $MOFILES`
1097 if test "x$MOFILES" = "x"; then
1098         languages=None
1099 else
1100         languages=`echo $MOFILES | sed 's/.mo//g'`
1103 echo
1104 echo "Window Maker was configured as follows:"
1105 echo
1106 echo "Installation path prefix            : $prefix"
1107 echo "Installation path for binaries      : $_bindir"
1108 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1109 echo "Supported graphic format libraries  : $supported_gfx"
1110 echo "Use assembly routines for wrlib     : $asm_support"
1111 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1112 echo "Antialiased text support in WINGs   : $xft"
1113 echo "Xinerama extension support          : $xinerama"
1114 dnl echo "Virtual desktop support             : $vdesktop_on"
1115 echo "Translated message files to install : $mof"
1116 dnl echo "Supported languages beside English  : $languages"
1117 if test "x$MOFILES" != "x"; then
1118         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1120 echo
1122 dnl WM_PRINT_REDCRAP_BUG_STATUS
1124 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1125 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1126 echo
1127 echo "JPEG support will not be included because the JPEG library is"
1128 echo "not installed correctly or was not found. Background images"
1129 echo "from themes will not display as they usually are JPEG files."
1130 echo
1131 echo "To fix, download and install the jpeg library and/or make sure you"
1132 echo "installed all jpeg related packages, SPECIALLY the development packages"
1133 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1134 echo
1135 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1139 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1140 dnl ================================================
1141 dnl Local Variables:
1142 dnl compile-command: "autoconf"
1143 dnl End: