- Removed legacy OFFIX_DND support code
[wmaker-crm.git] / configure.ac
blobea93aa89b7accaaf846ee60cf9ae825d419c3039
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(vdesktop,
416   [  --enable-vdesktop       enable virtual desktop],
417   [if test x$enableval = xyes; then
418     AC_DEFINE(VIRTUAL_DESKTOP, 1, [define if you want virtual desktop support])
419     vdesktop_on=yes
420   fi])
424 dnl Disable some stuff that are duplicated in kde
425 dnl ---------------------------------------------
426 AC_ARG_ENABLE(lite,
427   [  --enable-lite           disable some stuff (dont use it) ],
428   [if test x$enableval = xyes; then
429         LITE=yes
430         AC_DEFINE(LITE, 1, [define if you want the 'lite' version])
431         AC_SUBST(LITE)
432   fi])
437 dnl Networking stuff
440 NETLIBS=""
442 AC_CHECK_FUNC(connect,,
443         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
445 AC_CHECK_FUNC(gethostbyname,,
446         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
448 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
449      for lib in resolv socket inet bsd; do
450         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
451                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
452      done)
454 AC_SUBST(NETLIBS)
457 dnl ===========================================
458 dnl             Stuff that uses X
459 dnl ===========================================
461 AC_PATH_XTRA
463 if test $no_x; then
464     AC_MSG_ERROR([The path for the X11 files not found!
465 Make sure you have X and it's headers and libraries (the -devel packages
466 in Linux) installed.])
469 X_LIBRARY_PATH=$x_libraries
471 XCFLAGS="$X_CFLAGS"
473 XLFLAGS="$X_LIBS"
475 XLIBS="-lX11 $X_EXTRA_LIBS"
478 lib_search_path="$lib_search_path $XLFLAGS"
479 inc_search_path="$inc_search_path $XCFLAGS"
482 AC_SUBST(X_LIBRARY_PATH)
486 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
487 dnl by MANOME Tomonori 
488 dnl ===========================================
489 use_locale=yes
490 AC_ARG_ENABLE(locale, 
491 [  --disable-locale        disable use of X locale support],
492                 use_locale=no)
494 if test "$use_locale" = yes; then
495         AC_CHECK_LIB(X11, _Xsetlocale,
496                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
497                 $XLFLAGS $XLIBS)
501 dnl Check whether XInternAtoms() exist
502 dnl ==================================
503 AC_CHECK_LIB(X11, XInternAtoms, 
504              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
505              $XLFLAGS $XLIBS)
507 dnl Check whether XConvertCase() exist
508 dnl ==================================
509 AC_CHECK_LIB(X11, XConvertCase, 
510              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
511              $XLFLAGS $XLIBS)
514 dnl XKB keyboard language status
515 dnl ============================
516 AC_ARG_ENABLE(modelock,
517 [  --enable-modelock       XKB keyboard language status support],
518                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
522 dnl Shape support
523 dnl =============
524 shape=yes
525 AC_ARG_ENABLE(shape, 
526 [  --disable-shape         disable shaped window extension support],
527                 shape=$enableval, shape=yes)
529 added_xext=no
531 if test "$shape" = yes; then
532         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
533                 added_xext=yes
534                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
535                 shape=no, $XLFLAGS $XLIBS)
539 dnl Xft antialiased font support
540 dnl ============================
542 xft=yes
543 XFTLIBS=""
545 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
546         XFTCONFIG="$PKGCONFIG xft"
547         pkgconfig_xft=yes
548 else
549         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
552 AC_MSG_CHECKING([for the Xft2 library])
554 if test "x$XFTCONFIG" != x; then
555         XFTLIBS=`$XFTCONFIG --libs`
556         XFTFLAGS=`$XFTCONFIG --cflags`
557         AC_MSG_RESULT([found])
558 else
559         AC_MSG_RESULT([not found])
560         echo
561         echo "ERROR!!! libXft2 is not installed or could not be found."
562         echo "         Xft2 is a requirement for building Window Maker."
563         echo "         Please install it (along with fontconfig) before continuing."
564         echo
565         exit 1
568 minXFT="2.1.2"
569 goodxft="no"
572 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
574 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
576 if test "$goodxft" = no; then
577         echo
578         echo "ERROR!!! libXft on this system is an old version."
579         echo "         Please consider upgrading to at least version ${minXFT}."
580         echo
581         exit 1
584 AC_SUBST(XFTFLAGS)
585 AC_SUBST(XFTLIBS)
586 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
589 dnl XINERAMA support
590 dnl ================
591 xinerama=no
592 AC_ARG_ENABLE(xinerama,
593 [  --enable-xinerama       enable Xinerama extension support],
594                 xinerama=$enableval, xinerama=no)
596 if test "$xinerama" = yes; then
597         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
598                 [XLIBS="-lXinerama $XLIBS"
599                 xfxine=yes],
600                 xfxine=no, $XLFLAGS $XLIBS)
602         AC_CHECK_LIB(Xext, XineramaGetInfo,
603                 [sunxine=yes
604                 ], sunxine=no, $XLFLAGS $XLIBS)
606         if test "$xfxine" = yes; then
607                 xine=1
608         fi
610         if test "$sunxine" = yes; then
611             xine=1
612             AC_DEFINE(SOLARIS_XINERAMA, 1, 
613                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
614         fi
616         if test "$xine" = 1; then
617             AC_DEFINE(XINERAMA, 1, 
618                 [define if you want support for the XINERAMA extension (set by configure)])
619         fi
624 dnl MIT-SHM support
625 dnl ===============
626 shm=yes
627 AC_ARG_ENABLE(shm,
628 [  --disable-shm           disable usage of MIT-SHM extension],
629                 shm=$enableval, shm=yes)
631 if test "$shm" = yes; then
632         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
634         if test "$ok" = yes; then
635         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
636         fi
638         if test "$ok" = yes; then
639                 if test "$added_xext" = no; then
640                         XLIBS="-lXext $XLIBS"
641                 fi
642                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
643         fi
647 dnl R6 Style Session Management Support
648 dnl ===================================
652 #AC_DEFINE(R6SM)
653 #AC_SUBST(XSMPLIBS)
657 dnl ==============================================
658 dnl         Graphic Format Libraries
659 dnl ==============================================
665 dnl XPM Support
666 dnl ===========
667 xpm=yes
668 AC_ARG_ENABLE(xpm, 
669 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
670         xpm=$enableval, xpm=yes)
672 if test "$xpm" = yes; then
673     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
675     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
676         WM_CHECK_HEADER(X11/xpm.h)
677         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
678                 GFXLIBS="$GFXLIBS -lXpm"
679                 supported_gfx="XPM"
680                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
681         else
682                 supported_gfx="builtin-XPM"
683         fi
684     fi
687 # for wmlib
688 AC_SUBST(XCFLAGS)
689 # for test
690 AC_SUBST(XLFLAGS)
691 AC_SUBST(XLIBS)
693 AC_SUBST(X_EXTRA_LIBS)
695 dnl ===============================================
696 dnl             End of stuff that uses X
697 dnl ===============================================
701 dnl PNG Support
702 dnl ===========
703 png=yes
704 AC_ARG_ENABLE(png, 
705 [  --disable-png           disable PNG support through libpng],
706         png=$enableval, png=yes, png=no)
709 if test "$png" = yes ; then
710     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
712     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
713         WM_CHECK_HEADER(png.h)
714         if test "x$ac_cv_header_png_h" = xyes; then
715             GFXLIBS="$GFXLIBS -lpng -lz" 
716             supported_gfx="$supported_gfx PNG"
717             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
718         fi
719     fi
723 dnl JPEG Support
724 dnl ============
725 jpeg=yes
726 ljpeg=""
727 AC_ARG_ENABLE(jpeg,
728 [  --disable-jpeg          disable JPEG support through libjpeg],
729         jpeg=$enableval, jpeg=yes, jpeg=no)
731 if test "$jpeg" = yes; then
732     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
734     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
736         ljpeg="-ljpeg"
738         WM_CHECK_HEADER(jpeglib.h)
739         if test "x$ac_cv_header_jpeglib_h" = xyes; then
740             GFXLIBS="$GFXLIBS -ljpeg"
741             supported_gfx="$supported_gfx JPEG"
742             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
743         fi
744     fi
748 dnl GIF Support
749 dnl ============
750 gif=yes
751 AC_ARG_ENABLE(gif,
752 [  --disable-gif           disable GIF support through libgif or libungif],
753         gif=$enableval, gif=yes, gif=no)
755 if test "$gif" = yes; then
756     my_libname=""
757     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
758     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
759         my_libname=-lungif
760     fi
762 dnl libungif is the same thing as libgif for all practical purposes.
764     if test "x$my_libname" = x; then
765         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
766         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
767             my_libname=-lgif
768         fi
769     fi
771     if test "$my_libname" != x; then
772         WM_CHECK_HEADER(gif_lib.h)
773         if test "x$ac_cv_header_gif_lib_h" = xyes; then
774             GFXLIBS="$GFXLIBS $my_libname"
775             supported_gfx="$supported_gfx GIF"
776             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
777         fi
778     fi
783 dnl TIFF Support
784 dnl ============
785 AC_ARG_ENABLE(tiff, 
786 [  --disable-tiff          disable use of TIFF images through libtiff],
787         tif=$enableval, tif=yes, tif=no)
790 # TIFF can optionally have JPEG and/or zlib support. Must find out
791 # when they are supported so that correct library flags are passed during
792 # detection and linkage
795 # By default use xpm icons if tiff is not found.
796 ICONEXT="xpm"
799 if test "$tif" = yes; then
800     my_libname=""
801     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
802     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
803         my_libname="-ltiff"
804     fi
806 dnl Retry with zlib
808     unset ac_cv_lib_tiff_TIFFGetVersion
809     if test "x$my_libname" = x; then
810         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
811         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
812             my_libname="-ltiff -lz"
813         fi
814     fi
816     if test "x$my_libname" = x; then
817         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
818         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
819             my_libname="-ltiff34"
820         fi
821     fi
824     if test "x$my_libname" != x; then
825         WM_CHECK_HEADER(tiffio.h)
826         if test "x$ac_cv_header_tiffio_h" = xyes; then
827             GFXLIBS="$my_libname $GFXLIBS"
828             ICONEXT="tiff"
829             supported_gfx="$supported_gfx TIFF"
830             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
831         fi
832     fi
835 LIBRARY_SEARCH_PATH="$lib_search_path"
836 HEADER_SEARCH_PATH="$inc_search_path"
838 AC_SUBST(LIBRARY_SEARCH_PATH)
839 AC_SUBST(HEADER_SEARCH_PATH)
842 AC_SUBST(GFXLIBS)
843 AC_SUBST(ICONEXT)
846 dnl ==============================================
847 dnl         End of Graphic Format Libraries
848 dnl ==============================================
852 dnl stdlib.h is checked here, because of conflict in jpeglib.h
853 AC_CHECK_HEADERS(stdlib.h)
855 # AC_PREFIX_PROGRAM(wmaker)
857 dnl Support for PIXMAPDIR option
858 dnl ============================
859 AC_ARG_WITH(pixmapdir,
860 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
862 if test "x$with_pixmapdir" != "x"; then
863         pixmapdir=$with_pixmapdir
864 else
865         pixmapdir=`eval echo ${datadir}/pixmaps`
868 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
870 pkgdatadir=`eval echo $datadir`
871 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
873 _sysconfdir=`eval echo $sysconfdir`
874 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
877 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
878 dnl ==============================================
880 appspath=""
882 AC_ARG_WITH(appspath,
883 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
885 if test "x$appspath" = "x"; then
886     gnustepdir='${prefix}/GNUstep'
888     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
889         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
890         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
891     fi
893     with_appspath=$gnustepdir/Applications
896 wprefsdir=$with_appspath/WPrefs.app
898 AC_SUBST(wprefsdir)
901 dnl Enable User Defined Menu thing
902 dnl ==================================
903 AC_ARG_ENABLE(usermenu,
904 [  --enable-usermenu       user defined menus for applications
906 if test "$enableval" = yes; then
907         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
913 dnl Nicolai:  Program tests for Documentation Section
914 dnl =================================================
915 dnl DOCTYPES=""
916 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
917 dnl if test "x$MAKEINFO" != "x" ; then
918 dnl       DOCTYPES="$DOCTYPES info_doc"
919 dnl fi
920 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
921 dnl if test "x$TEX" != "x" ; then
922 dnl       DOCTYPES="$DOCTYPES dvi_doc"
923 dnl fi
924 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
925 dnl if test "x$DVIPS" != "x" ; then
926 dnl       DOCTYPES="$DOCTYPES ps_doc"
927 dnl fi
928 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
929 dnl if test "x$PERL" != "x" ; then
930 dnl       DOCTYPES="$DOCTYPES html_doc"
931 dnl fi
932 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
933 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
934   
935 dnl AC_SUBST(DOCTYPES)
937 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
938         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
939         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
940         WINGs/Extras/Makefile WINGs/po/Makefile \
941         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
942         doc/Makefile doc/sk/Makefile \
943         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
944         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
945         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
946         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
947         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
948         WPrefs.app/po/Makefile \
949         contrib/Makefile contrib/WindowMaker.spec )
950 #       plugins/Makefile plugins/libwmfun/Makefile)
955 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
956 dnl ===================================================================
959 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
960 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
961 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
963 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
964 dnl parsed by m4
966 cat <<EOF >get-wraster-flags
967 #!/bin/sh
969 WCFLAGS="$inc_search_path"
970 WLFLAGS="$lib_search_path"
971 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
973 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
975 if test \$# -eq 0; then
976       echo "\${usage}" 1>&2
977       exit 1
980 while test \$# -gt 0; do
981   case \$1 in
982     --cflags)
983         echo \$WCFLAGS
984         ;;
985     --ldflags|--lflags)
986         echo \$WLFLAGS
987         ;;
988     --libs)
989         echo \$WLIBS
990         ;;
991     *)
992         echo "\${usage}" 1>&2
993         exit 1
994         ;;
995   esac
996   shift
997 done
1002 cat <<EOF > wrlib/wrlib.pc
1003 Name: wrlib
1004 Description: Image manipulation and conversion library
1005 Version: $VERSION
1006 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
1007 Cflags: $inc_search_path
1010 cat <<EOF >get-wings-flags
1011 #!/bin/sh
1013 WCFLAGS="$inc_search_path"
1014 WLFLAGS="$lib_search_path"
1015 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
1017 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1019 if test \$# -eq 0; then
1020       echo "\${usage}" 1>&2
1021       exit 1
1024 while test \$# -gt 0; do
1025   case \$1 in
1026     --cflags)
1027         echo \$WCFLAGS
1028         ;;
1029     --ldflags|--lflags)
1030         echo \$WLFLAGS
1031         ;;
1032     --libs)
1033         echo \$WLIBS
1034         ;;
1035     *)
1036         echo "\${usage}" 1>&2
1037         exit 1
1038         ;;
1039   esac
1040   shift
1041 done
1046 cat <<EOF > WINGs/WINGs.pc
1047 Name: WINGs
1048 Description: Small widget set with the NeXTStep(TM) look and feel
1049 Version: $VERSION
1050 Requires: wrlib
1051 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1052 Cflags: $inc_search_path
1055 cat <<EOF >get-wutil-flags
1056 #!/bin/sh
1058 WCFLAGS="-I`eval echo ${includedir}`"
1059 WLFLAGS="-L${_libdir}"
1060 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1062 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1064 if test \$# -eq 0; then
1065       echo "\${usage}" 1>&2
1066       exit 1
1069 while test \$# -gt 0; do
1070   case \$1 in
1071     --cflags)
1072         echo \$WCFLAGS
1073         ;;
1074     --ldflags|--lflags)
1075         echo \$WLFLAGS
1076         ;;
1077     --libs)
1078         echo \$WLIBS
1079         ;;
1080     *)
1081         echo "\${usage}" 1>&2
1082         exit 1
1083         ;;
1084   esac
1085   shift
1086 done
1091 cat <<EOF > wmlib/wmlib.pc
1092 Name: wmlib
1093 Description: FIXME: What do I write here?
1094 Version: $VERSION
1095 Requires: wrlib
1096 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1097 Cflags: $inc_search_path
1100 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1101 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1102 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1104 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1106 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1110 dnl Spit out the configuration
1111 dnl ==========================
1113 supported_gfx="$supported_gfx builtin-PPM"
1115 if test "x$MOFILES" = "x"; then
1116         mof=None
1117 else
1118         mof=`echo $MOFILES`
1121 if test "x$MOFILES" = "x"; then
1122         languages=None
1123 else
1124         languages=`echo $MOFILES | sed 's/.mo//g'`
1127 extrasupport=''
1128 if test "$openlook_on" = "yes"; then
1129   extrasupport="OpenLook $extrasupport"
1131 if test "$gnome_on" = "yes"; then
1132 extrasupport="Gnome-1.x $extrasupport"
1134 if test "$kde_on" = "yes"; then
1135   extrasupport="KDE-1.x $extrasupport"
1137 if test "x$extrasupport" = "x"; then
1138   extrasupport="None"
1141 echo
1142 echo "Window Maker was configured as follows:"
1143 echo
1144 echo "Installation path prefix            : $prefix"
1145 echo "Installation path for binaries      : $_bindir"
1146 echo "Installation path for WPrefs.app    : $with_appspath" | sed -e 's|\${prefix}|'"$prefix|"
1147 echo "Supported graphic format libraries  : $supported_gfx"
1148 echo "Use assembly routines for wrlib     : $asm_support"
1149 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1150 echo "Antialiased text support in WINGs   : $xft"
1151 echo "Xinerama extension support          : $xinerama"
1152 echo "Virtual desktop support             : $vdesktop_on"
1153 echo "Supported legacy environments       : $extrasupport"
1154 echo "Translated message files to install : $mof"
1155 dnl echo "Supported languages beside English  : $languages"
1156 if test "x$MOFILES" != "x"; then
1157         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1159 echo
1161 dnl WM_PRINT_REDCRAP_BUG_STATUS
1163 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1164 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1165 echo
1166 echo "JPEG support will not be included because the JPEG library is"
1167 echo "not installed correctly or was not found. Background images"
1168 echo "from themes will not display as they usually are JPEG files."
1169 echo
1170 echo "To fix, download and install the jpeg library and/or make sure you"
1171 echo "installed all jpeg related packages, SPECIALLY the development packages"
1172 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1173 echo
1174 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1178 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1179 dnl ================================================
1180 dnl Local Variables:
1181 dnl compile-command: "autoconf"
1182 dnl End: