support for compiling with xft2
[wmaker-crm.git] / configure.ac
blob4a6bff572cb68235577b893eb0982e67a9b8b758
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.81.0)
20 AC_PROG_LIBTOOL
22 # by Marcelo Magallon <mmagallo@efis.ucr.ac.cr>
23 # Turn around -rpath problem with libtool 1.0c
24 # This define should be improbable enough to not conflict with anything
25 case ${host} in
26   *-pc-linux-gnu)
27     AC_MSG_RESULT([Fixing libtool for -rpath problems.])
28     sed < libtool > libtool-2 \
29     's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
30     mv libtool-2 libtool
31     chmod 755 libtool
32   ;;
33 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 setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf vasprintf)
106 dnl ripped from samba
107 dnl 
108 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
109 AC_TRY_RUN([
110 #include <sys/types.h>
111 #include <stdarg.h>
112 void foo(const char *format, ...) { 
113        va_list ap;
114        int len;
115        char buf[5];
117        va_start(ap, format);
118        len = vsnprintf(0, 0, format, ap);
119        va_end(ap);
120        if (len != 5) exit(1);
122        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
124        exit(0);
126 main() { foo("hello"); }
128 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
129 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
130     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
133 dnl Loading of dynamic libraries at runtime
134 dnl =======================================
135 DLLIBS=""
137 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
138         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
139                          DLLIBS="" ))
141 if test "x$HAVEDL" = xyes; then
142     AC_CHECK_HEADERS(dlfcn.h)
147 dnl Check CPP
148 dnl =========
149 if test "x$CPP_PATH" = x; then
150     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
151                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
155 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
156 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
157 dnl standard locations
159 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
160     if test "$GCC" = "yes"; then
161         CPP_PATH="gcc -E -x c"
162     else 
163         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
164             CPP_PATH="$CPP_PATH -B"
165         else
166             echo "cpp, the C preprocessor was not found in your system."
167             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
168             exit
169         fi
170     fi
172 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
176 dnl Checks for header files.
177 dnl =======================
178 AC_HEADER_SYS_WAIT
179 AC_HEADER_TIME
180 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h libintl.h sys/select.h poll.h malloc.h ctype.h string.h strings.h)
184 dnl Checks for typedefs, structures, and compiler characteristics.
185 dnl ==============================================================
186 AC_DECL_SYS_SIGLIST
187 AC_C_CONST
188 #AC_TYPE_SIZE_T
189 #AC_TYPE_PID_T
190 AC_TYPE_SIGNAL
194 dnl Compiler/architecture specific optimizations
195 dnl ============================================
198 dnl GCC/as with MMX support
199 dnl -----------------------
201 # until we fix it, leave it disabled
202 asm_support=no
203 mmx_support=no
204 if test "$ac_cv_prog_gcc" = yes; then
205     x86=0
206     changequote(,)dnl
207     case "$host_cpu" in
208        i[3456]86) x86=1
209        ;;
210     esac
211     changequote([,])dnl
213     if test "$host_os" != "linux" -a "$host_os" != "linux-gnu" ; then
214        x86=0
215     fi
217     if test $x86 = 1; then
218        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
219        asm_support=yes
221        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
222                       ac_cv_c_inline_mmx,
223                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
224                       ac_cv_c_inline_mmx=yes,
225                       ac_cv_c_inline_mmx=no)])
227        if test "x$ac_cv_c_inline_mmx" = xyes; then
228           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
229           mmx_support=yes
230        fi
231     fi
235 dnl pkg-config
236 dnl ----------
237 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
238 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
241 dnl gettext
242 dnl -------
245 dnl AM_GNU_GETTEXT
249 INTLIBS=""
251 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
252         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
253                          INTLIBS="" ))
255 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
257 if test "$XGETTEXT" != ""; then 
258     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
259         echo "xgettext isn't GNU version"
260         XGETTEXT=""
261     fi
264 if test "$LINGUAS" != ""; then
265     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
266         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
267         PO=""
268 #       if test "$LINGUAS" = ""; then
269 #           ling=` (cd src/po; /bin/ls *.po) `
270 #           for l in $ling; do
271 #               lcode=`basename $l .po`
272 #               LINGUAS="$LINGUAS $lcode"
273 #           done
274 #       fi
275         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
276     else
277         LINGUAS=""
278         PO=""
279         echo "xgettext and libintl.a don't both exist; will not build i18n support"
280     fi
281 else
282         INTLIBS=""
283         MOFILES=""
284         WPMOFILES=""
285         PO=""
289 dnl The Tower of Babel
290 dnl ==================
292 dnl List of supported locales
293 dnl -------------------------
294 supported_locales="be bg 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"
295 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW.Big5"
296 supported_wings_locales="bg ca cs de fr sk"
298 for lang in $LINGUAS; do
299         ok=0
300         for l in $supported_locales; do
301                 if test "$l" = "$lang"; then
302                         ok=1
303                         break
304                 fi
305         done
306         if test "$ok" = 1; then
307                 MOFILES="$MOFILES $lang.mo"
308         else
309                 echo "Locale $lang is not supported."
310         fi
311         ok=0
312         for l in $supported_wprefs_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 WPMOFILES="$WPMOFILES $lang.mo"
320         fi
321         ok=0
322         for l in $supported_wings_locales; do
323                 if test "$l" = "$lang"; then
324                         ok=1
325                         break
326                 fi
327         done
328         if test "$ok" = 1; then
329                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
330         fi
331 done
334 dnl Kanji Characters support
335 dnl ========================
337 case $host_os in
338         freebsd*)
339                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
340         *)
341         ;;
342 esac
346 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
347 dnl ===========================================
348 AC_ARG_WITH(nlsdir, 
349         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
352 if test "x$NLSDIR" = "x"; then
353         if test "x$with_nlsdir" != "x"; then
354                 NLSDIR=$with_nlsdir
355         else
356                 NLSDIR='$(prefix)/lib/locale'
357         fi
362 AC_SUBST(DLLIBS)
363 AC_SUBST(INTLIBS)
364 AC_SUBST(NLSDIR)
365 AC_SUBST(MOFILES)
366 AC_SUBST(WPMOFILES)
367 AC_SUBST(WINGSMOFILES)
368 AC_SUBST(supported_locales)
372 dnl Support for various hint things
373 dnl ===============================
376 AC_ARG_ENABLE(gnome,
377   [  --enable-gnome          enable stuff needed for GNOME ],
378   [if test x$enableval = xyes; then
379     AC_DEFINE(GNOME_STUFF, 1, [define if you want GNOME stuff support])
380     gnome_on=yes
381   fi])
384 AC_ARG_ENABLE(kde,
385   [  --enable-kde            enable support for KDE window manager (kwm) hints ],
386   [if test x$enableval = xyes; then
387     AC_DEFINE(KWM_HINTS, 1, [define if you want KDE hint support])
388     kde_on=yes
389   fi])
392 AC_ARG_ENABLE(openlook,
393   [  --enable-openlook       enable support for OPEN LOOK(tm) (olwm) hints ],
394   [if test x$enableval = xyes; then
395     AC_DEFINE(OLWM_HINTS, 1, [define if you want OPEN LOOK(tm) hint support])
396     openlook_on=yes
397   fi])
401 dnl Disable some stuff that are duplicated in kde
402 dnl ---------------------------------------------
403 AC_ARG_ENABLE(lite,
404   [  --enable-lite           disable some stuff (dont use it) ],
405   [if test x$enableval = xyes; then
406         LITE=yes
407         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
408         AC_SUBST(LITE)
409   fi])
414 dnl Networking stuff
417 NETLIBS=""
419 AC_CHECK_FUNC(connect,,
420         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
422 AC_CHECK_FUNC(gethostbyname,,
423         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
425 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
426      for lib in resolv socket inet bsd; do
427         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
428                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
429      done)
431 AC_SUBST(NETLIBS)
434 dnl ===========================================
435 dnl             Stuff that uses X
436 dnl ===========================================
438 AC_PATH_XTRA
440 if test $no_x; then
441     AC_MSG_ERROR([The path for the X11 files not found!
442 Make sure you have X and it's headers and libraries (the -devel packages
443 in Linux) installed.])
446 X_LIBRARY_PATH=$x_libraries
448 XCFLAGS="$X_CFLAGS"
450 XLFLAGS="$X_LIBS"
452 XLIBS="-lX11 $X_EXTRA_LIBS"
455 lib_search_path="$lib_search_path $XLFLAGS"
456 inc_search_path="$inc_search_path $XCFLAGS"
459 AC_SUBST(X_LIBRARY_PATH)
463 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
464 dnl by MANOME Tomonori 
465 dnl ===========================================
466 use_locale=yes
467 AC_ARG_ENABLE(locale, 
468 [  --disable-locale        disable use of X locale support],
469                 use_locale=no)
471 if test "$use_locale" = yes; then
472         AC_CHECK_LIB(X11, _Xsetlocale,
473                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
474                 $XLFLAGS $XLIBS)
478 dnl Check whether XInternAtoms() exist
479 dnl ==================================
480 AC_CHECK_LIB(X11, XInternAtoms, 
481              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
482              $XLFLAGS $XLIBS)
484 dnl Check whether XConvertCase() exist
485 dnl ==================================
486 AC_CHECK_LIB(X11, XConvertCase, 
487              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
488              $XLFLAGS $XLIBS)
491 dnl XKB keyboard language status
492 dnl ============================
493 AC_ARG_ENABLE(modelock,
494 [  --enable-modelock       XKB keyboard language status support],
495                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
499 dnl Shape support
500 dnl =============
501 shape=yes
502 AC_ARG_ENABLE(shape, 
503 [  --disable-shape         disable shaped window extension support],
504                 shape=$enableval, shape=yes)
506 added_xext=no
508 if test "$shape" = yes; then
509         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
510                 added_xext=yes
511                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
512                 shape=no, $XLFLAGS $XLIBS)
516 dnl Xft antialiased font support
517 dnl ============================
518 xft=yes
519 XFTLIBS=""
520 AC_ARG_ENABLE(xft, 
521 [  --disable-xft           disable Xft antialiased font support],
522                 xft=$enableval, xft=yes)
524 if test "$xft" = yes; then
525         if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
526                 XFTCONFIG="$PKGCONFIG xft"
527                 pkgconfig_xft=yes
528         else
529                 AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
530         fi
531         if test "x$XFTCONFIG" != x; then
532                 XFTLIBS=`$XFTCONFIG --libs`
533                 XFTFLAGS=`$XFTCONFIG --cflags`
534                 AC_MSG_CHECKING([for the Xft2 library])
535                 AC_MSG_RESULT([found])
536                 AC_DEFINE(XFT2, 1, [define if you have Xft version 2 (set by configure)])
537         else
538                 AC_CHECK_LIB(Xft, XftDrawCreate, [XFTLIBS="-lXft" XFTFLAGS=""],
539                         xft=no, $XLFLAGS $XLIBS)
540         fi
541         if test "$xft" = yes; then
542                 AC_SUBST(XFTFLAGS)
543                 AC_SUBST(XFTLIBS)
544                 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
545         fi
548 dnl XINERAMA support
549 dnl ================
550 xinerama=no
551 AC_ARG_ENABLE(xinerama,
552 [  --enable-xinerama       enable Xinerama extension support],
553                 xinerama=$enableval, xinerama=no)
555 if test "$xinerama" = yes; then
556         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
557                 [XLIBS="-lXinerama $XLIBS"
558                 xfxine=yes],
559                 xfxine=no, $XLFLAGS $XLIBS)
561         AC_CHECK_LIB(Xext, XineramaGetInfo,
562                 [sunxine=yes
563                 ], sunxine=no, $XLFLAGS $XLIBS)
565         if test "$xfxine" = yes; then
566                 xine=1
567         fi
569         if test "$sunxine" = yes; then
570             xine=1
571             AC_DEFINE(SOLARIS_XINERAMA, 1, 
572                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
573         fi
575         if test "$xine" = 1; then
576             AC_DEFINE(XINERAMA, 1, 
577                 [define if you want support for the XINERAMA extension (set by configure)])
578         fi
583 dnl MIT-SHM support
584 dnl ===============
585 shm=yes
586 AC_ARG_ENABLE(shm,
587 [  --disable-shm           disable usage of MIT-SHM extension],
588                 shm=$enableval, shm=yes)
590 if test "$shm" = yes; then
591         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
593         if test "$ok" = yes; then
594         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
595         fi
597         if test "$ok" = yes; then
598                 if test "$added_xext" = no; then
599                         XLIBS="-lXext $XLIBS"
600                 fi
601                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
602         fi
606 dnl R6 Style Session Management Support
607 dnl ===================================
611 #AC_DEFINE(R6SM)
612 #AC_SUBST(XSMPLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
624 dnl XPM Support
625 dnl ===========
626 xpm=yes
627 AC_ARG_ENABLE(xpm, 
628 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
629         xpm=$enableval, xpm=yes)
631 if test "$xpm" = yes; then
632     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
634     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
635         WM_CHECK_HEADER(X11/xpm.h)
636         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
637                 GFXLIBS="$GFXLIBS -lXpm"
638                 supported_gfx="XPM"
639                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
640         else
641                 supported_gfx="builtin-XPM"
642         fi
643     fi
646 # for wmlib
647 AC_SUBST(XCFLAGS)
648 # for test
649 AC_SUBST(XLFLAGS)
650 AC_SUBST(XLIBS)
652 AC_SUBST(X_EXTRA_LIBS)
654 dnl ===============================================
655 dnl             End of stuff that uses X
656 dnl ===============================================
660 dnl PNG Support
661 dnl ===========
662 png=yes
663 AC_ARG_ENABLE(png, 
664 [  --disable-png           disable PNG support through libpng],
665         png=$enableval, png=yes, png=no)
668 if test "$png" = yes ; then
669     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
671     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
672         WM_CHECK_HEADER(png.h)
673         if test "x$ac_cv_header_png_h" = xyes; then
674             GFXLIBS="$GFXLIBS -lpng -lz" 
675             supported_gfx="$supported_gfx PNG"
676             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
677         fi
678     fi
682 dnl JPEG Support
683 dnl ============
684 jpeg=yes
685 ljpeg=""
686 AC_ARG_ENABLE(jpeg,
687 [  --disable-jpeg          disable JPEG support through libjpeg],
688         jpeg=$enableval, jpeg=yes, jpeg=no)
690 if test "$jpeg" = yes; then
691     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
693     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
695         ljpeg="-ljpeg"
697         WM_CHECK_HEADER(jpeglib.h)
698         if test "x$ac_cv_header_jpeglib_h" = xyes; then
699             GFXLIBS="$GFXLIBS -ljpeg"
700             supported_gfx="$supported_gfx JPEG"
701             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
702         fi
703     fi
707 dnl GIF Support
708 dnl ============
709 gif=yes
710 AC_ARG_ENABLE(gif,
711 [  --disable-gif           disable GIF support through libgif or libungif],
712         gif=$enableval, gif=yes, gif=no)
714 if test "$gif" = yes; then
715     my_libname=""
716     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
717     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
718         my_libname=-lungif
719     fi
721 dnl libungif is the same thing as libgif for all practical purposes.
723     if test "x$my_libname" = x; then
724         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
725         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
726             my_libname=-lgif
727         fi
728     fi
730     if test "$my_libname" != x; then
731         WM_CHECK_HEADER(gif_lib.h)
732         if test "x$ac_cv_header_gif_lib_h" = xyes; then
733             GFXLIBS="$GFXLIBS $my_libname"
734             supported_gfx="$supported_gfx GIF"
735             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
736         fi
737     fi
742 dnl TIFF Support
743 dnl ============
744 AC_ARG_ENABLE(tiff, 
745 [  --disable-tiff          disable use of TIFF images through libtiff],
746         tif=$enableval, tif=yes, tif=no)
749 # TIFF can optionally have JPEG and/or zlib support. Must find out
750 # when they are supported so that correct library flags are passed during
751 # detection and linkage
754 # By default use xpm icons if tiff is not found.
755 ICONEXT="xpm"
758 if test "$tif" = yes; then
759     my_libname=""
760     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
761     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
762         my_libname="-ltiff"
763     fi
765 dnl Retry with zlib
767     unset ac_cv_lib_tiff_TIFFGetVersion
768     if test "x$my_libname" = x; then
769         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
770         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
771             my_libname="-ltiff -lz"
772         fi
773     fi
775     if test "x$my_libname" = x; then
776         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
777         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
778             my_libname="-ltiff34"
779         fi
780     fi
783     if test "x$my_libname" != x; then
784         WM_CHECK_HEADER(tiffio.h)
785         if test "x$ac_cv_header_tiffio_h" = xyes; then
786             GFXLIBS="$my_libname $GFXLIBS"
787             ICONEXT="tiff"
788             supported_gfx="$supported_gfx TIFF"
789             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
790         fi
791     fi
794 LIBRARY_SEARCH_PATH="$lib_search_path"
795 HEADER_SEARCH_PATH="$inc_search_path"
797 AC_SUBST(LIBRARY_SEARCH_PATH)
798 AC_SUBST(HEADER_SEARCH_PATH)
801 AC_SUBST(GFXLIBS)
802 AC_SUBST(ICONEXT)
805 dnl ==============================================
806 dnl         End of Graphic Format Libraries
807 dnl ==============================================
811 dnl stdlib.h is checked here, because of conflict in jpeglib.h
812 AC_CHECK_HEADERS(stdlib.h)
814 # AC_PREFIX_PROGRAM(wmaker)
816 dnl Support for PIXMAPDIR option
817 dnl ============================
818 AC_ARG_WITH(pixmapdir,
819 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
821 if test "x$with_pixmapdir" != "x"; then
822         pixmapdir=$with_pixmapdir
823 else
824         pixmapdir=`eval echo ${datadir}/pixmaps`
827 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
829 pkgdatadir=`eval echo $datadir`
830 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
832 _sysconfdir=`eval echo $sysconfdir`
833 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
836 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
837 dnl ==============================================
839 appspath=""
841 AC_ARG_WITH(appspath,
842 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
844 if test "x$appspath" = "x"; then
845     gnustepdir='$(prefix)/GNUstep'
847     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
848         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
849         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
850     fi
852     with_appspath=$gnustepdir/Apps
855 wprefsdir=$with_appspath/WPrefs.app
857 AC_SUBST(wprefsdir)
860 dnl Enable User Defined Menu thing
861 dnl ==================================
862 AC_ARG_ENABLE(usermenu,
863 [  --enable-usermenu       user defined menus for applications
865 if test "$enableval" = yes; then
866         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
872 dnl Nicolai:  Program tests for Documentation Section
873 dnl =================================================
874 dnl DOCTYPES=""
875 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
876 dnl if test "x$MAKEINFO" != "x" ; then
877 dnl       DOCTYPES="$DOCTYPES info_doc"
878 dnl fi
879 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
880 dnl if test "x$TEX" != "x" ; then
881 dnl       DOCTYPES="$DOCTYPES dvi_doc"
882 dnl fi
883 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
884 dnl if test "x$DVIPS" != "x" ; then
885 dnl       DOCTYPES="$DOCTYPES ps_doc"
886 dnl fi
887 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
888 dnl if test "x$PERL" != "x" ; then
889 dnl       DOCTYPES="$DOCTYPES html_doc"
890 dnl fi
891 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
892 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
893   
894 dnl AC_SUBST(DOCTYPES)
896 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
897         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
898         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
899         WINGs/Extras/Makefile WINGs/po/Makefile \
900         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
901         doc/Makefile doc/sk/Makefile \
902         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
903         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
904         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
905         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
906         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
907         WPrefs.app/po/Makefile \
908         contrib/Makefile contrib/WindowMaker.spec )
909 #       plugins/Makefile plugins/libwmfun/Makefile)
914 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
915 dnl ===================================================================
918 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
919 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
920 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
922 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
923 dnl parsed by m4
925 cat <<EOF >get-wraster-flags
926 #!/bin/sh
928 WCFLAGS="$inc_search_path"
929 WLFLAGS="$lib_search_path"
930 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
932 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
934 if test \$# -eq 0; then
935       echo "\${usage}" 1>&2
936       exit 1
939 while test \$# -gt 0; do
940   case \$1 in
941     --cflags)
942         echo \$WCFLAGS
943         ;;
944     --ldflags|--lflags)
945         echo \$WLFLAGS
946         ;;
947     --libs)
948         echo \$WLIBS
949         ;;
950     *)
951         echo "\${usage}" 1>&2
952         exit 1
953         ;;
954   esac
955   shift
956 done
961 cat <<EOF > wrlib/wrlib.pc
962 Name: wrlib
963 Description: Image manipulation and conversion library
964 Version: $VERSION
965 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
966 Cflags: $inc_search_path
969 cat <<EOF >get-wings-flags
970 #!/bin/sh
972 WCFLAGS="$inc_search_path"
973 WLFLAGS="$lib_search_path"
974 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
976 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
978 if test \$# -eq 0; then
979       echo "\${usage}" 1>&2
980       exit 1
983 while test \$# -gt 0; do
984   case \$1 in
985     --cflags)
986         echo \$WCFLAGS
987         ;;
988     --ldflags|--lflags)
989         echo \$WLFLAGS
990         ;;
991     --libs)
992         echo \$WLIBS
993         ;;
994     *)
995         echo "\${usage}" 1>&2
996         exit 1
997         ;;
998   esac
999   shift
1000 done
1005 cat <<EOF > WINGs/WINGs.pc
1006 Name: WINGs
1007 Description: Small widget set with the NeXTStep(TM) look and feel
1008 Version: $VERSION
1009 Requires: wrlib
1010 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1011 Cflags: $inc_search_path
1014 cat <<EOF >get-wutil-flags
1015 #!/bin/sh
1017 WCFLAGS="-I`eval echo ${includedir}`"
1018 WLFLAGS="-L${_libdir}"
1019 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1021 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1023 if test \$# -eq 0; then
1024       echo "\${usage}" 1>&2
1025       exit 1
1028 while test \$# -gt 0; do
1029   case \$1 in
1030     --cflags)
1031         echo \$WCFLAGS
1032         ;;
1033     --ldflags|--lflags)
1034         echo \$WLFLAGS
1035         ;;
1036     --libs)
1037         echo \$WLIBS
1038         ;;
1039     *)
1040         echo "\${usage}" 1>&2
1041         exit 1
1042         ;;
1043   esac
1044   shift
1045 done
1050 cat <<EOF > wmlib/wmlib.pc
1051 Name: wmlib
1052 Description: FIXME: What do I write here?
1053 Version: $VERSION
1054 Requires: wrlib
1055 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1056 Cflags: $inc_search_path
1059 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1060 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1061 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1063 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1065 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1069 dnl Spit out the configuration
1070 dnl ==========================
1072 supported_gfx="$supported_gfx builtin-PPM"
1074 if test "x$MOFILES" = "x"; then
1075         mof=none
1076 else
1077         mof=`echo $MOFILES`
1080 if test "x$MOFILES" = "x"; then
1081         languages=none
1082 else
1083         languages=`echo $MOFILES | sed 's/.mo//g'`
1087 echo
1088 echo "Window Maker was configured as follows:"
1089 echo
1090 echo "Installation path prefix            : $prefix"
1091 echo "Installation path for binaries      : $_bindir"
1092 echo "Installation path for WPrefs.app    : $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
1093 echo "Supported graphic format libraries  : $supported_gfx"
1094 echo "Antialiased font support for WINGs  : $xft"
1095 echo "Xinerama extension support          : $xinerama"
1096 echo "Use assembly routines for wrlib     : $asm_support"
1097 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1098 echo "Translated message files to install : $mof"
1099 dnl echo "Supported languages beside English  : $languages"
1100 if test "x$MOFILES" != "x"; then
1101         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1103 echo
1105 dnl WM_PRINT_REDCRAP_BUG_STATUS
1107 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1108 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1109 echo
1110 echo "JPEG support will not be included because the JPEG library is"
1111 echo "not installed correctly or was not found. Background images"
1112 echo "from themes will not display as they usually are JPEG files."
1113 echo
1114 echo "To fix, download and install the jpeg library and/or make sure you"
1115 echo "installed all jpeg related packages, SPECIALLY the development packages"
1116 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1117 echo
1118 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1122 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1123 dnl ================================================
1124 dnl Local Variables:
1125 dnl compile-command: "autoconf"
1126 dnl End: