Kill contribs
[wmaker-crm.git] / configure.ac
blob7d24c98b67626486c3f65373528cb4c85395795d
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)
17 AC_CONFIG_MACRO_DIR([m4])
18 AM_INIT_AUTOMAKE(WindowMaker, 0.94.0-crm)
19 AM_CONFIG_HEADER(src/config.h)
22 dnl Checks for host/os name
23 dnl =======================
24 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
27 dnl Checks for programs.
28 dnl ===================
29 AC_ISC_POSIX
30 AC_PROG_CC
31 AC_PROG_LN_S
32 AC_PROG_GCC_TRADITIONAL
33 AC_PROG_LIBTOOL
35 AX_CFLAGS_GCC_OPTION(-Wall)
36 AX_CFLAGS_GCC_OPTION(-Wextra)
38 dnl Platform-specific Makefile setup
39 dnl ================================
41 case "${host}" in
42         *-*-linux*|*-*-cygwin*)
43                 WM_OSDEP="linux"
44         ;;
45         *-*-freebsd*)
46                 WM_OSDEP="bsd"
47                 CFLAGS="$CFLAGS -DFREEBSD"
48         ;;
49         *-*-netbsd*)
50                 WM_OSDEP="bsd"
51                 CFLAGS="$CFLAGS -DNETBSD"
52         ;;
53         *-*-openbsd*)
54                 WM_OSDEP="bsd"
55         CFLAGS="$CFLAGS -DOPENBSD"
56         ;;
57         *-*-dragonfly*)
58                 WM_OSDEP="bsd"
59                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
60         ;;
61         *-apple-darwin*)
62                 WM_OSDEP="darwin"
63         ;;
64         *-*-solaris*)
65                 WM_OSDEP="stub"         # solaris.c when done
66         ;;
67         *)
68                 WM_OSDEP="stub"
69                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
70         ;;
71 esac
72 AC_SUBST(WM_OSDEP)
75 dnl the prefix
76 dnl ==========
77 dnl
78 dnl move this earlier in the script... anyone know why this is handled
79 dnl in such a bizarre way?
81 test "x$prefix" = xNONE && prefix=$ac_default_prefix
82 dnl Let make expand exec_prefix.
83 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
86 _bindir=`eval echo $bindir`
87 _bindir=`eval echo $_bindir`
89 _libdir=`eval echo $libdir`
90 _libdir=`eval echo $_libdir`
91 lib_search_path="-L$_libdir"
93 inc_search_path=`eval echo $includedir`
94 inc_search_path="-I`eval echo $inc_search_path`"
96 dnl
97 dnl Specify paths to look for libraries and headers
98 dnl ===============================================
99 AC_ARG_WITH(libs-from,
100 [  --with-libs-from        pass compiler flags to look for libraries],
101         [lib_search_path="$withval $lib_search_path"])
103 AC_ARG_WITH(incs-from,
104 [  --with-incs-from        pass compiler flags to look for header files],
105         [inc_search_path="$withval $inc_search_path"])
109 dnl Checks for library functions.
110 dnl ============================
111 dnl not used anywhere
112 dnl AC_FUNC_MEMCMP  
113 AC_FUNC_VPRINTF
114 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
115                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
116                vasprintf)
118 dnl ripped from samba
119 dnl 
120 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
121 AC_TRY_RUN([
122 #include <sys/types.h>
123 #include <stdarg.h>
124 void foo(const char *format, ...) { 
125        va_list ap;
126        int len;
127        char buf[5];
129        va_start(ap, format);
130        len = vsnprintf(0, 0, format, ap);
131        va_end(ap);
132        if (len != 5) exit(1);
134        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
136        exit(0);
138 main() { foo("hello"); }
140 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
141 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
142     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
145 dnl Check for inotify
146 dnl =================
147 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
149 dnl Check CPP
150 dnl =========
151 if test "x$CPP_PATH" = x; then
152     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
153                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
157 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
158 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
159 dnl standard locations
161 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
162     if test "$GCC" = "yes"; then
163         CPP_PATH="gcc -E -x c"
164     else 
165         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
166             CPP_PATH="$CPP_PATH -B"
167         else
168             echo "cpp, the C preprocessor was not found in your system."
169             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
170             exit
171         fi
172     fi
174 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
178 dnl Checks for header files.
179 dnl =======================
180 AC_HEADER_SYS_WAIT
181 AC_HEADER_TIME
182 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
183                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
184                  strings.h)
188 dnl Checks for typedefs, structures, and compiler characteristics.
189 dnl ==============================================================
190 AC_DECL_SYS_SIGLIST
191 AC_C_CONST
192 #AC_TYPE_SIZE_T
193 #AC_TYPE_PID_T
194 AC_TYPE_SIGNAL
198 dnl Compiler/architecture specific optimizations
199 dnl ============================================
202 dnl GCC/as with MMX support
203 dnl -----------------------
205 # until we fix it, leave it disabled
206 asm_support=no
207 mmx_support=no
209 check_for_mmx_support=yes
210 AC_ARG_ENABLE(mmx,
211    [  --disable-mmx          disable compilation of MMX inline assembly ],
212    [if test x$enableval != xyes; then
213     check_for_mmx_support=no
214     fi])
216 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
217 case $host_cpu in
218 *i?86*)
220     # gcc-3.3 or newer complains about some of our stuff without this
221     NOSTRICTALIASING="-fno-strict-aliasing"
223     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
224                    ac_cv_c_inline_asm,
225                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
226                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
227                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
228                    ac_cv_c_inline_asm=yes,
229                    ac_cv_c_inline_asm=no)])
231     if test "x$ac_cv_c_inline_asm" = xyes; then
232        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
233        asm_support=yes
235        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
236                       ac_cv_c_inline_mmx,
237                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
238                       ac_cv_c_inline_mmx=yes,
239                       ac_cv_c_inline_mmx=no)])
241        if test "x$ac_cv_c_inline_mmx" = xyes; then
242           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
243           mmx_support=yes
244        fi
245     fi
246     ;;
247 esac
249 AC_SUBST(NOSTRICTALIASING)
252 dnl pkg-config
253 dnl ----------
254 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
255 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
258 dnl gettext
259 dnl -------
262 dnl AM_GNU_GETTEXT
266 INTLIBS=""
268 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
269         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
270                          INTLIBS="" ))
272 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
274 if test "$XGETTEXT" != ""; then 
275     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
276         echo "xgettext isn't GNU version"
277         XGETTEXT=""
278     fi
281 if test "$LINGUAS" != ""; then
282     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
283         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
284         PO=""
285         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
286     else
287         LINGUAS=""
288         PO=""
289         echo "xgettext and libintl.a don't both exist; will not build i18n support"
290     fi
291 else
292         INTLIBS=""
293         MOFILES=""
294         WPMOFILES=""
295         UTILMOFILES=""
296         PO=""
300 dnl The Tower of Babel
301 dnl ==================
303 dnl List of supported locales
304 dnl -------------------------
305 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"
306 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
307 supported_wings_locales="bg ca cs de fr sk"
308 supported_util_locales="de"
310 for lang in $LINGUAS; do
311         ok=0
312         for l in $supported_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 MOFILES="$MOFILES $lang.mo"
320         else
321                 echo "Locale $lang is not supported."
322         fi
323         ok=0
324         for l in $supported_wprefs_locales; do
325                 if test "$l" = "$lang"; then
326                         ok=1
327                         break
328                 fi
329         done
330         if test "$ok" = 1; then
331                 WPMOFILES="$WPMOFILES $lang.mo"
332         fi
333         ok=0
334         for l in $supported_util_locales; do
335                 if test "$l" = "$lang"; then
336                         ok=1
337                         break
338                 fi
339         done
340         if test "$ok" = 1; then
341                 UTILMOFILES="$UTILMOFILES $lang.mo"
342         fi
343         ok=0
344         for l in $supported_wings_locales; do
345                 if test "$l" = "$lang"; then
346                         ok=1
347                         break
348                 fi
349         done
350         if test "$ok" = 1; then
351                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
352         fi
353 done
356 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
357 dnl ===========================================
358 AC_ARG_WITH(nlsdir, 
359         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
362 if test "x$NLSDIR" = "x"; then
363         if test "x$with_nlsdir" != "x"; then
364                 NLSDIR=$with_nlsdir
365         else
366                 NLSDIR='$(prefix)/lib/locale'
367         fi
372 AC_SUBST(INTLIBS)
373 AC_SUBST(NLSDIR)
374 AC_SUBST(MOFILES)
375 AC_SUBST(WPMOFILES)
376 AC_SUBST(UTILMOFILES)
377 AC_SUBST(WINGSMOFILES)
378 AC_SUBST(supported_locales)
382 dnl Support for various hint things
383 dnl ===============================
386 dnl Beautify compilation messages
387 dnl ---------------------------------------------
388 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
389                                [Streamline compilation messages (default off)]),
390   [
391         QUIET='@echo "     CC" $@;'
392         QUIET_AR='@echo "     AR" $@;'
393         LIBTOOL_ARG="--silent"
394         MAKEFLAGS="-s"
395         AC_SUBST(QUIET)
396         AC_SUBST(QUIET_AR)
397         AC_SUBST(LIBTOOL_ARG)
398         AC_SUBST(MAKEFLAGS)
402 dnl ===========================================
403 dnl             Stuff that uses X
404 dnl ===========================================
406 AC_PATH_XTRA
408 if test $no_x; then
409     AC_MSG_ERROR([The path for the X11 files not found!
410 Make sure you have X and it's headers and libraries (the -devel packages
411 in Linux) installed.])
414 X_LIBRARY_PATH=$x_libraries
416 XCFLAGS="$X_CFLAGS"
418 XLFLAGS="$X_LIBS"
420 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
423 lib_search_path="$lib_search_path $XLFLAGS"
424 inc_search_path="$inc_search_path $XCFLAGS"
427 AC_SUBST(X_LIBRARY_PATH)
431 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
432 dnl by MANOME Tomonori 
433 dnl ===========================================
434 use_locale=yes
435 AC_ARG_ENABLE(locale, 
436 [  --disable-locale        disable use of X locale support],
437                 use_locale=no)
439 if test "$use_locale" = yes; then
440         AC_CHECK_LIB(X11, _Xsetlocale,
441                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
442                 $XLFLAGS $XLIBS)
446 dnl Check whether XInternAtoms() exist
447 dnl ==================================
448 AC_CHECK_LIB(X11, XInternAtoms, 
449              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
450              $XLFLAGS $XLIBS)
452 dnl Check whether XConvertCase() exist
453 dnl ==================================
454 AC_CHECK_LIB(X11, XConvertCase, 
455              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
456              $XLFLAGS $XLIBS)
459 dnl XKB keyboard language status
460 dnl ============================
461 AC_ARG_ENABLE(modelock,
462 [  --enable-modelock       XKB keyboard language status support],
463                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
467 dnl Shape support
468 dnl =============
469 shape=yes
470 AC_ARG_ENABLE(shape, 
471 [  --disable-shape         disable shaped window extension support],
472                 shape=$enableval, shape=yes)
474 added_xext=no
476 if test "$shape" = yes; then
477         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
478                 added_xext=yes
479                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
480                 shape=no, $XLFLAGS $XLIBS)
484 dnl Xft2 antialiased font support
485 dnl =============================
487 xft=yes
488 XFTLIBS=""
490 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
491         XFTCONFIG="$PKGCONFIG xft"
492         pkgconfig_xft=yes
493 else
494         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
497 AC_MSG_CHECKING([for the Xft2 library])
499 if test "x$XFTCONFIG" != x; then
500         XFTLIBS=`$XFTCONFIG --libs`
501         XFTFLAGS=`$XFTCONFIG --cflags`
502         AC_MSG_RESULT([found])
503 else
504         AC_MSG_RESULT([not found])
505         echo
506         echo "ERROR!!! libXft2 is not installed or could not be found."
507         echo "         Xft2 is a requirement for building Window Maker."
508         echo "         Please install it (along with fontconfig) before continuing."
509         echo
510         exit 1
513 minXFT="2.1.0"
514 goodxft="no"
517 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
519 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
521 if test "$goodxft" = no; then
522         echo
523         echo "ERROR!!! libXft on this system is an old version."
524         echo "         Please consider upgrading to at least version ${minXFT}."
525         echo
526         exit 1
529 AC_SUBST(XFTFLAGS)
530 AC_SUBST(XFTLIBS)
533 dnl XINERAMA support
534 dnl ================
535 xinerama=no
536 AC_ARG_ENABLE(xinerama,
537 [  --enable-xinerama       enable Xinerama extension support],
538                 xinerama=$enableval, xinerama=no)
540 if test "$xinerama" = yes; then
541         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
542                 [XLIBS="-lXinerama $XLIBS"
543                 xfxine=yes],
544                 xfxine=no, $XLFLAGS $XLIBS)
546         AC_CHECK_LIB(Xext, XineramaGetInfo,
547                 [sunxine=yes
548                 ], sunxine=no, $XLFLAGS $XLIBS)
550         if test "$xfxine" = yes; then
551                 xine=1
552         fi
554         if test "$sunxine" = yes; then
555             xine=1
556             AC_DEFINE(SOLARIS_XINERAMA, 1, 
557                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
558         fi
560         if test "$xine" = 1; then
561             AC_DEFINE(XINERAMA, 1, 
562                 [define if you want support for the XINERAMA extension (set by configure)])
563         fi
568 dnl MIT-SHM support
569 dnl ===============
570 shm=yes
571 AC_ARG_ENABLE(shm,
572 [  --disable-shm           disable usage of MIT-SHM extension],
573                 shm=$enableval, shm=yes)
575 if test "$shm" = yes; then
576         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
578         if test "$ok" = yes; then
579         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
580         fi
582         if test "$ok" = yes; then
583                 if test "$added_xext" = no; then
584                         XLIBS="-lXext $XLIBS"
585                 fi
586                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
587         fi
591 dnl R6 Style Session Management Support
592 dnl ===================================
596 #AC_DEFINE(R6SM)
597 #AC_SUBST(XSMPLIBS)
601 dnl ==============================================
602 dnl         Graphic Format Libraries
603 dnl ==============================================
609 dnl XPM Support
610 dnl ===========
611 xpm=yes
612 AC_ARG_ENABLE(xpm, 
613 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
614         xpm=$enableval, xpm=yes)
616 if test "$xpm" = yes; then
617     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
619     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
620         WM_CHECK_HEADER(X11/xpm.h)
621         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
622                 GFXLIBS="$GFXLIBS -lXpm"
623                 supported_gfx="XPM"
624                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
625         else
626                 supported_gfx="builtin-XPM"
627         fi
628     fi
631 AC_SUBST(XLFLAGS)
632 AC_SUBST(XLIBS)
633 AC_SUBST(X_EXTRA_LIBS)
635 dnl ===============================================
636 dnl             End of stuff that uses X
637 dnl ===============================================
641 dnl PNG Support
642 dnl ===========
643 png=yes
644 AC_ARG_ENABLE(png, 
645 [  --disable-png           disable PNG support through libpng],
646         png=$enableval, png=yes, png=no)
649 if test "$png" = yes ; then
650     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
652     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
653         WM_CHECK_HEADER(png.h)
654         if test "x$ac_cv_header_png_h" = xyes; then
655             GFXLIBS="$GFXLIBS -lpng -lz" 
656             supported_gfx="$supported_gfx PNG"
657             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
658         fi
659     fi
663 dnl JPEG Support
664 dnl ============
665 jpeg=yes
666 ljpeg=""
667 AC_ARG_ENABLE(jpeg,
668 [  --disable-jpeg          disable JPEG support through libjpeg],
669         jpeg=$enableval, jpeg=yes, jpeg=no)
671 if test "$jpeg" = yes; then
672     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
674     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
676         ljpeg="-ljpeg"
678         WM_CHECK_HEADER(jpeglib.h)
679         if test "x$ac_cv_header_jpeglib_h" = xyes; then
680             GFXLIBS="$GFXLIBS -ljpeg"
681             supported_gfx="$supported_gfx JPEG"
682             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
683         fi
684     fi
688 dnl GIF Support
689 dnl ============
690 gif=yes
691 AC_ARG_ENABLE(gif,
692 [  --disable-gif           disable GIF support through libgif or libungif],
693         gif=$enableval, gif=yes, gif=no)
695 if test "$gif" = yes; then
696     my_libname=""
697     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
698     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
699         my_libname=-lungif
700     fi
702 dnl libungif is the same thing as libgif for all practical purposes.
704     if test "x$my_libname" = x; then
705         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
706         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
707             my_libname=-lgif
708         fi
709     fi
711     if test "$my_libname" != x; then
712         WM_CHECK_HEADER(gif_lib.h)
713         if test "x$ac_cv_header_gif_lib_h" = xyes; then
714             GFXLIBS="$GFXLIBS $my_libname"
715             supported_gfx="$supported_gfx GIF"
716             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
717         fi
718     fi
723 dnl TIFF Support
724 dnl ============
725 AC_ARG_ENABLE(tiff, 
726 [  --disable-tiff          disable use of TIFF images through libtiff],
727         tif=$enableval, tif=yes, tif=no)
730 # TIFF can optionally have JPEG and/or zlib support. Must find out
731 # when they are supported so that correct library flags are passed during
732 # detection and linkage
735 # By default use xpm icons if tiff is not found.
736 ICONEXT="xpm"
739 if test "$tif" = yes; then
740     my_libname=""
741     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
742     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
743         my_libname="-ltiff"
744     fi
746 dnl Retry with zlib
748     unset ac_cv_lib_tiff_TIFFGetVersion
749     if test "x$my_libname" = x; then
750         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
751         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
752             my_libname="-ltiff -lz"
753         fi
754     fi
756     if test "x$my_libname" = x; then
757         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
758         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
759             my_libname="-ltiff34"
760         fi
761     fi
764     if test "x$my_libname" != x; then
765         WM_CHECK_HEADER(tiffio.h)
766         if test "x$ac_cv_header_tiffio_h" = xyes; then
767             GFXLIBS="$my_libname $GFXLIBS"
768             ICONEXT="tiff"
769             supported_gfx="$supported_gfx TIFF"
770             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
771         fi
772     fi
775 LIBRARY_SEARCH_PATH="$lib_search_path"
776 HEADER_SEARCH_PATH="$inc_search_path"
778 AC_SUBST(LIBRARY_SEARCH_PATH)
779 AC_SUBST(HEADER_SEARCH_PATH)
782 AC_SUBST(GFXLIBS)
783 AC_SUBST(ICONEXT)
786 dnl ==============================================
787 dnl         End of Graphic Format Libraries
788 dnl ==============================================
792 dnl stdlib.h is checked here, because of conflict in jpeglib.h
793 AC_CHECK_HEADERS(stdlib.h)
795 # AC_PREFIX_PROGRAM(wmaker)
797 dnl Support for PIXMAPDIR option
798 dnl ============================
799 AC_ARG_WITH(pixmapdir,
800 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
802 if test "x$with_pixmapdir" != "x"; then
803         pixmapdir=$with_pixmapdir
804 else
805         pixmapdir=`eval echo ${datadir}/pixmaps`
808 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
810 pkgdatadir=`eval echo $datadir`
811 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
813 _sysconfdir=`eval echo $sysconfdir`
814 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
817 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
818 dnl ==============================================
820 AC_ARG_WITH(appspath,
821 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
823 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
824     appspath=$with_gnustepdir
827 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
828     wprefs_base_dir=${prefix}
829     wprefs_datadir="${datadir}/WPrefs"
830     wprefs_bindir="${bindir}"
831 else
832     gnustepdir=$appspath
834     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
835         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
836         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
837     fi
839     wprefs_base_dir=$gnustepdir/Applications
840     wprefs_datadir=$wprefs_base_dir/WPrefs.app
841     wprefs_bindir=$wprefs_base_dir/WPrefs.app
844 AC_SUBST(wprefs_datadir)
845 AC_SUBST(wprefs_bindir)
848 dnl Enable User Defined Menu thing
849 dnl ==================================
850 AC_ARG_ENABLE(usermenu,
851 [  --enable-usermenu       user defined menus for applications
853 if test "$enableval" = yes; then
854         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
859 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
860         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
861         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
862         WINGs/Extras/Makefile WINGs/po/Makefile \
863         wrlib/Makefile wrlib/tests/Makefile \
864         src/Makefile src/wconfig.h \
865         doc/Makefile doc/sk/Makefile \
866         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
867         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
868         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
869         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
870         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
871         WPrefs.app/po/Makefile )
876 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
877 dnl ===================================================================
880 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
881 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
882 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
884 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
885 dnl parsed by m4
887 cat <<EOF >get-wraster-flags
888 #!/bin/sh
890 WCFLAGS="$inc_search_path"
891 WLFLAGS="$lib_search_path"
892 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
894 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
896 if test \$# -eq 0; then
897       echo "\${usage}" 1>&2
898       exit 1
901 while test \$# -gt 0; do
902   case \$1 in
903     --cflags)
904         echo \$WCFLAGS
905         ;;
906     --ldflags|--lflags)
907         echo \$WLFLAGS
908         ;;
909     --libs)
910         echo \$WLIBS
911         ;;
912     *)
913         echo "\${usage}" 1>&2
914         exit 1
915         ;;
916   esac
917   shift
918 done
923 cat <<EOF > wrlib/wrlib.pc
924 Name: wrlib
925 Description: Image manipulation and conversion library
926 Version: $VERSION
927 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
928 Cflags: $inc_search_path
931 cat <<EOF >get-wings-flags
932 #!/bin/sh
934 WCFLAGS="$inc_search_path"
935 WLFLAGS="$lib_search_path"
936 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
938 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
940 if test \$# -eq 0; then
941       echo "\${usage}" 1>&2
942       exit 1
945 while test \$# -gt 0; do
946   case \$1 in
947     --cflags)
948         echo \$WCFLAGS
949         ;;
950     --ldflags|--lflags)
951         echo \$WLFLAGS
952         ;;
953     --libs)
954         echo \$WLIBS
955         ;;
956     *)
957         echo "\${usage}" 1>&2
958         exit 1
959         ;;
960   esac
961   shift
962 done
967 cat <<EOF > WINGs/WINGs.pc
968 Name: WINGs
969 Description: Small widget set with the NeXTStep(TM) look and feel
970 Version: $VERSION
971 Requires: wrlib
972 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
973 Cflags: $inc_search_path
976 cat <<EOF >get-wutil-flags
977 #!/bin/sh
979 WCFLAGS="-I`eval echo ${includedir}`"
980 WLFLAGS="-L${_libdir}"
981 WLIBS="-lWUtil $INTLIBS"
983 usage="Usage: get-wutil-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 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1013 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1014 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1016 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1018 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1022 dnl Spit out the configuration
1023 dnl ==========================
1025 supported_gfx="$supported_gfx builtin-PPM"
1027 if test "x$MOFILES" = "x"; then
1028         mof=None
1029 else
1030         mof=`echo $MOFILES`
1033 if test "x$MOFILES" = "x"; then
1034         languages=None
1035 else
1036         languages=`echo $MOFILES | sed 's/.mo//g'`
1039 echo
1040 echo "Window Maker was configured as follows:"
1041 echo
1042 echo "Installation path prefix            : $prefix"
1043 echo "Installation path for binaries      : $_bindir"
1044 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1045 echo "Supported graphic format libraries  : $supported_gfx"
1046 echo "Use assembly routines for wrlib     : $asm_support"
1047 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1048 echo "Antialiased text support in WINGs   : $xft"
1049 echo "Xinerama extension support          : $xinerama"
1050 echo "Translated message files to install : $mof"
1051 dnl echo "Supported languages beside English  : $languages"
1052 if test "x$MOFILES" != "x"; then
1053         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1055 echo
1057 dnl WM_PRINT_REDCRAP_BUG_STATUS
1059 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1060 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1061 echo
1062 echo "JPEG support will not be included because the JPEG library is"
1063 echo "not installed correctly or was not found. Background images"
1064 echo "from themes will not display as they usually are JPEG files."
1065 echo
1066 echo "To fix, download and install the jpeg library and/or make sure you"
1067 echo "installed all jpeg related packages, SPECIALLY the development packages"
1068 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1069 echo
1070 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1074 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1075 dnl ================================================
1076 dnl Local Variables:
1077 dnl compile-command: "autoconf"
1078 dnl End: