Added a simple "draw" program
[wmaker-crm.git] / configure.ac
blob0f7fc52e295ce839d7a286de89131495a8549061
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)
17 AC_CONFIG_MACRO_DIR([m4])
18 AM_INIT_AUTOMAKE(WindowMaker, 0.94.0-crm)
19 AM_CONFIG_HEADER(src/config.h)
22 dnl Checks for host/os name
23 dnl =======================
24 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
27 dnl Checks for programs.
28 dnl ===================
29 AC_ISC_POSIX
30 AC_PROG_CC
31 AC_PROG_LN_S
32 AC_PROG_GCC_TRADITIONAL
33 AC_PROG_LIBTOOL
35 AX_CFLAGS_GCC_OPTION(-Wall)
36 AX_CFLAGS_GCC_OPTION(-Wextra)
38 dnl Platform-specific Makefile setup
39 dnl ================================
41 case "${host}" in
42         *-*-linux*|*-*-cygwin*)
43                 WM_OSDEP="linux"
44         ;;
45         *-*-freebsd*)
46                 WM_OSDEP="bsd"
47                 CFLAGS="$CFLAGS -DFREEBSD"
48         ;;
49         *-*-netbsd*)
50                 WM_OSDEP="bsd"
51                 CFLAGS="$CFLAGS -DNETBSD"
52         ;;
53         *-*-openbsd*)
54                 WM_OSDEP="bsd"
55         CFLAGS="$CFLAGS -DOPENBSD"
56         ;;
57         *-*-dragonfly*)
58                 WM_OSDEP="bsd"
59                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
60         ;;
61         *-apple-darwin*)
62                 WM_OSDEP="darwin"
63         ;;
64         *-*-solaris*)
65                 WM_OSDEP="stub"         # solaris.c when done
66         ;;
67         *)
68                 WM_OSDEP="stub"
69                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
70         ;;
71 esac
72 AC_SUBST(WM_OSDEP)
75 dnl the prefix
76 dnl ==========
77 dnl
78 dnl move this earlier in the script... anyone know why this is handled
79 dnl in such a bizarre way?
81 test "x$prefix" = xNONE && prefix=$ac_default_prefix
82 dnl Let make expand exec_prefix.
83 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
86 _bindir=`eval echo $bindir`
87 _bindir=`eval echo $_bindir`
89 _libdir=`eval echo $libdir`
90 _libdir=`eval echo $_libdir`
91 lib_search_path="-L$_libdir"
93 inc_search_path=`eval echo $includedir`
94 inc_search_path="-I`eval echo $inc_search_path`"
96 dnl
97 dnl Specify paths to look for libraries and headers
98 dnl ===============================================
99 AC_ARG_WITH(libs-from,
100 [  --with-libs-from        pass compiler flags to look for libraries],
101         [lib_search_path="$withval $lib_search_path"])
103 AC_ARG_WITH(incs-from,
104 [  --with-incs-from        pass compiler flags to look for header files],
105         [inc_search_path="$withval $inc_search_path"])
109 dnl Checks for library functions.
110 dnl ============================
111 dnl not used anywhere
112 dnl AC_FUNC_MEMCMP  
113 AC_FUNC_VPRINTF
114 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
115                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
116                vasprintf)
118 dnl ripped from samba
119 dnl 
120 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
121 AC_TRY_RUN([
122 #include <sys/types.h>
123 #include <stdarg.h>
124 void foo(const char *format, ...) { 
125        va_list ap;
126        int len;
127        char buf[5];
129        va_start(ap, format);
130        len = vsnprintf(0, 0, format, ap);
131        va_end(ap);
132        if (len != 5) exit(1);
134        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
136        exit(0);
138 main() { foo("hello"); }
140 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
141 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
142     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
145 dnl Check for inotify
146 dnl =================
147 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
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)
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
209 check_for_mmx_support=yes
210 AC_ARG_ENABLE(mmx,
211    [  --disable-mmx          disable compilation of MMX inline assembly ],
212    [if test x$enableval != xyes; then
213     check_for_mmx_support=no
214     fi])
216 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
217 case $host_cpu in
218 *i?86*)
220     # gcc-3.3 or newer complains about some of our stuff without this
221     NOSTRICTALIASING="-fno-strict-aliasing"
223     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
224                    ac_cv_c_inline_asm,
225                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
226                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
227                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
228                    ac_cv_c_inline_asm=yes,
229                    ac_cv_c_inline_asm=no)])
231     if test "x$ac_cv_c_inline_asm" = xyes; then
232        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
233        asm_support=yes
235        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
236                       ac_cv_c_inline_mmx,
237                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
238                       ac_cv_c_inline_mmx=yes,
239                       ac_cv_c_inline_mmx=no)])
241        if test "x$ac_cv_c_inline_mmx" = xyes; then
242           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
243           mmx_support=yes
244        fi
245     fi
246     ;;
247 esac
249 AC_SUBST(NOSTRICTALIASING)
252 dnl pkg-config
253 dnl ----------
254 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
255 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
258 dnl gettext
259 dnl -------
262 dnl AM_GNU_GETTEXT
266 INTLIBS=""
268 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
269         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
270                          INTLIBS="" ))
272 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
274 if test "$XGETTEXT" != ""; then 
275     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
276         echo "xgettext isn't GNU version"
277         XGETTEXT=""
278     fi
281 if test "$LINGUAS" != ""; then
282     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
283         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
284         PO=""
285         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
286     else
287         LINGUAS=""
288         PO=""
289         echo "xgettext and libintl.a don't both exist; will not build i18n support"
290     fi
291 else
292         INTLIBS=""
293         MOFILES=""
294         WPMOFILES=""
295         UTILMOFILES=""
296         PO=""
300 dnl The Tower of Babel
301 dnl ==================
303 dnl List of supported locales
304 dnl -------------------------
305 supported_locales="be bg bs ca cs da de el es et fi fr gl hr hu hy it ja ko ms nl no pl pt ro ru sk sv tr zh_CN zh_TW"
306 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
307 supported_wings_locales="bg ca cs de fr sk"
308 supported_util_locales="de"
310 for lang in $LINGUAS; do
311         ok=0
312         for l in $supported_locales; do
313                 if test "$l" = "$lang"; then
314                         ok=1
315                         break
316                 fi
317         done
318         if test "$ok" = 1; then
319                 MOFILES="$MOFILES $lang.mo"
320         else
321                 echo "Locale $lang is not supported."
322         fi
323         ok=0
324         for l in $supported_wprefs_locales; do
325                 if test "$l" = "$lang"; then
326                         ok=1
327                         break
328                 fi
329         done
330         if test "$ok" = 1; then
331                 WPMOFILES="$WPMOFILES $lang.mo"
332         fi
333         ok=0
334         for l in $supported_util_locales; do
335                 if test "$l" = "$lang"; then
336                         ok=1
337                         break
338                 fi
339         done
340         if test "$ok" = 1; then
341                 UTILMOFILES="$UTILMOFILES $lang.mo"
342         fi
343         ok=0
344         for l in $supported_wings_locales; do
345                 if test "$l" = "$lang"; then
346                         ok=1
347                         break
348                 fi
349         done
350         if test "$ok" = 1; then
351                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
352         fi
353 done
356 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
357 dnl ===========================================
358 AC_ARG_WITH(nlsdir, 
359         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
362 if test "x$NLSDIR" = "x"; then
363         if test "x$with_nlsdir" != "x"; then
364                 NLSDIR=$with_nlsdir
365         else
366                 NLSDIR='$(prefix)/lib/locale'
367         fi
372 AC_SUBST(INTLIBS)
373 AC_SUBST(NLSDIR)
374 AC_SUBST(MOFILES)
375 AC_SUBST(WPMOFILES)
376 AC_SUBST(UTILMOFILES)
377 AC_SUBST(WINGSMOFILES)
378 AC_SUBST(supported_locales)
382 dnl Support for various hint things
383 dnl ===============================
386 dnl Beautify compilation messages
387 dnl ---------------------------------------------
388 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
389                                [Streamline compilation messages (default off)]),
390   [
391         QUIET='@echo "     CC" $@;'
392         QUIET_AR='@echo "     AR" $@;'
393         LIBTOOL_ARG="--silent"
394         MAKEFLAGS="-s"
395         AC_SUBST(QUIET)
396         AC_SUBST(QUIET_AR)
397         AC_SUBST(LIBTOOL_ARG)
398         AC_SUBST(MAKEFLAGS)
402 dnl ===========================================
403 dnl             Stuff that uses X
404 dnl ===========================================
406 AC_PATH_XTRA
408 if test $no_x; then
409     AC_MSG_ERROR([The path for the X11 files not found!
410 Make sure you have X and it's headers and libraries (the -devel packages
411 in Linux) installed.])
414 X_LIBRARY_PATH=$x_libraries
416 XCFLAGS="$X_CFLAGS"
418 XLFLAGS="$X_LIBS"
420 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
423 lib_search_path="$lib_search_path $XLFLAGS"
424 inc_search_path="$inc_search_path $XCFLAGS"
427 AC_SUBST(X_LIBRARY_PATH)
431 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
432 dnl by MANOME Tomonori 
433 dnl ===========================================
434 use_locale=yes
435 AC_ARG_ENABLE(locale, 
436 [  --disable-locale        disable use of X locale support],
437                 use_locale=no)
439 if test "$use_locale" = yes; then
440         AC_CHECK_LIB(X11, _Xsetlocale,
441                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
442                 $XLFLAGS $XLIBS)
446 dnl Check whether XInternAtoms() exist
447 dnl ==================================
448 AC_CHECK_LIB(X11, XInternAtoms, 
449              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
450              $XLFLAGS $XLIBS)
452 dnl Check whether XConvertCase() exist
453 dnl ==================================
454 AC_CHECK_LIB(X11, XConvertCase, 
455              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
456              $XLFLAGS $XLIBS)
459 dnl XKB keyboard language status
460 dnl ============================
461 AC_ARG_ENABLE(modelock,
462 [  --enable-modelock       XKB keyboard language status support],
463                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
467 dnl Shape support
468 dnl =============
469 shape=yes
470 AC_ARG_ENABLE(shape, 
471 [  --disable-shape         disable shaped window extension support],
472                 shape=$enableval, shape=yes)
474 added_xext=no
476 if test "$shape" = yes; then
477         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
478                 added_xext=yes
479                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
480                 shape=no, $XLFLAGS $XLIBS)
484 dnl Xft2 antialiased font support
485 dnl =============================
487 xft=yes
488 XFTLIBS=""
490 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
491         XFTCONFIG="$PKGCONFIG xft"
492         pkgconfig_xft=yes
493 else
494         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
497 AC_MSG_CHECKING([for the Xft2 library])
499 if test "x$XFTCONFIG" != x; then
500         XFTLIBS=`$XFTCONFIG --libs`
501         XFTFLAGS=`$XFTCONFIG --cflags`
502         AC_MSG_RESULT([found])
503 else
504         AC_MSG_RESULT([not found])
505         echo
506         echo "ERROR!!! libXft2 is not installed or could not be found."
507         echo "         Xft2 is a requirement for building Window Maker."
508         echo "         Please install it (along with fontconfig) before continuing."
509         echo
510         exit 1
513 minXFT="2.1.0"
514 goodxft="no"
518 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
520 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
522 if test "$goodxft" = no; then
523         echo
524         echo "ERROR!!! libXft on this system is an old version."
525         echo "         Please consider upgrading to at least version ${minXFT}."
526         echo
527         exit 1
530 AC_SUBST(XFTFLAGS)
531 AC_SUBST(XFTLIBS)
534 dnl glib2
535 dnl =====
536 PKG_CHECK_MODULES(GLIB, [glib-2.0 > 2.6.0])
538 dnl Cairo
539 dnl =====
540 PKG_CHECK_MODULES(CAIRO, [cairo])
543 dnl XINERAMA support
544 dnl ================
545 xinerama=no
546 AC_ARG_ENABLE(xinerama,
547 [  --enable-xinerama       enable Xinerama extension support],
548                 xinerama=$enableval, xinerama=no)
550 if test "$xinerama" = yes; then
551         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
552                 [XLIBS="-lXinerama $XLIBS"
553                 xfxine=yes],
554                 xfxine=no, $XLFLAGS $XLIBS)
556         AC_CHECK_LIB(Xext, XineramaGetInfo,
557                 [sunxine=yes
558                 ], sunxine=no, $XLFLAGS $XLIBS)
560         if test "$xfxine" = yes; then
561                 xine=1
562         fi
564         if test "$sunxine" = yes; then
565             xine=1
566             AC_DEFINE(SOLARIS_XINERAMA, 1, 
567                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
568         fi
570         if test "$xine" = 1; then
571             AC_DEFINE(XINERAMA, 1, 
572                 [define if you want support for the XINERAMA extension (set by configure)])
573         fi
578 dnl MIT-SHM support
579 dnl ===============
580 shm=yes
581 AC_ARG_ENABLE(shm,
582 [  --disable-shm           disable usage of MIT-SHM extension],
583                 shm=$enableval, shm=yes)
585 if test "$shm" = yes; then
586         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
588         if test "$ok" = yes; then
589         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
590         fi
592         if test "$ok" = yes; then
593                 if test "$added_xext" = no; then
594                         XLIBS="-lXext $XLIBS"
595                 fi
596                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
597         fi
601 dnl R6 Style Session Management Support
602 dnl ===================================
606 #AC_DEFINE(R6SM)
607 #AC_SUBST(XSMPLIBS)
611 dnl ==============================================
612 dnl         Graphic Format Libraries
613 dnl ==============================================
619 dnl XPM Support
620 dnl ===========
621 xpm=yes
622 AC_ARG_ENABLE(xpm, 
623 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
624         xpm=$enableval, xpm=yes)
626 if test "$xpm" = yes; then
627     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
629     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
630         WM_CHECK_HEADER(X11/xpm.h)
631         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
632                 GFXLIBS="$GFXLIBS -lXpm"
633                 supported_gfx="XPM"
634                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
635         else
636                 supported_gfx="builtin-XPM"
637         fi
638     fi
641 AC_SUBST(XLFLAGS)
642 AC_SUBST(XLIBS)
643 AC_SUBST(X_EXTRA_LIBS)
645 dnl ===============================================
646 dnl             End of stuff that uses X
647 dnl ===============================================
651 dnl PNG Support
652 dnl ===========
653 png=yes
654 AC_ARG_ENABLE(png, 
655 [  --disable-png           disable PNG support through libpng],
656         png=$enableval, png=yes, png=no)
659 if test "$png" = yes ; then
660     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
662     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
663         WM_CHECK_HEADER(png.h)
664         if test "x$ac_cv_header_png_h" = xyes; then
665             GFXLIBS="$GFXLIBS -lpng -lz" 
666             supported_gfx="$supported_gfx PNG"
667             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
668         fi
669     fi
673 dnl JPEG Support
674 dnl ============
675 jpeg=yes
676 ljpeg=""
677 AC_ARG_ENABLE(jpeg,
678 [  --disable-jpeg          disable JPEG support through libjpeg],
679         jpeg=$enableval, jpeg=yes, jpeg=no)
681 if test "$jpeg" = yes; then
682     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
684     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
686         ljpeg="-ljpeg"
688         WM_CHECK_HEADER(jpeglib.h)
689         if test "x$ac_cv_header_jpeglib_h" = xyes; then
690             GFXLIBS="$GFXLIBS -ljpeg"
691             supported_gfx="$supported_gfx JPEG"
692             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
693         fi
694     fi
698 dnl GIF Support
699 dnl ============
700 gif=yes
701 AC_ARG_ENABLE(gif,
702 [  --disable-gif           disable GIF support through libgif or libungif],
703         gif=$enableval, gif=yes, gif=no)
705 if test "$gif" = yes; then
706     my_libname=""
707     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
708     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
709         my_libname=-lungif
710     fi
712 dnl libungif is the same thing as libgif for all practical purposes.
714     if test "x$my_libname" = x; then
715         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
716         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
717             my_libname=-lgif
718         fi
719     fi
721     if test "$my_libname" != x; then
722         WM_CHECK_HEADER(gif_lib.h)
723         if test "x$ac_cv_header_gif_lib_h" = xyes; then
724             GFXLIBS="$GFXLIBS $my_libname"
725             supported_gfx="$supported_gfx GIF"
726             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
727         fi
728     fi
733 dnl TIFF Support
734 dnl ============
735 AC_ARG_ENABLE(tiff, 
736 [  --disable-tiff          disable use of TIFF images through libtiff],
737         tif=$enableval, tif=yes, tif=no)
740 # TIFF can optionally have JPEG and/or zlib support. Must find out
741 # when they are supported so that correct library flags are passed during
742 # detection and linkage
745 # By default use xpm icons if tiff is not found.
746 ICONEXT="xpm"
749 if test "$tif" = yes; then
750     my_libname=""
751     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
752     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
753         my_libname="-ltiff"
754     fi
756 dnl Retry with zlib
758     unset ac_cv_lib_tiff_TIFFGetVersion
759     if test "x$my_libname" = x; then
760         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
761         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
762             my_libname="-ltiff -lz"
763         fi
764     fi
766     if test "x$my_libname" = x; then
767         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
768         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
769             my_libname="-ltiff34"
770         fi
771     fi
774     if test "x$my_libname" != x; then
775         WM_CHECK_HEADER(tiffio.h)
776         if test "x$ac_cv_header_tiffio_h" = xyes; then
777             GFXLIBS="$my_libname $GFXLIBS"
778             ICONEXT="tiff"
779             supported_gfx="$supported_gfx TIFF"
780             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
781         fi
782     fi
785 LIBRARY_SEARCH_PATH="$lib_search_path"
786 HEADER_SEARCH_PATH="$inc_search_path"
788 AC_SUBST(LIBRARY_SEARCH_PATH)
789 AC_SUBST(HEADER_SEARCH_PATH)
792 AC_SUBST(GFXLIBS)
793 AC_SUBST(ICONEXT)
796 dnl ==============================================
797 dnl         End of Graphic Format Libraries
798 dnl ==============================================
802 dnl stdlib.h is checked here, because of conflict in jpeglib.h
803 AC_CHECK_HEADERS(stdlib.h)
805 # AC_PREFIX_PROGRAM(wmaker)
807 dnl Support for PIXMAPDIR option
808 dnl ============================
809 AC_ARG_WITH(pixmapdir,
810 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
812 if test "x$with_pixmapdir" != "x"; then
813         pixmapdir=$with_pixmapdir
814 else
815         pixmapdir=`eval echo ${datadir}/pixmaps`
818 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
820 pkgdatadir=`eval echo $datadir`
821 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
823 _sysconfdir=`eval echo $sysconfdir`
824 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
827 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
828 dnl ==============================================
830 AC_ARG_WITH(appspath,
831 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
833 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
834     appspath=$with_gnustepdir
837 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
838     wprefs_base_dir=${prefix}
839     wprefs_datadir="${datadir}/WPrefs"
840     wprefs_bindir="${bindir}"
841 else
842     gnustepdir=$appspath
844     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
845         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
846         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
847     fi
849     wprefs_base_dir=$gnustepdir/Applications
850     wprefs_datadir=$wprefs_base_dir/WPrefs.app
851     wprefs_bindir=$wprefs_base_dir/WPrefs.app
854 AC_SUBST(wprefs_datadir)
855 AC_SUBST(wprefs_bindir)
858 dnl Enable User Defined Menu thing
859 dnl ==================================
860 AC_ARG_ENABLE(usermenu,
861 [  --enable-usermenu       user defined menus for applications
863 if test "$enableval" = yes; then
864         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
869 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
870         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
871         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
872         WINGs/Extras/Makefile WINGs/po/Makefile \
873         wrlib/Makefile wrlib/tests/Makefile \
874         src/Makefile src/wconfig.h \
875         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
876         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
877         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
878         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
879         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
880         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
881         WPrefs.app/po/Makefile \
882         test/cairo/Makefile )
887 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
888 dnl ===================================================================
891 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
892 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
893 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
895 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
896 dnl parsed by m4
898 cat <<EOF >get-wraster-flags
899 #!/bin/sh
901 WCFLAGS="$inc_search_path"
902 WLFLAGS="$lib_search_path"
903 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
905 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
907 if test \$# -eq 0; then
908       echo "\${usage}" 1>&2
909       exit 1
912 while test \$# -gt 0; do
913   case \$1 in
914     --cflags)
915         echo \$WCFLAGS
916         ;;
917     --ldflags|--lflags)
918         echo \$WLFLAGS
919         ;;
920     --libs)
921         echo \$WLIBS
922         ;;
923     *)
924         echo "\${usage}" 1>&2
925         exit 1
926         ;;
927   esac
928   shift
929 done
934 cat <<EOF > wrlib/wrlib.pc
935 Name: wrlib
936 Description: Image manipulation and conversion library
937 Version: $VERSION
938 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
939 Cflags: $inc_search_path
942 cat <<EOF >get-wings-flags
943 #!/bin/sh
945 WCFLAGS="$inc_search_path"
946 WLFLAGS="$lib_search_path"
947 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
949 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
951 if test \$# -eq 0; then
952       echo "\${usage}" 1>&2
953       exit 1
956 while test \$# -gt 0; do
957   case \$1 in
958     --cflags)
959         echo \$WCFLAGS
960         ;;
961     --ldflags|--lflags)
962         echo \$WLFLAGS
963         ;;
964     --libs)
965         echo \$WLIBS
966         ;;
967     *)
968         echo "\${usage}" 1>&2
969         exit 1
970         ;;
971   esac
972   shift
973 done
978 cat <<EOF > WINGs/WINGs.pc
979 Name: WINGs
980 Description: Small widget set with the NeXTStep(TM) look and feel
981 Version: $VERSION
982 Requires: wrlib
983 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
984 Cflags: $inc_search_path
987 cat <<EOF >get-wutil-flags
988 #!/bin/sh
990 WCFLAGS="-I`eval echo ${includedir}`"
991 WLFLAGS="-L${_libdir}"
992 WLIBS="-lWUtil $INTLIBS"
994 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
996 if test \$# -eq 0; then
997       echo "\${usage}" 1>&2
998       exit 1
1001 while test \$# -gt 0; do
1002   case \$1 in
1003     --cflags)
1004         echo \$WCFLAGS
1005         ;;
1006     --ldflags|--lflags)
1007         echo \$WLFLAGS
1008         ;;
1009     --libs)
1010         echo \$WLIBS
1011         ;;
1012     *)
1013         echo "\${usage}" 1>&2
1014         exit 1
1015         ;;
1016   esac
1017   shift
1018 done
1023 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1024 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1025 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1027 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1029 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1033 dnl Spit out the configuration
1034 dnl ==========================
1036 supported_gfx="$supported_gfx builtin-PPM"
1038 if test "x$MOFILES" = "x"; then
1039         mof=None
1040 else
1041         mof=`echo $MOFILES`
1044 if test "x$MOFILES" = "x"; then
1045         languages=None
1046 else
1047         languages=`echo $MOFILES | sed 's/.mo//g'`
1050 echo
1051 echo "Window Maker was configured as follows:"
1052 echo
1053 echo "Installation path prefix            : $prefix"
1054 echo "Installation path for binaries      : $_bindir"
1055 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1056 echo "Supported graphic format libraries  : $supported_gfx"
1057 echo "Use assembly routines for wrlib     : $asm_support"
1058 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1059 echo "Antialiased text support in WINGs   : $xft"
1060 echo "Xinerama extension support          : $xinerama"
1061 echo "Translated message files to install : $mof"
1062 dnl echo "Supported languages beside English  : $languages"
1063 if test "x$MOFILES" != "x"; then
1064         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1066 echo
1068 dnl WM_PRINT_REDCRAP_BUG_STATUS
1070 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1071 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1072 echo
1073 echo "JPEG support will not be included because the JPEG library is"
1074 echo "not installed correctly or was not found. Background images"
1075 echo "from themes will not display as they usually are JPEG files."
1076 echo
1077 echo "To fix, download and install the jpeg library and/or make sure you"
1078 echo "installed all jpeg related packages, SPECIALLY the development packages"
1079 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1080 echo
1081 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1085 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1086 dnl ================================================
1087 dnl Local Variables:
1088 dnl compile-command: "autoconf"
1089 dnl End: