Compilation: Add a few spaces in the output
[wmaker-crm.git] / configure.ac
blob1783a72e616c2ec95ef22b9a51672302f50d2146
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         AC_SUBST(QUIET)
397         AC_SUBST(QUIET_AR)
398         AC_SUBST(LIBTOOL_ARG)
404 dnl Networking stuff
407 NETLIBS=""
409 AC_CHECK_FUNC(connect,,
410         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
412 AC_CHECK_FUNC(gethostbyname,,
413         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
415 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
416      for lib in resolv socket inet bsd; do
417         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
418                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
419      done)
421 AC_SUBST(NETLIBS)
424 dnl ===========================================
425 dnl             Stuff that uses X
426 dnl ===========================================
428 AC_PATH_XTRA
430 if test $no_x; then
431     AC_MSG_ERROR([The path for the X11 files not found!
432 Make sure you have X and it's headers and libraries (the -devel packages
433 in Linux) installed.])
436 X_LIBRARY_PATH=$x_libraries
438 XCFLAGS="$X_CFLAGS"
440 XLFLAGS="$X_LIBS"
442 XLIBS="-lX11 $X_EXTRA_LIBS"
445 lib_search_path="$lib_search_path $XLFLAGS"
446 inc_search_path="$inc_search_path $XCFLAGS"
449 AC_SUBST(X_LIBRARY_PATH)
453 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
454 dnl by MANOME Tomonori 
455 dnl ===========================================
456 use_locale=yes
457 AC_ARG_ENABLE(locale, 
458 [  --disable-locale        disable use of X locale support],
459                 use_locale=no)
461 if test "$use_locale" = yes; then
462         AC_CHECK_LIB(X11, _Xsetlocale,
463                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
464                 $XLFLAGS $XLIBS)
468 dnl Check whether XInternAtoms() exist
469 dnl ==================================
470 AC_CHECK_LIB(X11, XInternAtoms, 
471              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
472              $XLFLAGS $XLIBS)
474 dnl Check whether XConvertCase() exist
475 dnl ==================================
476 AC_CHECK_LIB(X11, XConvertCase, 
477              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
478              $XLFLAGS $XLIBS)
481 dnl XKB keyboard language status
482 dnl ============================
483 AC_ARG_ENABLE(modelock,
484 [  --enable-modelock       XKB keyboard language status support],
485                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
489 dnl Shape support
490 dnl =============
491 shape=yes
492 AC_ARG_ENABLE(shape, 
493 [  --disable-shape         disable shaped window extension support],
494                 shape=$enableval, shape=yes)
496 added_xext=no
498 if test "$shape" = yes; then
499         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
500                 added_xext=yes
501                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
502                 shape=no, $XLFLAGS $XLIBS)
506 dnl Xft2 antialiased font support
507 dnl =============================
509 xft=yes
510 XFTLIBS=""
512 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
513         XFTCONFIG="$PKGCONFIG xft"
514         pkgconfig_xft=yes
515 else
516         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
519 AC_MSG_CHECKING([for the Xft2 library])
521 if test "x$XFTCONFIG" != x; then
522         XFTLIBS=`$XFTCONFIG --libs`
523         XFTFLAGS=`$XFTCONFIG --cflags`
524         AC_MSG_RESULT([found])
525 else
526         AC_MSG_RESULT([not found])
527         echo
528         echo "ERROR!!! libXft2 is not installed or could not be found."
529         echo "         Xft2 is a requirement for building Window Maker."
530         echo "         Please install it (along with fontconfig) before continuing."
531         echo
532         exit 1
535 minXFT="2.1.0"
536 goodxft="no"
539 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
541 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
543 if test "$goodxft" = no; then
544         echo
545         echo "ERROR!!! libXft on this system is an old version."
546         echo "         Please consider upgrading to at least version ${minXFT}."
547         echo
548         exit 1
551 AC_SUBST(XFTFLAGS)
552 AC_SUBST(XFTLIBS)
555 dnl XINERAMA support
556 dnl ================
557 xinerama=no
558 AC_ARG_ENABLE(xinerama,
559 [  --enable-xinerama       enable Xinerama extension support],
560                 xinerama=$enableval, xinerama=no)
562 if test "$xinerama" = yes; then
563         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
564                 [XLIBS="-lXinerama $XLIBS"
565                 xfxine=yes],
566                 xfxine=no, $XLFLAGS $XLIBS)
568         AC_CHECK_LIB(Xext, XineramaGetInfo,
569                 [sunxine=yes
570                 ], sunxine=no, $XLFLAGS $XLIBS)
572         if test "$xfxine" = yes; then
573                 xine=1
574         fi
576         if test "$sunxine" = yes; then
577             xine=1
578             AC_DEFINE(SOLARIS_XINERAMA, 1, 
579                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
580         fi
582         if test "$xine" = 1; then
583             AC_DEFINE(XINERAMA, 1, 
584                 [define if you want support for the XINERAMA extension (set by configure)])
585         fi
590 dnl MIT-SHM support
591 dnl ===============
592 shm=yes
593 AC_ARG_ENABLE(shm,
594 [  --disable-shm           disable usage of MIT-SHM extension],
595                 shm=$enableval, shm=yes)
597 if test "$shm" = yes; then
598         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
600         if test "$ok" = yes; then
601         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
602         fi
604         if test "$ok" = yes; then
605                 if test "$added_xext" = no; then
606                         XLIBS="-lXext $XLIBS"
607                 fi
608                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
609         fi
613 dnl R6 Style Session Management Support
614 dnl ===================================
618 #AC_DEFINE(R6SM)
619 #AC_SUBST(XSMPLIBS)
623 dnl ==============================================
624 dnl         Graphic Format Libraries
625 dnl ==============================================
631 dnl XPM Support
632 dnl ===========
633 xpm=yes
634 AC_ARG_ENABLE(xpm, 
635 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
636         xpm=$enableval, xpm=yes)
638 if test "$xpm" = yes; then
639     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
641     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
642         WM_CHECK_HEADER(X11/xpm.h)
643         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
644                 GFXLIBS="$GFXLIBS -lXpm"
645                 supported_gfx="XPM"
646                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
647         else
648                 supported_gfx="builtin-XPM"
649         fi
650     fi
653 # for wmlib
654 AC_SUBST(XCFLAGS)
655 # for test
656 AC_SUBST(XLFLAGS)
657 AC_SUBST(XLIBS)
659 AC_SUBST(X_EXTRA_LIBS)
661 dnl ===============================================
662 dnl             End of stuff that uses X
663 dnl ===============================================
667 dnl PNG Support
668 dnl ===========
669 png=yes
670 AC_ARG_ENABLE(png, 
671 [  --disable-png           disable PNG support through libpng],
672         png=$enableval, png=yes, png=no)
675 if test "$png" = yes ; then
676     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
678     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
679         WM_CHECK_HEADER(png.h)
680         if test "x$ac_cv_header_png_h" = xyes; then
681             GFXLIBS="$GFXLIBS -lpng -lz" 
682             supported_gfx="$supported_gfx PNG"
683             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
684         fi
685     fi
689 dnl JPEG Support
690 dnl ============
691 jpeg=yes
692 ljpeg=""
693 AC_ARG_ENABLE(jpeg,
694 [  --disable-jpeg          disable JPEG support through libjpeg],
695         jpeg=$enableval, jpeg=yes, jpeg=no)
697 if test "$jpeg" = yes; then
698     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
700     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
702         ljpeg="-ljpeg"
704         WM_CHECK_HEADER(jpeglib.h)
705         if test "x$ac_cv_header_jpeglib_h" = xyes; then
706             GFXLIBS="$GFXLIBS -ljpeg"
707             supported_gfx="$supported_gfx JPEG"
708             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
709         fi
710     fi
714 dnl GIF Support
715 dnl ============
716 gif=yes
717 AC_ARG_ENABLE(gif,
718 [  --disable-gif           disable GIF support through libgif or libungif],
719         gif=$enableval, gif=yes, gif=no)
721 if test "$gif" = yes; then
722     my_libname=""
723     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
724     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
725         my_libname=-lungif
726     fi
728 dnl libungif is the same thing as libgif for all practical purposes.
730     if test "x$my_libname" = x; then
731         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
732         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
733             my_libname=-lgif
734         fi
735     fi
737     if test "$my_libname" != x; then
738         WM_CHECK_HEADER(gif_lib.h)
739         if test "x$ac_cv_header_gif_lib_h" = xyes; then
740             GFXLIBS="$GFXLIBS $my_libname"
741             supported_gfx="$supported_gfx GIF"
742             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
743         fi
744     fi
749 dnl TIFF Support
750 dnl ============
751 AC_ARG_ENABLE(tiff, 
752 [  --disable-tiff          disable use of TIFF images through libtiff],
753         tif=$enableval, tif=yes, tif=no)
756 # TIFF can optionally have JPEG and/or zlib support. Must find out
757 # when they are supported so that correct library flags are passed during
758 # detection and linkage
761 # By default use xpm icons if tiff is not found.
762 ICONEXT="xpm"
765 if test "$tif" = yes; then
766     my_libname=""
767     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
768     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
769         my_libname="-ltiff"
770     fi
772 dnl Retry with zlib
774     unset ac_cv_lib_tiff_TIFFGetVersion
775     if test "x$my_libname" = x; then
776         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
777         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
778             my_libname="-ltiff -lz"
779         fi
780     fi
782     if test "x$my_libname" = x; then
783         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
784         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
785             my_libname="-ltiff34"
786         fi
787     fi
790     if test "x$my_libname" != x; then
791         WM_CHECK_HEADER(tiffio.h)
792         if test "x$ac_cv_header_tiffio_h" = xyes; then
793             GFXLIBS="$my_libname $GFXLIBS"
794             ICONEXT="tiff"
795             supported_gfx="$supported_gfx TIFF"
796             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
797         fi
798     fi
801 LIBRARY_SEARCH_PATH="$lib_search_path"
802 HEADER_SEARCH_PATH="$inc_search_path"
804 AC_SUBST(LIBRARY_SEARCH_PATH)
805 AC_SUBST(HEADER_SEARCH_PATH)
808 AC_SUBST(GFXLIBS)
809 AC_SUBST(ICONEXT)
812 dnl ==============================================
813 dnl         End of Graphic Format Libraries
814 dnl ==============================================
818 dnl stdlib.h is checked here, because of conflict in jpeglib.h
819 AC_CHECK_HEADERS(stdlib.h)
821 # AC_PREFIX_PROGRAM(wmaker)
823 dnl Support for PIXMAPDIR option
824 dnl ============================
825 AC_ARG_WITH(pixmapdir,
826 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
828 if test "x$with_pixmapdir" != "x"; then
829         pixmapdir=$with_pixmapdir
830 else
831         pixmapdir=`eval echo ${datadir}/pixmaps`
834 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
836 pkgdatadir=`eval echo $datadir`
837 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
839 _sysconfdir=`eval echo $sysconfdir`
840 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
843 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
844 dnl ==============================================
846 AC_ARG_WITH(appspath,
847 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
849 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
850     appspath=$with_gnustepdir
853 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
854     wprefs_base_dir=${prefix}
855     wprefs_datadir="${datadir}/WPrefs"
856     wprefs_bindir="${bindir}"
857 else
858     gnustepdir=$appspath
860     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
861         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
862         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
863     fi
865     wprefs_base_dir=$gnustepdir/Applications
866     wprefs_datadir=$wprefs_base_dir/WPrefs.app
867     wprefs_bindir=$wprefs_base_dir/WPrefs.app
870 AC_SUBST(wprefs_datadir)
871 AC_SUBST(wprefs_bindir)
874 dnl Enable User Defined Menu thing
875 dnl ==================================
876 AC_ARG_ENABLE(usermenu,
877 [  --enable-usermenu       user defined menus for applications
879 if test "$enableval" = yes; then
880         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
886 dnl Nicolai:  Program tests for Documentation Section
887 dnl =================================================
888 dnl DOCTYPES=""
889 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
890 dnl if test "x$MAKEINFO" != "x" ; then
891 dnl       DOCTYPES="$DOCTYPES info_doc"
892 dnl fi
893 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
894 dnl if test "x$TEX" != "x" ; then
895 dnl       DOCTYPES="$DOCTYPES dvi_doc"
896 dnl fi
897 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
898 dnl if test "x$DVIPS" != "x" ; then
899 dnl       DOCTYPES="$DOCTYPES ps_doc"
900 dnl fi
901 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
902 dnl if test "x$PERL" != "x" ; then
903 dnl       DOCTYPES="$DOCTYPES html_doc"
904 dnl fi
905 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
906 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
907   
908 dnl AC_SUBST(DOCTYPES)
910 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
911         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
912         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
913         WINGs/Extras/Makefile WINGs/po/Makefile \
914         wmlib/Makefile wrlib/Makefile wrlib/tests/Makefile \
915         src/Makefile src/wconfig.h \
916         doc/Makefile doc/sk/Makefile \
917         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
918         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
919         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
920         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
921         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
922         WPrefs.app/po/Makefile \
923         contrib/Makefile contrib/WindowMaker.spec )
924 #       plugins/Makefile plugins/libwmfun/Makefile)
929 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
930 dnl ===================================================================
933 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
934 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
935 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
937 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
938 dnl parsed by m4
940 cat <<EOF >get-wraster-flags
941 #!/bin/sh
943 WCFLAGS="$inc_search_path"
944 WLFLAGS="$lib_search_path"
945 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
947 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
949 if test \$# -eq 0; then
950       echo "\${usage}" 1>&2
951       exit 1
954 while test \$# -gt 0; do
955   case \$1 in
956     --cflags)
957         echo \$WCFLAGS
958         ;;
959     --ldflags|--lflags)
960         echo \$WLFLAGS
961         ;;
962     --libs)
963         echo \$WLIBS
964         ;;
965     *)
966         echo "\${usage}" 1>&2
967         exit 1
968         ;;
969   esac
970   shift
971 done
976 cat <<EOF > wrlib/wrlib.pc
977 Name: wrlib
978 Description: Image manipulation and conversion library
979 Version: $VERSION
980 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
981 Cflags: $inc_search_path
984 cat <<EOF >get-wings-flags
985 #!/bin/sh
987 WCFLAGS="$inc_search_path"
988 WLFLAGS="$lib_search_path"
989 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
991 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
993 if test \$# -eq 0; then
994       echo "\${usage}" 1>&2
995       exit 1
998 while test \$# -gt 0; do
999   case \$1 in
1000     --cflags)
1001         echo \$WCFLAGS
1002         ;;
1003     --ldflags|--lflags)
1004         echo \$WLFLAGS
1005         ;;
1006     --libs)
1007         echo \$WLIBS
1008         ;;
1009     *)
1010         echo "\${usage}" 1>&2
1011         exit 1
1012         ;;
1013   esac
1014   shift
1015 done
1020 cat <<EOF > WINGs/WINGs.pc
1021 Name: WINGs
1022 Description: Small widget set with the NeXTStep(TM) look and feel
1023 Version: $VERSION
1024 Requires: wrlib
1025 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1026 Cflags: $inc_search_path
1029 cat <<EOF >get-wutil-flags
1030 #!/bin/sh
1032 WCFLAGS="-I`eval echo ${includedir}`"
1033 WLFLAGS="-L${_libdir}"
1034 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1036 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1038 if test \$# -eq 0; then
1039       echo "\${usage}" 1>&2
1040       exit 1
1043 while test \$# -gt 0; do
1044   case \$1 in
1045     --cflags)
1046         echo \$WCFLAGS
1047         ;;
1048     --ldflags|--lflags)
1049         echo \$WLFLAGS
1050         ;;
1051     --libs)
1052         echo \$WLIBS
1053         ;;
1054     *)
1055         echo "\${usage}" 1>&2
1056         exit 1
1057         ;;
1058   esac
1059   shift
1060 done
1065 cat <<EOF > wmlib/wmlib.pc
1066 Name: wmlib
1067 Description: FIXME: What do I write here?
1068 Version: $VERSION
1069 Requires: wrlib
1070 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1071 Cflags: $inc_search_path
1074 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1075 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1076 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1078 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1080 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1084 dnl Spit out the configuration
1085 dnl ==========================
1087 supported_gfx="$supported_gfx builtin-PPM"
1089 if test "x$MOFILES" = "x"; then
1090         mof=None
1091 else
1092         mof=`echo $MOFILES`
1095 if test "x$MOFILES" = "x"; then
1096         languages=None
1097 else
1098         languages=`echo $MOFILES | sed 's/.mo//g'`
1101 echo
1102 echo "Window Maker was configured as follows:"
1103 echo
1104 echo "Installation path prefix            : $prefix"
1105 echo "Installation path for binaries      : $_bindir"
1106 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1107 echo "Supported graphic format libraries  : $supported_gfx"
1108 echo "Use assembly routines for wrlib     : $asm_support"
1109 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1110 echo "Antialiased text support in WINGs   : $xft"
1111 echo "Xinerama extension support          : $xinerama"
1112 dnl echo "Virtual desktop support             : $vdesktop_on"
1113 echo "Translated message files to install : $mof"
1114 dnl echo "Supported languages beside English  : $languages"
1115 if test "x$MOFILES" != "x"; then
1116         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1118 echo
1120 dnl WM_PRINT_REDCRAP_BUG_STATUS
1122 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1123 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1124 echo
1125 echo "JPEG support will not be included because the JPEG library is"
1126 echo "not installed correctly or was not found. Background images"
1127 echo "from themes will not display as they usually are JPEG files."
1128 echo
1129 echo "To fix, download and install the jpeg library and/or make sure you"
1130 echo "installed all jpeg related packages, SPECIALLY the development packages"
1131 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1132 echo
1133 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1137 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1138 dnl ================================================
1139 dnl Local Variables:
1140 dnl compile-command: "autoconf"
1141 dnl End: