Started to move towards using xft2 only, for a unified font/locale handling
[wmaker-crm.git] / configure.ac
blobfa4deb3d5df840f789be35f9b094562711c4e0d2
1 dnl
2 dnl Window Maker autoconf input.
3 dnl
4 dnl Process with:
5 dnl               aclocal
6 dnl               autoheader
7 dnl               autoconf
8 dnl               libtoolize --force --automake
9 dnl               automake -a --gnu --include-deps
10 dnl
11 dnl
14 AC_INIT(src/WindowMaker.h)
18 AM_INIT_AUTOMAKE(WindowMaker, 0.81.0)
20 AC_PROG_LIBTOOL
22 # by Marcelo Magallon <mmagallo@efis.ucr.ac.cr>
23 # Turn around -rpath problem with libtool 1.0c
24 # This define should be improbable enough to not conflict with anything
25 case ${host} in
26   *-pc-linux-gnu)
27     AC_MSG_RESULT([Fixing libtool for -rpath problems.])
28     sed < libtool > libtool-2 \
29     's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
30     mv libtool-2 libtool
31     chmod 755 libtool
32   ;;
33 esac
36 AM_CONFIG_HEADER(src/config.h)
39 dnl Checks for host/os name
40 dnl =======================
41 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
44 dnl Checks for programs.
45 dnl ===================
46 AC_ISC_POSIX
47 AC_PROG_CC
48 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
49 #AC_PROG_RANLIB
50 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
51 AC_PROG_LN_S
52 AC_PROG_GCC_TRADITIONAL
55 dnl the prefix
56 dnl ==========
57 dnl
58 dnl move this earlier in the script... anyone know why this is handled
59 dnl in such a bizarre way?
61 test "x$prefix" = xNONE && prefix=$ac_default_prefix
62 dnl Let make expand exec_prefix.
63 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
66 _bindir=`eval echo $bindir`
67 _bindir=`eval echo $_bindir`
69 _libdir=`eval echo $libdir`
70 _libdir=`eval echo $_libdir`
71 lib_search_path="-L$_libdir"
73 inc_search_path=`eval echo $includedir`
74 inc_search_path="-I`eval echo $inc_search_path`"
77 dnl
78 dnl Check for RedHat bugs
79 dnl =====================
81 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
84 dnl
85 dnl Specify paths to look for libraries and headers
86 dnl ===============================================
87 AC_ARG_WITH(libs-from,
88 [  --with-libs-from        pass compiler flags to look for libraries],
89         [lib_search_path="$withval $lib_search_path"])
91 AC_ARG_WITH(incs-from,
92 [  --with-incs-from        pass compiler flags to look for header files],
93         [inc_search_path="$withval $inc_search_path"])
97 dnl Checks for library functions.
98 dnl ============================
99 dnl not used anywhere
100 dnl AC_FUNC_MEMCMP  
101 AC_FUNC_VPRINTF
102 AC_FUNC_ALLOCA
103 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
104                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
105                vasprintf mbsnrtowcs mbsrtowcs)
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         if test "x$XFTCONFIG" != x; then
536                 XFTLIBS=`$XFTCONFIG --libs`
537                 XFTFLAGS=`$XFTCONFIG --cflags`
538                 AC_MSG_CHECKING([for the Xft2 library])
539                 AC_MSG_RESULT([found])
540         fi
541         if test "$xft" = yes; then
542                 AC_SUBST(XFTFLAGS)
543                 AC_SUBST(XFTLIBS)
544                 AC_DEFINE(XFT, 1, [define if you want support for antialiased fonts (set by configure)])
545         fi
548 dnl XINERAMA support
549 dnl ================
550 xinerama=no
551 AC_ARG_ENABLE(xinerama,
552 [  --enable-xinerama       enable Xinerama extension support],
553                 xinerama=$enableval, xinerama=no)
555 if test "$xinerama" = yes; then
556         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
557                 [XLIBS="-lXinerama $XLIBS"
558                 xfxine=yes],
559                 xfxine=no, $XLFLAGS $XLIBS)
561         AC_CHECK_LIB(Xext, XineramaGetInfo,
562                 [sunxine=yes
563                 ], sunxine=no, $XLFLAGS $XLIBS)
565         if test "$xfxine" = yes; then
566                 xine=1
567         fi
569         if test "$sunxine" = yes; then
570             xine=1
571             AC_DEFINE(SOLARIS_XINERAMA, 1, 
572                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
573         fi
575         if test "$xine" = 1; then
576             AC_DEFINE(XINERAMA, 1, 
577                 [define if you want support for the XINERAMA extension (set by configure)])
578         fi
583 dnl MIT-SHM support
584 dnl ===============
585 shm=yes
586 AC_ARG_ENABLE(shm,
587 [  --disable-shm           disable usage of MIT-SHM extension],
588                 shm=$enableval, shm=yes)
590 if test "$shm" = yes; then
591         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
593         if test "$ok" = yes; then
594         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
595         fi
597         if test "$ok" = yes; then
598                 if test "$added_xext" = no; then
599                         XLIBS="-lXext $XLIBS"
600                 fi
601                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
602         fi
606 dnl R6 Style Session Management Support
607 dnl ===================================
611 #AC_DEFINE(R6SM)
612 #AC_SUBST(XSMPLIBS)
616 dnl ==============================================
617 dnl         Graphic Format Libraries
618 dnl ==============================================
624 dnl XPM Support
625 dnl ===========
626 xpm=yes
627 AC_ARG_ENABLE(xpm, 
628 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
629         xpm=$enableval, xpm=yes)
631 if test "$xpm" = yes; then
632     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
634     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
635         WM_CHECK_HEADER(X11/xpm.h)
636         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
637                 GFXLIBS="$GFXLIBS -lXpm"
638                 supported_gfx="XPM"
639                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
640         else
641                 supported_gfx="builtin-XPM"
642         fi
643     fi
646 # for wmlib
647 AC_SUBST(XCFLAGS)
648 # for test
649 AC_SUBST(XLFLAGS)
650 AC_SUBST(XLIBS)
652 AC_SUBST(X_EXTRA_LIBS)
654 dnl ===============================================
655 dnl             End of stuff that uses X
656 dnl ===============================================
660 dnl PNG Support
661 dnl ===========
662 png=yes
663 AC_ARG_ENABLE(png, 
664 [  --disable-png           disable PNG support through libpng],
665         png=$enableval, png=yes, png=no)
668 if test "$png" = yes ; then
669     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
671     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
672         WM_CHECK_HEADER(png.h)
673         if test "x$ac_cv_header_png_h" = xyes; then
674             GFXLIBS="$GFXLIBS -lpng -lz" 
675             supported_gfx="$supported_gfx PNG"
676             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
677         fi
678     fi
682 dnl JPEG Support
683 dnl ============
684 jpeg=yes
685 ljpeg=""
686 AC_ARG_ENABLE(jpeg,
687 [  --disable-jpeg          disable JPEG support through libjpeg],
688         jpeg=$enableval, jpeg=yes, jpeg=no)
690 if test "$jpeg" = yes; then
691     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
693     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
695         ljpeg="-ljpeg"
697         WM_CHECK_HEADER(jpeglib.h)
698         if test "x$ac_cv_header_jpeglib_h" = xyes; then
699             GFXLIBS="$GFXLIBS -ljpeg"
700             supported_gfx="$supported_gfx JPEG"
701             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
702         fi
703     fi
707 dnl GIF Support
708 dnl ============
709 gif=yes
710 AC_ARG_ENABLE(gif,
711 [  --disable-gif           disable GIF support through libgif or libungif],
712         gif=$enableval, gif=yes, gif=no)
714 if test "$gif" = yes; then
715     my_libname=""
716     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
717     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
718         my_libname=-lungif
719     fi
721 dnl libungif is the same thing as libgif for all practical purposes.
723     if test "x$my_libname" = x; then
724         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
725         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
726             my_libname=-lgif
727         fi
728     fi
730     if test "$my_libname" != x; then
731         WM_CHECK_HEADER(gif_lib.h)
732         if test "x$ac_cv_header_gif_lib_h" = xyes; then
733             GFXLIBS="$GFXLIBS $my_libname"
734             supported_gfx="$supported_gfx GIF"
735             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
736         fi
737     fi
742 dnl TIFF Support
743 dnl ============
744 AC_ARG_ENABLE(tiff, 
745 [  --disable-tiff          disable use of TIFF images through libtiff],
746         tif=$enableval, tif=yes, tif=no)
749 # TIFF can optionally have JPEG and/or zlib support. Must find out
750 # when they are supported so that correct library flags are passed during
751 # detection and linkage
754 # By default use xpm icons if tiff is not found.
755 ICONEXT="xpm"
758 if test "$tif" = yes; then
759     my_libname=""
760     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
761     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
762         my_libname="-ltiff"
763     fi
765 dnl Retry with zlib
767     unset ac_cv_lib_tiff_TIFFGetVersion
768     if test "x$my_libname" = x; then
769         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
770         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
771             my_libname="-ltiff -lz"
772         fi
773     fi
775     if test "x$my_libname" = x; then
776         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
777         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
778             my_libname="-ltiff34"
779         fi
780     fi
783     if test "x$my_libname" != x; then
784         WM_CHECK_HEADER(tiffio.h)
785         if test "x$ac_cv_header_tiffio_h" = xyes; then
786             GFXLIBS="$my_libname $GFXLIBS"
787             ICONEXT="tiff"
788             supported_gfx="$supported_gfx TIFF"
789             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
790         fi
791     fi
794 LIBRARY_SEARCH_PATH="$lib_search_path"
795 HEADER_SEARCH_PATH="$inc_search_path"
797 AC_SUBST(LIBRARY_SEARCH_PATH)
798 AC_SUBST(HEADER_SEARCH_PATH)
801 AC_SUBST(GFXLIBS)
802 AC_SUBST(ICONEXT)
805 dnl ==============================================
806 dnl         End of Graphic Format Libraries
807 dnl ==============================================
811 dnl stdlib.h is checked here, because of conflict in jpeglib.h
812 AC_CHECK_HEADERS(stdlib.h)
814 # AC_PREFIX_PROGRAM(wmaker)
816 dnl Support for PIXMAPDIR option
817 dnl ============================
818 AC_ARG_WITH(pixmapdir,
819 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
821 if test "x$with_pixmapdir" != "x"; then
822         pixmapdir=$with_pixmapdir
823 else
824         pixmapdir=`eval echo ${datadir}/pixmaps`
827 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
829 pkgdatadir=`eval echo $datadir`
830 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
832 _sysconfdir=`eval echo $sysconfdir`
833 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
836 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
837 dnl ==============================================
839 appspath=""
841 AC_ARG_WITH(appspath,
842 [  --with-appspath=PATH    specify the directory for GNUstep applications], appspath=$withval )
844 if test "x$appspath" = "x"; then
845     gnustepdir='$(prefix)/GNUstep'
847     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
848         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
849         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
850     fi
852     with_appspath=$gnustepdir/Apps
855 wprefsdir=$with_appspath/WPrefs.app
857 AC_SUBST(wprefsdir)
860 dnl Enable User Defined Menu thing
861 dnl ==================================
862 AC_ARG_ENABLE(usermenu,
863 [  --enable-usermenu       user defined menus for applications
865 if test "$enableval" = yes; then
866         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
872 dnl Nicolai:  Program tests for Documentation Section
873 dnl =================================================
874 dnl DOCTYPES=""
875 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
876 dnl if test "x$MAKEINFO" != "x" ; then
877 dnl       DOCTYPES="$DOCTYPES info_doc"
878 dnl fi
879 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
880 dnl if test "x$TEX" != "x" ; then
881 dnl       DOCTYPES="$DOCTYPES dvi_doc"
882 dnl fi
883 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
884 dnl if test "x$DVIPS" != "x" ; then
885 dnl       DOCTYPES="$DOCTYPES ps_doc"
886 dnl fi
887 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
888 dnl if test "x$PERL" != "x" ; then
889 dnl       DOCTYPES="$DOCTYPES html_doc"
890 dnl fi
891 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
892 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
893   
894 dnl AC_SUBST(DOCTYPES)
896 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile \
897         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
898         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
899         WINGs/Extras/Makefile WINGs/po/Makefile \
900         wmlib/Makefile wrlib/Makefile src/Makefile src/wconfig.h \
901         doc/Makefile doc/sk/Makefile \
902         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
903         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
904         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
905         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
906         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
907         WPrefs.app/po/Makefile \
908         contrib/Makefile contrib/WindowMaker.spec )
909 #       plugins/Makefile plugins/libwmfun/Makefile)
914 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
915 dnl ===================================================================
918 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
919 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
920 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
922 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
923 dnl parsed by m4
925 cat <<EOF >get-wraster-flags
926 #!/bin/sh
928 WCFLAGS="$inc_search_path"
929 WLFLAGS="$lib_search_path"
930 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
932 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
934 if test \$# -eq 0; then
935       echo "\${usage}" 1>&2
936       exit 1
939 while test \$# -gt 0; do
940   case \$1 in
941     --cflags)
942         echo \$WCFLAGS
943         ;;
944     --ldflags|--lflags)
945         echo \$WLFLAGS
946         ;;
947     --libs)
948         echo \$WLIBS
949         ;;
950     *)
951         echo "\${usage}" 1>&2
952         exit 1
953         ;;
954   esac
955   shift
956 done
961 cat <<EOF > wrlib/wrlib.pc
962 Name: wrlib
963 Description: Image manipulation and conversion library
964 Version: $VERSION
965 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
966 Cflags: $inc_search_path
969 cat <<EOF >get-wings-flags
970 #!/bin/sh
972 WCFLAGS="$inc_search_path"
973 WLFLAGS="$lib_search_path"
974 WLIBS="-lWINGs -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
976 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
978 if test \$# -eq 0; then
979       echo "\${usage}" 1>&2
980       exit 1
983 while test \$# -gt 0; do
984   case \$1 in
985     --cflags)
986         echo \$WCFLAGS
987         ;;
988     --ldflags|--lflags)
989         echo \$WLFLAGS
990         ;;
991     --libs)
992         echo \$WLIBS
993         ;;
994     *)
995         echo "\${usage}" 1>&2
996         exit 1
997         ;;
998   esac
999   shift
1000 done
1005 cat <<EOF > WINGs/WINGs.pc
1006 Name: WINGs
1007 Description: Small widget set with the NeXTStep(TM) look and feel
1008 Version: $VERSION
1009 Requires: wrlib
1010 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
1011 Cflags: $inc_search_path
1014 cat <<EOF >get-wutil-flags
1015 #!/bin/sh
1017 WCFLAGS="-I`eval echo ${includedir}`"
1018 WLFLAGS="-L${_libdir}"
1019 WLIBS="-lWUtil $NETLIBS $INTLIBS"
1021 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
1023 if test \$# -eq 0; then
1024       echo "\${usage}" 1>&2
1025       exit 1
1028 while test \$# -gt 0; do
1029   case \$1 in
1030     --cflags)
1031         echo \$WCFLAGS
1032         ;;
1033     --ldflags|--lflags)
1034         echo \$WLFLAGS
1035         ;;
1036     --libs)
1037         echo \$WLIBS
1038         ;;
1039     *)
1040         echo "\${usage}" 1>&2
1041         exit 1
1042         ;;
1043   esac
1044   shift
1045 done
1050 cat <<EOF > wmlib/wmlib.pc
1051 Name: wmlib
1052 Description: FIXME: What do I write here?
1053 Version: $VERSION
1054 Requires: wrlib
1055 Libs: $lib_search_path -lWUtil $NETLIBS $INTLIBS
1056 Cflags: $inc_search_path
1059 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1060 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1061 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1063 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1065 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1069 dnl Spit out the configuration
1070 dnl ==========================
1072 supported_gfx="$supported_gfx builtin-PPM"
1074 if test "x$MOFILES" = "x"; then
1075         mof=none
1076 else
1077         mof=`echo $MOFILES`
1080 if test "x$MOFILES" = "x"; then
1081         languages=none
1082 else
1083         languages=`echo $MOFILES | sed 's/.mo//g'`
1087 echo
1088 echo "Window Maker was configured as follows:"
1089 echo
1090 echo "Installation path prefix            : $prefix"
1091 echo "Installation path for binaries      : $_bindir"
1092 echo "Installation path for WPrefs.app    : $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
1093 echo "Supported graphic format libraries  : $supported_gfx"
1094 echo "Antialiased font support for WINGs  : $xft"
1095 echo "Xinerama extension support          : $xinerama"
1096 echo "Use assembly routines for wrlib     : $asm_support"
1097 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1098 echo "Translated message files to install : $mof"
1099 dnl echo "Supported languages beside English  : $languages"
1100 if test "x$MOFILES" != "x"; then
1101         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1103 echo
1105 dnl WM_PRINT_REDCRAP_BUG_STATUS
1107 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1108 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1109 echo
1110 echo "JPEG support will not be included because the JPEG library is"
1111 echo "not installed correctly or was not found. Background images"
1112 echo "from themes will not display as they usually are JPEG files."
1113 echo
1114 echo "To fix, download and install the jpeg library and/or make sure you"
1115 echo "installed all jpeg related packages, SPECIALLY the development packages"
1116 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1117 echo
1118 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1122 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1123 dnl ================================================
1124 dnl Local Variables:
1125 dnl compile-command: "autoconf"
1126 dnl End: