changed indentation to use spaces only
[wmaker-crm.git] / configure.ac
blob43c945e4c1d71ee72d83531bd837d00a840db63f
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 # 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    
210     # gcc-3.4 complains about some of our stuff without this
211     NOSTRICTALIASING="-fno-strict-aliasing"
213     x86=0
214     changequote(,)dnl
215     case "$host_cpu" in
216        i[3456]86) x86=1
217        ;;
218     esac
219     changequote([,])dnl
221     if test "$host_os" != "linux" -a "$host_os" != "linux-gnu" ; then
222        x86=0
223     fi
225     if test $x86 = 1; then
226        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
227        asm_support=yes
229        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
230                       ac_cv_c_inline_mmx,
231                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
232                       ac_cv_c_inline_mmx=yes,
233                       ac_cv_c_inline_mmx=no)])
235        if test "x$ac_cv_c_inline_mmx" = xyes; then
236           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
237           mmx_support=yes
238        fi
239     fi
241 AC_SUBST(NOSTRICTALIASING)
244 dnl pkg-config
245 dnl ----------
246 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
247 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
250 dnl gettext
251 dnl -------
254 dnl AM_GNU_GETTEXT
258 INTLIBS=""
260 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
261         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
262                          INTLIBS="" ))
264 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
266 if test "$XGETTEXT" != ""; then 
267     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
268         echo "xgettext isn't GNU version"
269         XGETTEXT=""
270     fi
273 if test "$LINGUAS" != ""; then
274     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
275         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
276         PO=""
277 #       if test "$LINGUAS" = ""; then
278 #           ling=` (cd src/po; /bin/ls *.po) `
279 #           for l in $ling; do
280 #               lcode=`basename $l .po`
281 #               LINGUAS="$LINGUAS $lcode"
282 #           done
283 #       fi
284         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
285     else
286         LINGUAS=""
287         PO=""
288         echo "xgettext and libintl.a don't both exist; will not build i18n support"
289     fi
290 else
291         INTLIBS=""
292         MOFILES=""
293         WPMOFILES=""
294         PO=""
298 dnl The Tower of Babel
299 dnl ==================
301 dnl List of supported locales
302 dnl -------------------------
303 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"
304 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW.Big5"
305 supported_wings_locales="bg ca cs de fr sk"
307 for lang in $LINGUAS; do
308         ok=0
309         for l in $supported_locales; do
310                 if test "$l" = "$lang"; then
311                         ok=1
312                         break
313                 fi
314         done
315         if test "$ok" = 1; then
316                 MOFILES="$MOFILES $lang.mo"
317         else
318                 echo "Locale $lang is not supported."
319         fi
320         ok=0
321         for l in $supported_wprefs_locales; do
322                 if test "$l" = "$lang"; then
323                         ok=1
324                         break
325                 fi
326         done
327         if test "$ok" = 1; then
328                 WPMOFILES="$WPMOFILES $lang.mo"
329         fi
330         ok=0
331         for l in $supported_wings_locales; do
332                 if test "$l" = "$lang"; then
333                         ok=1
334                         break
335                 fi
336         done
337         if test "$ok" = 1; then
338                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
339         fi
340 done
343 dnl Kanji Characters support
344 dnl ========================
346 case $host_os in
347         freebsd*)
348                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
349         *)
350         ;;
351 esac
355 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
356 dnl ===========================================
357 AC_ARG_WITH(nlsdir, 
358         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
361 if test "x$NLSDIR" = "x"; then
362         if test "x$with_nlsdir" != "x"; then
363                 NLSDIR=$with_nlsdir
364         else
365                 NLSDIR='$(prefix)/lib/locale'
366         fi
371 AC_SUBST(DLLIBS)
372 AC_SUBST(INTLIBS)
373 AC_SUBST(NLSDIR)
374 AC_SUBST(MOFILES)
375 AC_SUBST(WPMOFILES)
376 AC_SUBST(WINGSMOFILES)
377 AC_SUBST(supported_locales)
381 dnl Support for various hint things
382 dnl ===============================
384 gnome_on="no"
385 kde_on="no"
386 openlook_on="no"
387 netwm_on="no"
388 vdesktop_on="no"
391 AC_ARG_ENABLE(gnome,
392   [  --enable-gnome          enable stuff needed for GNOME ],
393   [if test x$enableval = xyes; then
394     AC_DEFINE(GNOME_STUFF, 1, [define if you want GNOME stuff support])
395     gnome_on=yes
396   fi])
399 AC_ARG_ENABLE(kde,
400   [  --enable-kde            enable support for KDE window manager (kwm) hints ],
401   [if test x$enableval = xyes; then
402     AC_DEFINE(KWM_HINTS, 1, [define if you want KDE hint support])
403     kde_on=yes
404   fi])
407 AC_ARG_ENABLE(openlook,
408   [  --enable-openlook       enable support for OPEN LOOK(tm) (olwm) hints ],
409   [if test x$enableval = xyes; then
410     AC_DEFINE(OLWM_HINTS, 1, [define if you want OPEN LOOK(tm) hint support])
411     openlook_on=yes
412   fi])
415 AC_ARG_ENABLE(netwm,
416   [  --enable-netwm          enable support for FreeDesktop hints ],
417   [if test x$enableval = xyes; then
418     AC_DEFINE(NETWM_HINTS, 1, [define if you want NETWM hints support])
419     netwm_on=yes
420   fi])
423 AC_ARG_ENABLE(vdesktop,
424   [  --enable-vdesktop       enable virtual desktop],
425   [if test x$enableval = xyes; then
426     AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
427     vdesktop_on=yes
428   fi])
432 dnl Disable some stuff that are duplicated in kde
433 dnl ---------------------------------------------
434 AC_ARG_ENABLE(lite,
435   [  --enable-lite           disable some stuff (dont use it) ],
436   [if test x$enableval = xyes; then
437         LITE=yes
438         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
439         AC_SUBST(LITE)
440   fi])
445 dnl Networking stuff
448 NETLIBS=""
450 AC_CHECK_FUNC(connect,,
451         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
453 AC_CHECK_FUNC(gethostbyname,,
454         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
456 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
457      for lib in resolv socket inet bsd; do
458         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
459                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
460      done)
462 AC_SUBST(NETLIBS)
465 dnl ===========================================
466 dnl             Stuff that uses X
467 dnl ===========================================
469 AC_PATH_XTRA
471 if test $no_x; then
472     AC_MSG_ERROR([The path for the X11 files not found!
473 Make sure you have X and it's headers and libraries (the -devel packages
474 in Linux) installed.])
477 X_LIBRARY_PATH=$x_libraries
479 XCFLAGS="$X_CFLAGS"
481 XLFLAGS="$X_LIBS"
483 XLIBS="-lX11 $X_EXTRA_LIBS"
486 lib_search_path="$lib_search_path $XLFLAGS"
487 inc_search_path="$inc_search_path $XCFLAGS"
490 AC_SUBST(X_LIBRARY_PATH)
494 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
495 dnl by MANOME Tomonori 
496 dnl ===========================================
497 use_locale=yes
498 AC_ARG_ENABLE(locale, 
499 [  --disable-locale        disable use of X locale support],
500                 use_locale=no)
502 if test "$use_locale" = yes; then
503         AC_CHECK_LIB(X11, _Xsetlocale,
504                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
505                 $XLFLAGS $XLIBS)
509 dnl Check whether XInternAtoms() exist
510 dnl ==================================
511 AC_CHECK_LIB(X11, XInternAtoms, 
512              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
513              $XLFLAGS $XLIBS)
515 dnl Check whether XConvertCase() exist
516 dnl ==================================
517 AC_CHECK_LIB(X11, XConvertCase, 
518              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
519              $XLFLAGS $XLIBS)
522 dnl XKB keyboard language status
523 dnl ============================
524 AC_ARG_ENABLE(modelock,
525 [  --enable-modelock       XKB keyboard language status support],
526                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
530 dnl Shape support
531 dnl =============
532 shape=yes
533 AC_ARG_ENABLE(shape, 
534 [  --disable-shape         disable shaped window extension support],
535                 shape=$enableval, shape=yes)
537 added_xext=no
539 if test "$shape" = yes; then
540         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
541                 added_xext=yes
542                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
543                 shape=no, $XLFLAGS $XLIBS)
547 dnl Xft antialiased font support
548 dnl ============================
550 xft=yes
551 XFTLIBS=""
553 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
554         XFTCONFIG="$PKGCONFIG xft"
555         pkgconfig_xft=yes
556 else
557         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
560 AC_MSG_CHECKING([for the Xft2 library])
562 if test "x$XFTCONFIG" != x; then
563         XFTLIBS=`$XFTCONFIG --libs`
564         XFTFLAGS=`$XFTCONFIG --cflags`
565         AC_MSG_RESULT([found])
566 else
567         AC_MSG_RESULT([not found])
568         echo
569         echo "ERROR!!! libXft2 is not installed or could not be found."
570         echo "         Xft2 is a requirement for building Window Maker."
571         echo "         Please install it (along with fontconfig) before continuing."
572         echo
573         exit 1
576 minXFT="2.1.2"
577 goodxft="no"
580 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
582 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
584 if test "$goodxft" = no; then
585         echo
586         echo "ERROR!!! libXft on this system is an old version."
587         echo "         Please consider upgrading to at least version ${minXFT}."
588         echo
589         exit 1
592 AC_SUBST(XFTFLAGS)
593 AC_SUBST(XFTLIBS)
594 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
597 dnl XINERAMA support
598 dnl ================
599 xinerama=no
600 AC_ARG_ENABLE(xinerama,
601 [  --enable-xinerama       enable Xinerama extension support],
602                 xinerama=$enableval, xinerama=no)
604 if test "$xinerama" = yes; then
605         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
606                 [XLIBS="-lXinerama $XLIBS"
607                 xfxine=yes],
608                 xfxine=no, $XLFLAGS $XLIBS)
610         AC_CHECK_LIB(Xext, XineramaGetInfo,
611                 [sunxine=yes
612                 ], sunxine=no, $XLFLAGS $XLIBS)
614         if test "$xfxine" = yes; then
615                 xine=1
616         fi
618         if test "$sunxine" = yes; then
619             xine=1
620             AC_DEFINE(SOLARIS_XINERAMA, 1, 
621                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
622         fi
624         if test "$xine" = 1; then
625             AC_DEFINE(XINERAMA, 1, 
626                 [define if you want support for the XINERAMA extension (set by configure)])
627         fi
632 dnl MIT-SHM support
633 dnl ===============
634 shm=yes
635 AC_ARG_ENABLE(shm,
636 [  --disable-shm           disable usage of MIT-SHM extension],
637                 shm=$enableval, shm=yes)
639 if test "$shm" = yes; then
640         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
642         if test "$ok" = yes; then
643         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
644         fi
646         if test "$ok" = yes; then
647                 if test "$added_xext" = no; then
648                         XLIBS="-lXext $XLIBS"
649                 fi
650                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
651         fi
655 dnl R6 Style Session Management Support
656 dnl ===================================
660 #AC_DEFINE(R6SM)
661 #AC_SUBST(XSMPLIBS)
665 dnl ==============================================
666 dnl         Graphic Format Libraries
667 dnl ==============================================
673 dnl XPM Support
674 dnl ===========
675 xpm=yes
676 AC_ARG_ENABLE(xpm, 
677 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
678         xpm=$enableval, xpm=yes)
680 if test "$xpm" = yes; then
681     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
683     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
684         WM_CHECK_HEADER(X11/xpm.h)
685         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
686                 GFXLIBS="$GFXLIBS -lXpm"
687                 supported_gfx="XPM"
688                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
689         else
690                 supported_gfx="builtin-XPM"
691         fi
692     fi
695 # for wmlib
696 AC_SUBST(XCFLAGS)
697 # for test
698 AC_SUBST(XLFLAGS)
699 AC_SUBST(XLIBS)
701 AC_SUBST(X_EXTRA_LIBS)
703 dnl ===============================================
704 dnl             End of stuff that uses X
705 dnl ===============================================
709 dnl PNG Support
710 dnl ===========
711 png=yes
712 AC_ARG_ENABLE(png, 
713 [  --disable-png           disable PNG support through libpng],
714         png=$enableval, png=yes, png=no)
717 if test "$png" = yes ; then
718     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
720     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
721         WM_CHECK_HEADER(png.h)
722         if test "x$ac_cv_header_png_h" = xyes; then
723             GFXLIBS="$GFXLIBS -lpng -lz" 
724             supported_gfx="$supported_gfx PNG"
725             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
726         fi
727     fi
731 dnl JPEG Support
732 dnl ============
733 jpeg=yes
734 ljpeg=""
735 AC_ARG_ENABLE(jpeg,
736 [  --disable-jpeg          disable JPEG support through libjpeg],
737         jpeg=$enableval, jpeg=yes, jpeg=no)
739 if test "$jpeg" = yes; then
740     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
742     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
744         ljpeg="-ljpeg"
746         WM_CHECK_HEADER(jpeglib.h)
747         if test "x$ac_cv_header_jpeglib_h" = xyes; then
748             GFXLIBS="$GFXLIBS -ljpeg"
749             supported_gfx="$supported_gfx JPEG"
750             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
751         fi
752     fi
756 dnl GIF Support
757 dnl ============
758 gif=yes
759 AC_ARG_ENABLE(gif,
760 [  --disable-gif           disable GIF support through libgif or libungif],
761         gif=$enableval, gif=yes, gif=no)
763 if test "$gif" = yes; then
764     my_libname=""
765     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
766     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
767         my_libname=-lungif
768     fi
770 dnl libungif is the same thing as libgif for all practical purposes.
772     if test "x$my_libname" = x; then
773         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
774         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
775             my_libname=-lgif
776         fi
777     fi
779     if test "$my_libname" != x; then
780         WM_CHECK_HEADER(gif_lib.h)
781         if test "x$ac_cv_header_gif_lib_h" = xyes; then
782             GFXLIBS="$GFXLIBS $my_libname"
783             supported_gfx="$supported_gfx GIF"
784             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
785         fi
786     fi
791 dnl TIFF Support
792 dnl ============
793 AC_ARG_ENABLE(tiff, 
794 [  --disable-tiff          disable use of TIFF images through libtiff],
795         tif=$enableval, tif=yes, tif=no)
798 # TIFF can optionally have JPEG and/or zlib support. Must find out
799 # when they are supported so that correct library flags are passed during
800 # detection and linkage
803 # By default use xpm icons if tiff is not found.
804 ICONEXT="xpm"
807 if test "$tif" = yes; then
808     my_libname=""
809     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
810     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
811         my_libname="-ltiff"
812     fi
814 dnl Retry with zlib
816     unset ac_cv_lib_tiff_TIFFGetVersion
817     if test "x$my_libname" = x; then
818         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
819         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
820             my_libname="-ltiff -lz"
821         fi
822     fi
824     if test "x$my_libname" = x; then
825         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
826         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
827             my_libname="-ltiff34"
828         fi
829     fi
832     if test "x$my_libname" != x; then
833         WM_CHECK_HEADER(tiffio.h)
834         if test "x$ac_cv_header_tiffio_h" = xyes; then
835             GFXLIBS="$my_libname $GFXLIBS"
836             ICONEXT="tiff"
837             supported_gfx="$supported_gfx TIFF"
838             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
839         fi
840     fi
843 LIBRARY_SEARCH_PATH="$lib_search_path"
844 HEADER_SEARCH_PATH="$inc_search_path"
846 AC_SUBST(LIBRARY_SEARCH_PATH)
847 AC_SUBST(HEADER_SEARCH_PATH)
850 AC_SUBST(GFXLIBS)
851 AC_SUBST(ICONEXT)
854 dnl ==============================================
855 dnl         End of Graphic Format Libraries
856 dnl ==============================================
860 dnl stdlib.h is checked here, because of conflict in jpeglib.h
861 AC_CHECK_HEADERS(stdlib.h)
863 # AC_PREFIX_PROGRAM(wmaker)
865 dnl Support for PIXMAPDIR option
866 dnl ============================
867 AC_ARG_WITH(pixmapdir,
868 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
870 if test "x$with_pixmapdir" != "x"; then
871         pixmapdir=$with_pixmapdir
872 else
873         pixmapdir=`eval echo ${datadir}/pixmaps`
876 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
878 pkgdatadir=`eval echo $datadir`
879 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
881 _sysconfdir=`eval echo $sysconfdir`
882 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
885 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
886 dnl ==============================================
888 appspath=""
890 AC_ARG_WITH(appspath,
891 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
893 if test "x$appspath" = "x"; then
894     gnustepdir='${prefix}/GNUstep'
896     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
897         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
898         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
899     fi
901     with_appspath=$gnustepdir/Applications
904 wprefsdir=$with_appspath/WPrefs.app
906 AC_SUBST(wprefsdir)
909 dnl Enable User Defined Menu thing
910 dnl ==================================
911 AC_ARG_ENABLE(usermenu,
912 [  --enable-usermenu       user defined menus for applications
914 if test "$enableval" = yes; then
915         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
921 dnl Nicolai:  Program tests for Documentation Section
922 dnl =================================================
923 dnl DOCTYPES=""
924 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
925 dnl if test "x$MAKEINFO" != "x" ; then
926 dnl       DOCTYPES="$DOCTYPES info_doc"
927 dnl fi
928 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
929 dnl if test "x$TEX" != "x" ; then
930 dnl       DOCTYPES="$DOCTYPES dvi_doc"
931 dnl fi
932 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
933 dnl if test "x$DVIPS" != "x" ; then
934 dnl       DOCTYPES="$DOCTYPES ps_doc"
935 dnl fi
936 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
937 dnl if test "x$PERL" != "x" ; then
938 dnl       DOCTYPES="$DOCTYPES html_doc"
939 dnl fi
940 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
941 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
942   
943 dnl AC_SUBST(DOCTYPES)
945 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
946         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
947         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
948         WINGs/Extras/Makefile WINGs/po/Makefile \
949         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
950         doc/Makefile doc/sk/Makefile \
951         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
952         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
953         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
954         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
955         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
956         WPrefs.app/po/Makefile \
957         contrib/Makefile contrib/WindowMaker.spec )
958 #       plugins/Makefile plugins/libwmfun/Makefile)
963 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
964 dnl ===================================================================
967 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
968 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
969 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
971 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
972 dnl parsed by m4
974 cat <<EOF >get-wraster-flags
975 #!/bin/sh
977 WCFLAGS="$inc_search_path"
978 WLFLAGS="$lib_search_path"
979 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
981 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
983 if test \$# -eq 0; then
984       echo "\${usage}" 1>&2
985       exit 1
988 while test \$# -gt 0; do
989   case \$1 in
990     --cflags)
991         echo \$WCFLAGS
992         ;;
993     --ldflags|--lflags)
994         echo \$WLFLAGS
995         ;;
996     --libs)
997         echo \$WLIBS
998         ;;
999     *)
1000         echo "\${usage}" 1>&2
1001         exit 1
1002         ;;
1003   esac
1004   shift
1005 done
1010 cat <<EOF > wrlib/wrlib.pc
1011 Name: wrlib
1012 Description: Image manipulation and conversion library
1013 Version: $VERSION
1014 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
1015 Cflags: $inc_search_path
1018 cat <<EOF >get-wings-flags
1019 #!/bin/sh
1021 WCFLAGS="$inc_search_path"
1022 WLFLAGS="$lib_search_path"
1023 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
1025 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1027 if test \$# -eq 0; then
1028       echo "\${usage}" 1>&2
1029       exit 1
1032 while test \$# -gt 0; do
1033   case \$1 in
1034     --cflags)
1035         echo \$WCFLAGS
1036         ;;
1037     --ldflags|--lflags)
1038         echo \$WLFLAGS
1039         ;;
1040     --libs)
1041         echo \$WLIBS
1042         ;;
1043     *)
1044         echo "\${usage}" 1>&2
1045         exit 1
1046         ;;
1047   esac
1048   shift
1049 done
1054 cat <<EOF > WINGs/WINGs.pc
1055 Name: WINGs
1056 Description: Small widget set with the NeXTStep(TM) look and feel
1057 Version: $VERSION
1058 Requires: wrlib
1059 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1060 Cflags: $inc_search_path
1063 cat <<EOF >get-wutil-flags
1064 #!/bin/sh
1066 WCFLAGS="-I`eval echo ${includedir}`"
1067 WLFLAGS="-L${_libdir}"
1068 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1070 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1072 if test \$# -eq 0; then
1073       echo "\${usage}" 1>&2
1074       exit 1
1077 while test \$# -gt 0; do
1078   case \$1 in
1079     --cflags)
1080         echo \$WCFLAGS
1081         ;;
1082     --ldflags|--lflags)
1083         echo \$WLFLAGS
1084         ;;
1085     --libs)
1086         echo \$WLIBS
1087         ;;
1088     *)
1089         echo "\${usage}" 1>&2
1090         exit 1
1091         ;;
1092   esac
1093   shift
1094 done
1099 cat <<EOF > wmlib/wmlib.pc
1100 Name: wmlib
1101 Description: FIXME: What do I write here?
1102 Version: $VERSION
1103 Requires: wrlib
1104 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1105 Cflags: $inc_search_path
1108 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1109 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1110 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1112 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1114 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1118 dnl Spit out the configuration
1119 dnl ==========================
1121 supported_gfx="$supported_gfx builtin-PPM"
1123 if test "x$MOFILES" = "x"; then
1124         mof=None
1125 else
1126         mof=`echo $MOFILES`
1129 if test "x$MOFILES" = "x"; then
1130         languages=None
1131 else
1132         languages=`echo $MOFILES | sed 's/.mo//g'`
1135 extrasupport=''
1136 if test "$openlook_on" = "yes"; then
1137   extrasupport="OpenLook $extrasupport"
1139 if test "$gnome_on" = "yes"; then
1140   extrasupport="Gnome $extrasupport"
1142 if test "$kde_on" = "yes"; then
1143   extrasupport="KDE $extrasupport"
1145 if test "$netwm_on" = "yes"; then
1146   extrasupport="NetWM $extrasupport"
1149 if test "x$extrasupport" = "x"; then
1150   extrasupport="None"
1153 echo
1154 echo "Window Maker was configured as follows:"
1155 echo
1156 echo "Installation path prefix            : $prefix"
1157 echo "Installation path for binaries      : $_bindir"
1158 echo "Installation path for WPrefs.app    : $with_appspath" | sed -e 's|\${prefix}|'"$prefix|"
1159 echo "Supported graphic format libraries  : $supported_gfx"
1160 echo "Use assembly routines for wrlib     : $asm_support"
1161 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1162 echo "Antialiased text support in WINGs   : $xft"
1163 echo "Xinerama extension support          : $xinerama"
1164 echo "Virtual desktop support             : $vdesktop_on"
1165 echo "Additionally supported environments : $extrasupport"
1166 echo "Translated message files to install : $mof"
1167 dnl echo "Supported languages beside English  : $languages"
1168 if test "x$MOFILES" != "x"; then
1169         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1171 echo
1173 dnl WM_PRINT_REDCRAP_BUG_STATUS
1175 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1176 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1177 echo
1178 echo "JPEG support will not be included because the JPEG library is"
1179 echo "not installed correctly or was not found. Background images"
1180 echo "from themes will not display as they usually are JPEG files."
1181 echo
1182 echo "To fix, download and install the jpeg library and/or make sure you"
1183 echo "installed all jpeg related packages, SPECIALLY the development packages"
1184 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1185 echo
1186 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1190 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1191 dnl ================================================
1192 dnl Local Variables:
1193 dnl compile-command: "autoconf"
1194 dnl End: