- rewrote the font conversion routines to avoid the need to allocate memory
[wmaker-crm.git] / configure.ac
blobeabd927f35936af72ceb35cea937f4e4367b56fc
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.90.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 \
104                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
105                vasprintf mbsnrtowcs mbsrtowcs mbrtowc mbrlen wcsnrtombs \
106                wcsrtombs wcstombs)
108 dnl ripped from samba
109 dnl 
110 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
111 AC_TRY_RUN([
112 #include <sys/types.h>
113 #include <stdarg.h>
114 void foo(const char *format, ...) { 
115        va_list ap;
116        int len;
117        char buf[5];
119        va_start(ap, format);
120        len = vsnprintf(0, 0, format, ap);
121        va_end(ap);
122        if (len != 5) exit(1);
124        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
126        exit(0);
128 main() { foo("hello"); }
130 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
131 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
132     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
135 dnl Loading of dynamic libraries at runtime
136 dnl =======================================
137 DLLIBS=""
139 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"], 
140         AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
141                          DLLIBS="" ))
143 if test "x$HAVEDL" = xyes; then
144     AC_CHECK_HEADERS(dlfcn.h)
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 wchar.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
208 if test "$ac_cv_prog_gcc" = yes; then
209     x86=0
210     changequote(,)dnl
211     case "$host_cpu" in
212        i[3456]86) x86=1
213        ;;
214     esac
215     changequote([,])dnl
217     if test "$host_os" != "linux" -a "$host_os" != "linux-gnu" ; then
218        x86=0
219     fi
221     if test $x86 = 1; then
222        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
223        asm_support=yes
225        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
226                       ac_cv_c_inline_mmx,
227                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
228                       ac_cv_c_inline_mmx=yes,
229                       ac_cv_c_inline_mmx=no)])
231        if test "x$ac_cv_c_inline_mmx" = xyes; then
232           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
233           mmx_support=yes
234        fi
235     fi
239 dnl pkg-config
240 dnl ----------
241 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
242 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
245 dnl gettext
246 dnl -------
249 dnl AM_GNU_GETTEXT
253 INTLIBS=""
255 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
256         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
257                          INTLIBS="" ))
259 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
261 if test "$XGETTEXT" != ""; then 
262     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
263         echo "xgettext isn't GNU version"
264         XGETTEXT=""
265     fi
268 if test "$LINGUAS" != ""; then
269     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
270         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
271         PO=""
272 #       if test "$LINGUAS" = ""; then
273 #           ling=` (cd src/po; /bin/ls *.po) `
274 #           for l in $ling; do
275 #               lcode=`basename $l .po`
276 #               LINGUAS="$LINGUAS $lcode"
277 #           done
278 #       fi
279         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
280     else
281         LINGUAS=""
282         PO=""
283         echo "xgettext and libintl.a don't both exist; will not build i18n support"
284     fi
285 else
286         INTLIBS=""
287         MOFILES=""
288         WPMOFILES=""
289         PO=""
293 dnl The Tower of Babel
294 dnl ==================
296 dnl List of supported locales
297 dnl -------------------------
298 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"
299 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW.Big5"
300 supported_wings_locales="bg ca cs de fr sk"
302 for lang in $LINGUAS; do
303         ok=0
304         for l in $supported_locales; do
305                 if test "$l" = "$lang"; then
306                         ok=1
307                         break
308                 fi
309         done
310         if test "$ok" = 1; then
311                 MOFILES="$MOFILES $lang.mo"
312         else
313                 echo "Locale $lang is not supported."
314         fi
315         ok=0
316         for l in $supported_wprefs_locales; do
317                 if test "$l" = "$lang"; then
318                         ok=1
319                         break
320                 fi
321         done
322         if test "$ok" = 1; then
323                 WPMOFILES="$WPMOFILES $lang.mo"
324         fi
325         ok=0
326         for l in $supported_wings_locales; do
327                 if test "$l" = "$lang"; then
328                         ok=1
329                         break
330                 fi
331         done
332         if test "$ok" = 1; then
333                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
334         fi
335 done
338 dnl Kanji Characters support
339 dnl ========================
341 case $host_os in
342         freebsd*)
343                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
344         *)
345         ;;
346 esac
350 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
351 dnl ===========================================
352 AC_ARG_WITH(nlsdir, 
353         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
356 if test "x$NLSDIR" = "x"; then
357         if test "x$with_nlsdir" != "x"; then
358                 NLSDIR=$with_nlsdir
359         else
360                 NLSDIR='$(prefix)/lib/locale'
361         fi
366 AC_SUBST(DLLIBS)
367 AC_SUBST(INTLIBS)
368 AC_SUBST(NLSDIR)
369 AC_SUBST(MOFILES)
370 AC_SUBST(WPMOFILES)
371 AC_SUBST(WINGSMOFILES)
372 AC_SUBST(supported_locales)
376 dnl Support for various hint things
377 dnl ===============================
380 AC_ARG_ENABLE(gnome,
381   [  --enable-gnome          enable stuff needed for GNOME ],
382   [if test x$enableval = xyes; then
383     AC_DEFINE(GNOME_STUFF, 1, [define if you want GNOME stuff support])
384     gnome_on=yes
385   fi])
388 AC_ARG_ENABLE(kde,
389   [  --enable-kde            enable support for KDE window manager (kwm) hints ],
390   [if test x$enableval = xyes; then
391     AC_DEFINE(KWM_HINTS, 1, [define if you want KDE hint support])
392     kde_on=yes
393   fi])
396 AC_ARG_ENABLE(openlook,
397   [  --enable-openlook       enable support for OPEN LOOK(tm) (olwm) hints ],
398   [if test x$enableval = xyes; then
399     AC_DEFINE(OLWM_HINTS, 1, [define if you want OPEN LOOK(tm) hint support])
400     openlook_on=yes
401   fi])
405 dnl Disable some stuff that are duplicated in kde
406 dnl ---------------------------------------------
407 AC_ARG_ENABLE(lite,
408   [  --enable-lite           disable some stuff (dont use it) ],
409   [if test x$enableval = xyes; then
410         LITE=yes
411         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
412         AC_SUBST(LITE)
413   fi])
418 dnl Networking stuff
421 NETLIBS=""
423 AC_CHECK_FUNC(connect,,
424         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
426 AC_CHECK_FUNC(gethostbyname,,
427         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
429 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
430      for lib in resolv socket inet bsd; do
431         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
432                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
433      done)
435 AC_SUBST(NETLIBS)
438 dnl ===========================================
439 dnl             Stuff that uses X
440 dnl ===========================================
442 AC_PATH_XTRA
444 if test $no_x; then
445     AC_MSG_ERROR([The path for the X11 files not found!
446 Make sure you have X and it's headers and libraries (the -devel packages
447 in Linux) installed.])
450 X_LIBRARY_PATH=$x_libraries
452 XCFLAGS="$X_CFLAGS"
454 XLFLAGS="$X_LIBS"
456 XLIBS="-lX11 $X_EXTRA_LIBS"
459 lib_search_path="$lib_search_path $XLFLAGS"
460 inc_search_path="$inc_search_path $XCFLAGS"
463 AC_SUBST(X_LIBRARY_PATH)
467 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
468 dnl by MANOME Tomonori 
469 dnl ===========================================
470 use_locale=yes
471 AC_ARG_ENABLE(locale, 
472 [  --disable-locale        disable use of X locale support],
473                 use_locale=no)
475 if test "$use_locale" = yes; then
476         AC_CHECK_LIB(X11, _Xsetlocale,
477                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
478                 $XLFLAGS $XLIBS)
482 dnl Check whether XInternAtoms() exist
483 dnl ==================================
484 AC_CHECK_LIB(X11, XInternAtoms, 
485              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
486              $XLFLAGS $XLIBS)
488 dnl Check whether XConvertCase() exist
489 dnl ==================================
490 AC_CHECK_LIB(X11, XConvertCase, 
491              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
492              $XLFLAGS $XLIBS)
495 dnl XKB keyboard language status
496 dnl ============================
497 AC_ARG_ENABLE(modelock,
498 [  --enable-modelock       XKB keyboard language status support],
499                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
503 dnl Shape support
504 dnl =============
505 shape=yes
506 AC_ARG_ENABLE(shape, 
507 [  --disable-shape         disable shaped window extension support],
508                 shape=$enableval, shape=yes)
510 added_xext=no
512 if test "$shape" = yes; then
513         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
514                 added_xext=yes
515                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
516                 shape=no, $XLFLAGS $XLIBS)
520 dnl Xft antialiased font support
521 dnl ============================
522 xft=yes
523 XFTLIBS=""
524 AC_ARG_ENABLE(xft, 
525 [  --disable-xft           disable Xft antialiased font support],
526                 xft=$enableval, xft=yes)
528 if test "$xft" = yes; then
529         if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
530                 XFTCONFIG="$PKGCONFIG xft"
531                 pkgconfig_xft=yes
532         else
533                 AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
534         fi
535         AC_MSG_CHECKING([for the Xft2 library])
536         if test "x$XFTCONFIG" != x; then
537                 XFTLIBS=`$XFTCONFIG --libs`
538                 XFTFLAGS=`$XFTCONFIG --cflags`
539                 AC_MSG_RESULT([found])
540         else
541                 xft=no
542                 AC_MSG_RESULT([not found])
543         fi
544         if test "$xft" = yes; then
545                 AC_SUBST(XFTFLAGS)
546                 AC_SUBST(XFTLIBS)
547                 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
548         fi
551 dnl XINERAMA support
552 dnl ================
553 xinerama=no
554 AC_ARG_ENABLE(xinerama,
555 [  --enable-xinerama       enable Xinerama extension support],
556                 xinerama=$enableval, xinerama=no)
558 if test "$xinerama" = yes; then
559         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
560                 [XLIBS="-lXinerama $XLIBS"
561                 xfxine=yes],
562                 xfxine=no, $XLFLAGS $XLIBS)
564         AC_CHECK_LIB(Xext, XineramaGetInfo,
565                 [sunxine=yes
566                 ], sunxine=no, $XLFLAGS $XLIBS)
568         if test "$xfxine" = yes; then
569                 xine=1
570         fi
572         if test "$sunxine" = yes; then
573             xine=1
574             AC_DEFINE(SOLARIS_XINERAMA, 1, 
575                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
576         fi
578         if test "$xine" = 1; then
579             AC_DEFINE(XINERAMA, 1, 
580                 [define if you want support for the XINERAMA extension (set by configure)])
581         fi
586 dnl MIT-SHM support
587 dnl ===============
588 shm=yes
589 AC_ARG_ENABLE(shm,
590 [  --disable-shm           disable usage of MIT-SHM extension],
591                 shm=$enableval, shm=yes)
593 if test "$shm" = yes; then
594         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
596         if test "$ok" = yes; then
597         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
598         fi
600         if test "$ok" = yes; then
601                 if test "$added_xext" = no; then
602                         XLIBS="-lXext $XLIBS"
603                 fi
604                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
605         fi
609 dnl R6 Style Session Management Support
610 dnl ===================================
614 #AC_DEFINE(R6SM)
615 #AC_SUBST(XSMPLIBS)
619 dnl ==============================================
620 dnl         Graphic Format Libraries
621 dnl ==============================================
627 dnl XPM Support
628 dnl ===========
629 xpm=yes
630 AC_ARG_ENABLE(xpm, 
631 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
632         xpm=$enableval, xpm=yes)
634 if test "$xpm" = yes; then
635     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
637     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
638         WM_CHECK_HEADER(X11/xpm.h)
639         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
640                 GFXLIBS="$GFXLIBS -lXpm"
641                 supported_gfx="XPM"
642                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
643         else
644                 supported_gfx="builtin-XPM"
645         fi
646     fi
649 # for wmlib
650 AC_SUBST(XCFLAGS)
651 # for test
652 AC_SUBST(XLFLAGS)
653 AC_SUBST(XLIBS)
655 AC_SUBST(X_EXTRA_LIBS)
657 dnl ===============================================
658 dnl             End of stuff that uses X
659 dnl ===============================================
663 dnl PNG Support
664 dnl ===========
665 png=yes
666 AC_ARG_ENABLE(png, 
667 [  --disable-png           disable PNG support through libpng],
668         png=$enableval, png=yes, png=no)
671 if test "$png" = yes ; then
672     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
674     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
675         WM_CHECK_HEADER(png.h)
676         if test "x$ac_cv_header_png_h" = xyes; then
677             GFXLIBS="$GFXLIBS -lpng -lz" 
678             supported_gfx="$supported_gfx PNG"
679             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
680         fi
681     fi
685 dnl JPEG Support
686 dnl ============
687 jpeg=yes
688 ljpeg=""
689 AC_ARG_ENABLE(jpeg,
690 [  --disable-jpeg          disable JPEG support through libjpeg],
691         jpeg=$enableval, jpeg=yes, jpeg=no)
693 if test "$jpeg" = yes; then
694     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
696     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
698         ljpeg="-ljpeg"
700         WM_CHECK_HEADER(jpeglib.h)
701         if test "x$ac_cv_header_jpeglib_h" = xyes; then
702             GFXLIBS="$GFXLIBS -ljpeg"
703             supported_gfx="$supported_gfx JPEG"
704             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
705         fi
706     fi
710 dnl GIF Support
711 dnl ============
712 gif=yes
713 AC_ARG_ENABLE(gif,
714 [  --disable-gif           disable GIF support through libgif or libungif],
715         gif=$enableval, gif=yes, gif=no)
717 if test "$gif" = yes; then
718     my_libname=""
719     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
720     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
721         my_libname=-lungif
722     fi
724 dnl libungif is the same thing as libgif for all practical purposes.
726     if test "x$my_libname" = x; then
727         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
728         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
729             my_libname=-lgif
730         fi
731     fi
733     if test "$my_libname" != x; then
734         WM_CHECK_HEADER(gif_lib.h)
735         if test "x$ac_cv_header_gif_lib_h" = xyes; then
736             GFXLIBS="$GFXLIBS $my_libname"
737             supported_gfx="$supported_gfx GIF"
738             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
739         fi
740     fi
745 dnl TIFF Support
746 dnl ============
747 AC_ARG_ENABLE(tiff, 
748 [  --disable-tiff          disable use of TIFF images through libtiff],
749         tif=$enableval, tif=yes, tif=no)
752 # TIFF can optionally have JPEG and/or zlib support. Must find out
753 # when they are supported so that correct library flags are passed during
754 # detection and linkage
757 # By default use xpm icons if tiff is not found.
758 ICONEXT="xpm"
761 if test "$tif" = yes; then
762     my_libname=""
763     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
764     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
765         my_libname="-ltiff"
766     fi
768 dnl Retry with zlib
770     unset ac_cv_lib_tiff_TIFFGetVersion
771     if test "x$my_libname" = x; then
772         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
773         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
774             my_libname="-ltiff -lz"
775         fi
776     fi
778     if test "x$my_libname" = x; then
779         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
780         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
781             my_libname="-ltiff34"
782         fi
783     fi
786     if test "x$my_libname" != x; then
787         WM_CHECK_HEADER(tiffio.h)
788         if test "x$ac_cv_header_tiffio_h" = xyes; then
789             GFXLIBS="$my_libname $GFXLIBS"
790             ICONEXT="tiff"
791             supported_gfx="$supported_gfx TIFF"
792             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
793         fi
794     fi
797 LIBRARY_SEARCH_PATH="$lib_search_path"
798 HEADER_SEARCH_PATH="$inc_search_path"
800 AC_SUBST(LIBRARY_SEARCH_PATH)
801 AC_SUBST(HEADER_SEARCH_PATH)
804 AC_SUBST(GFXLIBS)
805 AC_SUBST(ICONEXT)
808 dnl ==============================================
809 dnl         End of Graphic Format Libraries
810 dnl ==============================================
814 dnl stdlib.h is checked here, because of conflict in jpeglib.h
815 AC_CHECK_HEADERS(stdlib.h)
817 # AC_PREFIX_PROGRAM(wmaker)
819 dnl Support for PIXMAPDIR option
820 dnl ============================
821 AC_ARG_WITH(pixmapdir,
822 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
824 if test "x$with_pixmapdir" != "x"; then
825         pixmapdir=$with_pixmapdir
826 else
827         pixmapdir=`eval echo ${datadir}/pixmaps`
830 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
832 pkgdatadir=`eval echo $datadir`
833 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
835 _sysconfdir=`eval echo $sysconfdir`
836 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
839 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
840 dnl ==============================================
842 appspath=""
844 AC_ARG_WITH(appspath,
845 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
847 if test "x$appspath" = "x"; then
848     gnustepdir='$(prefix)/GNUstep'
850     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
851         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
852         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
853     fi
855     with_appspath=$gnustepdir/Apps
858 wprefsdir=$with_appspath/WPrefs.app
860 AC_SUBST(wprefsdir)
863 dnl Enable User Defined Menu thing
864 dnl ==================================
865 AC_ARG_ENABLE(usermenu,
866 [  --enable-usermenu       user defined menus for applications
868 if test "$enableval" = yes; then
869         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
875 dnl Nicolai:  Program tests for Documentation Section
876 dnl =================================================
877 dnl DOCTYPES=""
878 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
879 dnl if test "x$MAKEINFO" != "x" ; then
880 dnl       DOCTYPES="$DOCTYPES info_doc"
881 dnl fi
882 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
883 dnl if test "x$TEX" != "x" ; then
884 dnl       DOCTYPES="$DOCTYPES dvi_doc"
885 dnl fi
886 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
887 dnl if test "x$DVIPS" != "x" ; then
888 dnl       DOCTYPES="$DOCTYPES ps_doc"
889 dnl fi
890 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
891 dnl if test "x$PERL" != "x" ; then
892 dnl       DOCTYPES="$DOCTYPES html_doc"
893 dnl fi
894 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
895 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
896   
897 dnl AC_SUBST(DOCTYPES)
899 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
900         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
901         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
902         WINGs/Extras/Makefile WINGs/po/Makefile \
903         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
904         doc/Makefile doc/sk/Makefile \
905         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
906         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
907         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
908         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
909         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
910         WPrefs.app/po/Makefile \
911         contrib/Makefile contrib/WindowMaker.spec )
912 #       plugins/Makefile plugins/libwmfun/Makefile)
917 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
918 dnl ===================================================================
921 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
922 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
923 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
925 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
926 dnl parsed by m4
928 cat <<EOF >get-wraster-flags
929 #!/bin/sh
931 WCFLAGS="$inc_search_path"
932 WLFLAGS="$lib_search_path"
933 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
935 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
937 if test \$# -eq 0; then
938       echo "\${usage}" 1>&2
939       exit 1
942 while test \$# -gt 0; do
943   case \$1 in
944     --cflags)
945         echo \$WCFLAGS
946         ;;
947     --ldflags|--lflags)
948         echo \$WLFLAGS
949         ;;
950     --libs)
951         echo \$WLIBS
952         ;;
953     *)
954         echo "\${usage}" 1>&2
955         exit 1
956         ;;
957   esac
958   shift
959 done
964 cat <<EOF > wrlib/wrlib.pc
965 Name: wrlib
966 Description: Image manipulation and conversion library
967 Version: $VERSION
968 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
969 Cflags: $inc_search_path
972 cat <<EOF >get-wings-flags
973 #!/bin/sh
975 WCFLAGS="$inc_search_path"
976 WLFLAGS="$lib_search_path"
977 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
979 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
981 if test \$# -eq 0; then
982       echo "\${usage}" 1>&2
983       exit 1
986 while test \$# -gt 0; do
987   case \$1 in
988     --cflags)
989         echo \$WCFLAGS
990         ;;
991     --ldflags|--lflags)
992         echo \$WLFLAGS
993         ;;
994     --libs)
995         echo \$WLIBS
996         ;;
997     *)
998         echo "\${usage}" 1>&2
999         exit 1
1000         ;;
1001   esac
1002   shift
1003 done
1008 cat <<EOF > WINGs/WINGs.pc
1009 Name: WINGs
1010 Description: Small widget set with the NeXTStep(TM) look and feel
1011 Version: $VERSION
1012 Requires: wrlib
1013 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1014 Cflags: $inc_search_path
1017 cat <<EOF >get-wutil-flags
1018 #!/bin/sh
1020 WCFLAGS="-I`eval echo ${includedir}`"
1021 WLFLAGS="-L${_libdir}"
1022 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1024 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1026 if test \$# -eq 0; then
1027       echo "\${usage}" 1>&2
1028       exit 1
1031 while test \$# -gt 0; do
1032   case \$1 in
1033     --cflags)
1034         echo \$WCFLAGS
1035         ;;
1036     --ldflags|--lflags)
1037         echo \$WLFLAGS
1038         ;;
1039     --libs)
1040         echo \$WLIBS
1041         ;;
1042     *)
1043         echo "\${usage}" 1>&2
1044         exit 1
1045         ;;
1046   esac
1047   shift
1048 done
1053 cat <<EOF > wmlib/wmlib.pc
1054 Name: wmlib
1055 Description: FIXME: What do I write here?
1056 Version: $VERSION
1057 Requires: wrlib
1058 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1059 Cflags: $inc_search_path
1062 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1063 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1064 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1066 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1068 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1072 dnl Spit out the configuration
1073 dnl ==========================
1075 supported_gfx="$supported_gfx builtin-PPM"
1077 if test "x$MOFILES" = "x"; then
1078         mof=none
1079 else
1080         mof=`echo $MOFILES`
1083 if test "x$MOFILES" = "x"; then
1084         languages=none
1085 else
1086         languages=`echo $MOFILES | sed 's/.mo//g'`
1090 echo
1091 echo "Window Maker was configured as follows:"
1092 echo
1093 echo "Installation path prefix            : $prefix"
1094 echo "Installation path for binaries      : $_bindir"
1095 echo "Installation path for WPrefs.app    : $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
1096 echo "Supported graphic format libraries  : $supported_gfx"
1097 echo "Antialiased text support for WINGs  : $xft"
1098 echo "Xinerama extension support          : $xinerama"
1099 echo "Use assembly routines for wrlib     : $asm_support"
1100 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1101 echo "Translated message files to install : $mof"
1102 dnl echo "Supported languages beside English  : $languages"
1103 if test "x$MOFILES" != "x"; then
1104         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1106 echo
1108 dnl WM_PRINT_REDCRAP_BUG_STATUS
1110 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1111 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1112 echo
1113 echo "JPEG support will not be included because the JPEG library is"
1114 echo "not installed correctly or was not found. Background images"
1115 echo "from themes will not display as they usually are JPEG files."
1116 echo
1117 echo "To fix, download and install the jpeg library and/or make sure you"
1118 echo "installed all jpeg related packages, SPECIALLY the development packages"
1119 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1120 echo
1121 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1125 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1126 dnl ================================================
1127 dnl Local Variables:
1128 dnl compile-command: "autoconf"
1129 dnl End: