- Removed support for legacy systems: OpenLook, KDE-2.x, Gnome-1.x
[wmaker-crm.git] / configure.ac
blob5a6d625a1e8eeb47372d2f28f902e416ab524a60
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.85.0)
20 AC_PROG_LIBTOOL
22 dnl # by Marcelo Magallon <mmagallo@efis.ucr.ac.cr>
23 dnl # Turn around -rpath problem with libtool 1.0c
24 dnl # This define should be improbable enough to not conflict with anything
25 dnl case ${host} in
26 dnl   *-pc-linux-gnu)
27 dnl     AC_MSG_RESULT([Fixing libtool for -rpath problems.])
28 dnl     sed < libtool > libtool-2 \
29 dnl     's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
30 dnl     mv libtool-2 libtool
31 dnl     chmod 755 libtool
32 dnl   ;;
33 dnl esac
36 AM_CONFIG_HEADER(src/config.h)
39 dnl Checks for host/os name
40 dnl =======================
41 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
44 dnl Checks for programs.
45 dnl ===================
46 AC_ISC_POSIX
47 AC_PROG_CC
48 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
49 #AC_PROG_RANLIB
50 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
51 AC_PROG_LN_S
52 AC_PROG_GCC_TRADITIONAL
55 dnl the prefix
56 dnl ==========
57 dnl
58 dnl move this earlier in the script... anyone know why this is handled
59 dnl in such a bizarre way?
61 test "x$prefix" = xNONE && prefix=$ac_default_prefix
62 dnl Let make expand exec_prefix.
63 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
66 _bindir=`eval echo $bindir`
67 _bindir=`eval echo $_bindir`
69 _libdir=`eval echo $libdir`
70 _libdir=`eval echo $_libdir`
71 lib_search_path="-L$_libdir"
73 inc_search_path=`eval echo $includedir`
74 inc_search_path="-I`eval echo $inc_search_path`"
77 dnl
78 dnl Check for RedHat bugs
79 dnl =====================
81 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
84 dnl
85 dnl Specify paths to look for libraries and headers
86 dnl ===============================================
87 AC_ARG_WITH(libs-from,
88 [  --with-libs-from        pass compiler flags to look for libraries],
89         [lib_search_path="$withval $lib_search_path"])
91 AC_ARG_WITH(incs-from,
92 [  --with-incs-from        pass compiler flags to look for header files],
93         [inc_search_path="$withval $inc_search_path"])
97 dnl Checks for library functions.
98 dnl ============================
99 dnl not used anywhere
100 dnl AC_FUNC_MEMCMP  
101 AC_FUNC_VPRINTF
102 AC_FUNC_ALLOCA
103 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
104                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
105                vasprintf)
107 dnl ripped from samba
108 dnl 
109 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
110 AC_TRY_RUN([
111 #include <sys/types.h>
112 #include <stdarg.h>
113 void foo(const char *format, ...) { 
114        va_list ap;
115        int len;
116        char buf[5];
118        va_start(ap, format);
119        len = vsnprintf(0, 0, format, ap);
120        va_end(ap);
121        if (len != 5) exit(1);
123        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
125        exit(0);
127 main() { foo("hello"); }
129 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
130 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
131     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
134 dnl Loading of dynamic libraries at runtime
135 dnl =======================================
136 DLLIBS=""
138 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
139         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
140                          DLLIBS="" ))
142 if test "x$HAVEDL" = xyes; then
143     AC_CHECK_HEADERS(dlfcn.h)
148 dnl Check CPP
149 dnl =========
150 if test "x$CPP_PATH" = x; then
151     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
152                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
156 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
157 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
158 dnl standard locations
160 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
161     if test "$GCC" = "yes"; then
162         CPP_PATH="gcc -E -x c"
163     else 
164         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
165             CPP_PATH="$CPP_PATH -B"
166         else
167             echo "cpp, the C preprocessor was not found in your system."
168             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
169             exit
170         fi
171     fi
173 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
177 dnl Checks for header files.
178 dnl =======================
179 AC_HEADER_SYS_WAIT
180 AC_HEADER_TIME
181 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
182                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
183                  strings.h)
187 dnl Checks for typedefs, structures, and compiler characteristics.
188 dnl ==============================================================
189 AC_DECL_SYS_SIGLIST
190 AC_C_CONST
191 #AC_TYPE_SIZE_T
192 #AC_TYPE_PID_T
193 AC_TYPE_SIGNAL
197 dnl Compiler/architecture specific optimizations
198 dnl ============================================
201 dnl GCC/as with MMX support
202 dnl -----------------------
204 # until we fix it, leave it disabled
205 asm_support=no
206 mmx_support=no
207 if test "$ac_cv_prog_gcc" = yes; then
208    
209     # gcc-3.4 complains about some of our stuff without this
210     NOSTRICTALIASING="-fno-strict-aliasing"
212     x86=0
213     changequote(,)dnl
214     case "$host_cpu" in
215        i[3456]86) x86=1
216        ;;
217     esac
218     changequote([,])dnl
220     if test "$host_os" != "linux" -a "$host_os" != "linux-gnu" ; then
221        x86=0
222     fi
224     if test $x86 = 1; then
225        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
226        asm_support=yes
228        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
229                       ac_cv_c_inline_mmx,
230                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
231                       ac_cv_c_inline_mmx=yes,
232                       ac_cv_c_inline_mmx=no)])
234        if test "x$ac_cv_c_inline_mmx" = xyes; then
235           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
236           mmx_support=yes
237        fi
238     fi
240 AC_SUBST(NOSTRICTALIASING)
243 dnl pkg-config
244 dnl ----------
245 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
246 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
249 dnl gettext
250 dnl -------
253 dnl AM_GNU_GETTEXT
257 INTLIBS=""
259 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
260         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
261                          INTLIBS="" ))
263 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
265 if test "$XGETTEXT" != ""; then 
266     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
267         echo "xgettext isn't GNU version"
268         XGETTEXT=""
269     fi
272 if test "$LINGUAS" != ""; then
273     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
274         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
275         PO=""
276 #       if test "$LINGUAS" = ""; then
277 #           ling=` (cd src/po; /bin/ls *.po) `
278 #           for l in $ling; do
279 #               lcode=`basename $l .po`
280 #               LINGUAS="$LINGUAS $lcode"
281 #           done
282 #       fi
283         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
284     else
285         LINGUAS=""
286         PO=""
287         echo "xgettext and libintl.a don't both exist; will not build i18n support"
288     fi
289 else
290         INTLIBS=""
291         MOFILES=""
292         WPMOFILES=""
293         PO=""
297 dnl The Tower of Babel
298 dnl ==================
300 dnl List of supported locales
301 dnl -------------------------
302 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.Big5"
303 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW.Big5"
304 supported_wings_locales="bg ca cs de fr sk"
306 for lang in $LINGUAS; do
307         ok=0
308         for l in $supported_locales; do
309                 if test "$l" = "$lang"; then
310                         ok=1
311                         break
312                 fi
313         done
314         if test "$ok" = 1; then
315                 MOFILES="$MOFILES $lang.mo"
316         else
317                 echo "Locale $lang is not supported."
318         fi
319         ok=0
320         for l in $supported_wprefs_locales; do
321                 if test "$l" = "$lang"; then
322                         ok=1
323                         break
324                 fi
325         done
326         if test "$ok" = 1; then
327                 WPMOFILES="$WPMOFILES $lang.mo"
328         fi
329         ok=0
330         for l in $supported_wings_locales; do
331                 if test "$l" = "$lang"; then
332                         ok=1
333                         break
334                 fi
335         done
336         if test "$ok" = 1; then
337                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
338         fi
339 done
342 dnl Kanji Characters support
343 dnl ========================
345 case $host_os in
346         freebsd*)
347                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
348         *)
349         ;;
350 esac
354 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
355 dnl ===========================================
356 AC_ARG_WITH(nlsdir, 
357         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
360 if test "x$NLSDIR" = "x"; then
361         if test "x$with_nlsdir" != "x"; then
362                 NLSDIR=$with_nlsdir
363         else
364                 NLSDIR='$(prefix)/lib/locale'
365         fi
370 AC_SUBST(DLLIBS)
371 AC_SUBST(INTLIBS)
372 AC_SUBST(NLSDIR)
373 AC_SUBST(MOFILES)
374 AC_SUBST(WPMOFILES)
375 AC_SUBST(WINGSMOFILES)
376 AC_SUBST(supported_locales)
380 dnl Support for various hint things
381 dnl ===============================
383 vdesktop_on="no"
385 AC_ARG_ENABLE(vdesktop,
386   [  --enable-vdesktop       enable virtual desktop],
387   [if test x$enableval = xyes; then
388     AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
389     vdesktop_on=yes
390   fi])
394 dnl Disable some stuff that are duplicated in kde
395 dnl ---------------------------------------------
396 AC_ARG_ENABLE(lite,
397   [  --enable-lite           disable some stuff (dont use it) ],
398   [if test x$enableval = xyes; then
399         LITE=yes
400         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
401         AC_SUBST(LITE)
402   fi])
407 dnl Networking stuff
410 NETLIBS=""
412 AC_CHECK_FUNC(connect,,
413         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
415 AC_CHECK_FUNC(gethostbyname,,
416         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
418 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
419      for lib in resolv socket inet bsd; do
420         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
421                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
422      done)
424 AC_SUBST(NETLIBS)
427 dnl ===========================================
428 dnl             Stuff that uses X
429 dnl ===========================================
431 AC_PATH_XTRA
433 if test $no_x; then
434     AC_MSG_ERROR([The path for the X11 files not found!
435 Make sure you have X and it's headers and libraries (the -devel packages
436 in Linux) installed.])
439 X_LIBRARY_PATH=$x_libraries
441 XCFLAGS="$X_CFLAGS"
443 XLFLAGS="$X_LIBS"
445 XLIBS="-lX11 $X_EXTRA_LIBS"
448 lib_search_path="$lib_search_path $XLFLAGS"
449 inc_search_path="$inc_search_path $XCFLAGS"
452 AC_SUBST(X_LIBRARY_PATH)
456 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
457 dnl by MANOME Tomonori 
458 dnl ===========================================
459 use_locale=yes
460 AC_ARG_ENABLE(locale, 
461 [  --disable-locale        disable use of X locale support],
462                 use_locale=no)
464 if test "$use_locale" = yes; then
465         AC_CHECK_LIB(X11, _Xsetlocale,
466                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
467                 $XLFLAGS $XLIBS)
471 dnl Check whether XInternAtoms() exist
472 dnl ==================================
473 AC_CHECK_LIB(X11, XInternAtoms, 
474              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
475              $XLFLAGS $XLIBS)
477 dnl Check whether XConvertCase() exist
478 dnl ==================================
479 AC_CHECK_LIB(X11, XConvertCase, 
480              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
481              $XLFLAGS $XLIBS)
484 dnl XKB keyboard language status
485 dnl ============================
486 AC_ARG_ENABLE(modelock,
487 [  --enable-modelock       XKB keyboard language status support],
488                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
492 dnl Shape support
493 dnl =============
494 shape=yes
495 AC_ARG_ENABLE(shape, 
496 [  --disable-shape         disable shaped window extension support],
497                 shape=$enableval, shape=yes)
499 added_xext=no
501 if test "$shape" = yes; then
502         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
503                 added_xext=yes
504                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
505                 shape=no, $XLFLAGS $XLIBS)
509 dnl Xft antialiased font support
510 dnl ============================
512 xft=yes
513 XFTLIBS=""
515 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
516         XFTCONFIG="$PKGCONFIG xft"
517         pkgconfig_xft=yes
518 else
519         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
522 AC_MSG_CHECKING([for the Xft2 library])
524 if test "x$XFTCONFIG" != x; then
525         XFTLIBS=`$XFTCONFIG --libs`
526         XFTFLAGS=`$XFTCONFIG --cflags`
527         AC_MSG_RESULT([found])
528 else
529         AC_MSG_RESULT([not found])
530         echo
531         echo "ERROR!!! libXft2 is not installed or could not be found."
532         echo "         Xft2 is a requirement for building Window Maker."
533         echo "         Please install it (along with fontconfig) before continuing."
534         echo
535         exit 1
538 minXFT="2.1.2"
539 goodxft="no"
542 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
544 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
546 if test "$goodxft" = no; then
547         echo
548         echo "ERROR!!! libXft on this system is an old version."
549         echo "         Please consider upgrading to at least version ${minXFT}."
550         echo
551         exit 1
554 AC_SUBST(XFTFLAGS)
555 AC_SUBST(XFTLIBS)
558 dnl XINERAMA support
559 dnl ================
560 xinerama=no
561 AC_ARG_ENABLE(xinerama,
562 [  --enable-xinerama       enable Xinerama extension support],
563                 xinerama=$enableval, xinerama=no)
565 if test "$xinerama" = yes; then
566         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
567                 [XLIBS="-lXinerama $XLIBS"
568                 xfxine=yes],
569                 xfxine=no, $XLFLAGS $XLIBS)
571         AC_CHECK_LIB(Xext, XineramaGetInfo,
572                 [sunxine=yes
573                 ], sunxine=no, $XLFLAGS $XLIBS)
575         if test "$xfxine" = yes; then
576                 xine=1
577         fi
579         if test "$sunxine" = yes; then
580             xine=1
581             AC_DEFINE(SOLARIS_XINERAMA, 1, 
582                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
583         fi
585         if test "$xine" = 1; then
586             AC_DEFINE(XINERAMA, 1, 
587                 [define if you want support for the XINERAMA extension (set by configure)])
588         fi
593 dnl MIT-SHM support
594 dnl ===============
595 shm=yes
596 AC_ARG_ENABLE(shm,
597 [  --disable-shm           disable usage of MIT-SHM extension],
598                 shm=$enableval, shm=yes)
600 if test "$shm" = yes; then
601         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
603         if test "$ok" = yes; then
604         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
605         fi
607         if test "$ok" = yes; then
608                 if test "$added_xext" = no; then
609                         XLIBS="-lXext $XLIBS"
610                 fi
611                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
612         fi
616 dnl R6 Style Session Management Support
617 dnl ===================================
621 #AC_DEFINE(R6SM)
622 #AC_SUBST(XSMPLIBS)
626 dnl ==============================================
627 dnl         Graphic Format Libraries
628 dnl ==============================================
634 dnl XPM Support
635 dnl ===========
636 xpm=yes
637 AC_ARG_ENABLE(xpm, 
638 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
639         xpm=$enableval, xpm=yes)
641 if test "$xpm" = yes; then
642     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
644     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
645         WM_CHECK_HEADER(X11/xpm.h)
646         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
647                 GFXLIBS="$GFXLIBS -lXpm"
648                 supported_gfx="XPM"
649                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
650         else
651                 supported_gfx="builtin-XPM"
652         fi
653     fi
656 # for wmlib
657 AC_SUBST(XCFLAGS)
658 # for test
659 AC_SUBST(XLFLAGS)
660 AC_SUBST(XLIBS)
662 AC_SUBST(X_EXTRA_LIBS)
664 dnl ===============================================
665 dnl             End of stuff that uses X
666 dnl ===============================================
670 dnl PNG Support
671 dnl ===========
672 png=yes
673 AC_ARG_ENABLE(png, 
674 [  --disable-png           disable PNG support through libpng],
675         png=$enableval, png=yes, png=no)
678 if test "$png" = yes ; then
679     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
681     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
682         WM_CHECK_HEADER(png.h)
683         if test "x$ac_cv_header_png_h" = xyes; then
684             GFXLIBS="$GFXLIBS -lpng -lz" 
685             supported_gfx="$supported_gfx PNG"
686             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
687         fi
688     fi
692 dnl JPEG Support
693 dnl ============
694 jpeg=yes
695 ljpeg=""
696 AC_ARG_ENABLE(jpeg,
697 [  --disable-jpeg          disable JPEG support through libjpeg],
698         jpeg=$enableval, jpeg=yes, jpeg=no)
700 if test "$jpeg" = yes; then
701     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
703     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
705         ljpeg="-ljpeg"
707         WM_CHECK_HEADER(jpeglib.h)
708         if test "x$ac_cv_header_jpeglib_h" = xyes; then
709             GFXLIBS="$GFXLIBS -ljpeg"
710             supported_gfx="$supported_gfx JPEG"
711             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
712         fi
713     fi
717 dnl GIF Support
718 dnl ============
719 gif=yes
720 AC_ARG_ENABLE(gif,
721 [  --disable-gif           disable GIF support through libgif or libungif],
722         gif=$enableval, gif=yes, gif=no)
724 if test "$gif" = yes; then
725     my_libname=""
726     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
727     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
728         my_libname=-lungif
729     fi
731 dnl libungif is the same thing as libgif for all practical purposes.
733     if test "x$my_libname" = x; then
734         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
735         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
736             my_libname=-lgif
737         fi
738     fi
740     if test "$my_libname" != x; then
741         WM_CHECK_HEADER(gif_lib.h)
742         if test "x$ac_cv_header_gif_lib_h" = xyes; then
743             GFXLIBS="$GFXLIBS $my_libname"
744             supported_gfx="$supported_gfx GIF"
745             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
746         fi
747     fi
752 dnl TIFF Support
753 dnl ============
754 AC_ARG_ENABLE(tiff, 
755 [  --disable-tiff          disable use of TIFF images through libtiff],
756         tif=$enableval, tif=yes, tif=no)
759 # TIFF can optionally have JPEG and/or zlib support. Must find out
760 # when they are supported so that correct library flags are passed during
761 # detection and linkage
764 # By default use xpm icons if tiff is not found.
765 ICONEXT="xpm"
768 if test "$tif" = yes; then
769     my_libname=""
770     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
771     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
772         my_libname="-ltiff"
773     fi
775 dnl Retry with zlib
777     unset ac_cv_lib_tiff_TIFFGetVersion
778     if test "x$my_libname" = x; then
779         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
780         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
781             my_libname="-ltiff -lz"
782         fi
783     fi
785     if test "x$my_libname" = x; then
786         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
787         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
788             my_libname="-ltiff34"
789         fi
790     fi
793     if test "x$my_libname" != x; then
794         WM_CHECK_HEADER(tiffio.h)
795         if test "x$ac_cv_header_tiffio_h" = xyes; then
796             GFXLIBS="$my_libname $GFXLIBS"
797             ICONEXT="tiff"
798             supported_gfx="$supported_gfx TIFF"
799             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
800         fi
801     fi
804 LIBRARY_SEARCH_PATH="$lib_search_path"
805 HEADER_SEARCH_PATH="$inc_search_path"
807 AC_SUBST(LIBRARY_SEARCH_PATH)
808 AC_SUBST(HEADER_SEARCH_PATH)
811 AC_SUBST(GFXLIBS)
812 AC_SUBST(ICONEXT)
815 dnl ==============================================
816 dnl         End of Graphic Format Libraries
817 dnl ==============================================
821 dnl stdlib.h is checked here, because of conflict in jpeglib.h
822 AC_CHECK_HEADERS(stdlib.h)
824 # AC_PREFIX_PROGRAM(wmaker)
826 dnl Support for PIXMAPDIR option
827 dnl ============================
828 AC_ARG_WITH(pixmapdir,
829 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
831 if test "x$with_pixmapdir" != "x"; then
832         pixmapdir=$with_pixmapdir
833 else
834         pixmapdir=`eval echo ${datadir}/pixmaps`
837 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
839 pkgdatadir=`eval echo $datadir`
840 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
842 _sysconfdir=`eval echo $sysconfdir`
843 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
846 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
847 dnl ==============================================
849 appspath=""
851 AC_ARG_WITH(appspath,
852 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
854 if test "x$appspath" = "x"; then
855     gnustepdir='${prefix}/GNUstep'
857     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
858         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
859         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
860     fi
862     with_appspath=$gnustepdir/Applications
865 wprefsdir=$with_appspath/WPrefs.app
867 AC_SUBST(wprefsdir)
870 dnl Enable User Defined Menu thing
871 dnl ==================================
872 AC_ARG_ENABLE(usermenu,
873 [  --enable-usermenu       user defined menus for applications
875 if test "$enableval" = yes; then
876         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
882 dnl Nicolai:  Program tests for Documentation Section
883 dnl =================================================
884 dnl DOCTYPES=""
885 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
886 dnl if test "x$MAKEINFO" != "x" ; then
887 dnl       DOCTYPES="$DOCTYPES info_doc"
888 dnl fi
889 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
890 dnl if test "x$TEX" != "x" ; then
891 dnl       DOCTYPES="$DOCTYPES dvi_doc"
892 dnl fi
893 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
894 dnl if test "x$DVIPS" != "x" ; then
895 dnl       DOCTYPES="$DOCTYPES ps_doc"
896 dnl fi
897 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
898 dnl if test "x$PERL" != "x" ; then
899 dnl       DOCTYPES="$DOCTYPES html_doc"
900 dnl fi
901 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
902 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
903   
904 dnl AC_SUBST(DOCTYPES)
906 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
907         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
908         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
909         WINGs/Extras/Makefile WINGs/po/Makefile \
910         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
911         doc/Makefile doc/sk/Makefile \
912         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
913         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
914         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
915         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
916         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
917         WPrefs.app/po/Makefile \
918         contrib/Makefile contrib/WindowMaker.spec )
919 #       plugins/Makefile plugins/libwmfun/Makefile)
924 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
925 dnl ===================================================================
928 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
929 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
930 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
932 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
933 dnl parsed by m4
935 cat <<EOF >get-wraster-flags
936 #!/bin/sh
938 WCFLAGS="$inc_search_path"
939 WLFLAGS="$lib_search_path"
940 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
942 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
944 if test \$# -eq 0; then
945       echo "\${usage}" 1>&2
946       exit 1
949 while test \$# -gt 0; do
950   case \$1 in
951     --cflags)
952         echo \$WCFLAGS
953         ;;
954     --ldflags|--lflags)
955         echo \$WLFLAGS
956         ;;
957     --libs)
958         echo \$WLIBS
959         ;;
960     *)
961         echo "\${usage}" 1>&2
962         exit 1
963         ;;
964   esac
965   shift
966 done
971 cat <<EOF > wrlib/wrlib.pc
972 Name: wrlib
973 Description: Image manipulation and conversion library
974 Version: $VERSION
975 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
976 Cflags: $inc_search_path
979 cat <<EOF >get-wings-flags
980 #!/bin/sh
982 WCFLAGS="$inc_search_path"
983 WLFLAGS="$lib_search_path"
984 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
986 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
988 if test \$# -eq 0; then
989       echo "\${usage}" 1>&2
990       exit 1
993 while test \$# -gt 0; do
994   case \$1 in
995     --cflags)
996         echo \$WCFLAGS
997         ;;
998     --ldflags|--lflags)
999         echo \$WLFLAGS
1000         ;;
1001     --libs)
1002         echo \$WLIBS
1003         ;;
1004     *)
1005         echo "\${usage}" 1>&2
1006         exit 1
1007         ;;
1008   esac
1009   shift
1010 done
1015 cat <<EOF > WINGs/WINGs.pc
1016 Name: WINGs
1017 Description: Small widget set with the NeXTStep(TM) look and feel
1018 Version: $VERSION
1019 Requires: wrlib
1020 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1021 Cflags: $inc_search_path
1024 cat <<EOF >get-wutil-flags
1025 #!/bin/sh
1027 WCFLAGS="-I`eval echo ${includedir}`"
1028 WLFLAGS="-L${_libdir}"
1029 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1031 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1033 if test \$# -eq 0; then
1034       echo "\${usage}" 1>&2
1035       exit 1
1038 while test \$# -gt 0; do
1039   case \$1 in
1040     --cflags)
1041         echo \$WCFLAGS
1042         ;;
1043     --ldflags|--lflags)
1044         echo \$WLFLAGS
1045         ;;
1046     --libs)
1047         echo \$WLIBS
1048         ;;
1049     *)
1050         echo "\${usage}" 1>&2
1051         exit 1
1052         ;;
1053   esac
1054   shift
1055 done
1060 cat <<EOF > wmlib/wmlib.pc
1061 Name: wmlib
1062 Description: FIXME: What do I write here?
1063 Version: $VERSION
1064 Requires: wrlib
1065 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1066 Cflags: $inc_search_path
1069 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1070 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1071 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1073 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1075 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1079 dnl Spit out the configuration
1080 dnl ==========================
1082 supported_gfx="$supported_gfx builtin-PPM"
1084 if test "x$MOFILES" = "x"; then
1085         mof=None
1086 else
1087         mof=`echo $MOFILES`
1090 if test "x$MOFILES" = "x"; then
1091         languages=None
1092 else
1093         languages=`echo $MOFILES | sed 's/.mo//g'`
1096 echo
1097 echo "Window Maker was configured as follows:"
1098 echo
1099 echo "Installation path prefix            : $prefix"
1100 echo "Installation path for binaries      : $_bindir"
1101 echo "Installation path for WPrefs.app    : $with_appspath" | sed -e 's|\${prefix}|'"$prefix|"
1102 echo "Supported graphic format libraries  : $supported_gfx"
1103 echo "Use assembly routines for wrlib     : $asm_support"
1104 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1105 echo "Antialiased text support in WINGs   : $xft"
1106 echo "Xinerama extension support          : $xinerama"
1107 echo "Virtual desktop support             : $vdesktop_on"
1108 echo "Translated message files to install : $mof"
1109 dnl echo "Supported languages beside English  : $languages"
1110 if test "x$MOFILES" != "x"; then
1111         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1113 echo
1115 dnl WM_PRINT_REDCRAP_BUG_STATUS
1117 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1118 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1119 echo
1120 echo "JPEG support will not be included because the JPEG library is"
1121 echo "not installed correctly or was not found. Background images"
1122 echo "from themes will not display as they usually are JPEG files."
1123 echo
1124 echo "To fix, download and install the jpeg library and/or make sure you"
1125 echo "installed all jpeg related packages, SPECIALLY the development packages"
1126 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1127 echo
1128 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1132 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1133 dnl ================================================
1134 dnl Local Variables:
1135 dnl compile-command: "autoconf"
1136 dnl End: