Bouncing appicon effect
[wmaker-crm.git] / configure.ac
blob7575192057d58e94d3067379056b95272ff7c159
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(WindowMaker, 0.94.0-crm, , WindowMaker, http://www.windowmaker.info/)
15 AC_CONFIG_SRCDIR(src/WindowMaker.h)
16 AC_CONFIG_MACRO_DIR([m4])
17 AM_CONFIG_HEADER(src/config.h)
18 AM_INIT_AUTOMAKE([1.11 silent-rules])
20 dnl libtool library versioning
21 dnl =======================
22 dnl
23 dnl current
24 dnl revision
25 dnl age
26 dnl
27 dnl 1. Start with version information of ‘0:0:0’ for each libtool library.
28 dnl 2. Update the version information only immediately before a public
29 dnl release of your software. More frequent updates are unnecessary, and
30 dnl only guarantee that the current interface number gets larger faster.
31 dnl 3. If the library source code has changed at all since the last
32 dnl update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
33 dnl 4. If any interfaces have been added, removed, or changed since the
34 dnl last update, increment current, and set revision to 0.
35 dnl 5. If any interfaces have been added since the last public release,
36 dnl then increment age.
37 dnl 6. If any interfaces have been removed or changed since the last
38 dnl public release, then set age to 0.
39 dnl
40 dnl libwraster
41 WRASTER_CURRENT=4
42 WRASTER_REVISION=0
43 WRASTER_AGE=1
44 WRASTER_VERSION=$WRASTER_CURRENT:$WRASTER_REVISION:$WRASTER_AGE
45 AC_SUBST(WRASTER_VERSION)
46 dnl
47 dnl libWINGs
48 WINGS_CURRENT=2
49 WINGS_REVISION=1
50 WINGS_AGE=0
51 WINGS_VERSION=$WINGS_CURRENT:$WINGS_REVISION:$WINGS_AGE
52 AC_SUBST(WINGS_VERSION)
53 dnl
54 dnl libWUtil
55 WUTIL_CURRENT=1
56 WUTIL_REVISION=2
57 WUTIL_AGE=0
58 WUTIL_VERSION=$WUTIL_CURRENT:$WUTIL_REVISION:$WUTIL_AGE
59 AC_SUBST(WUTIL_VERSION)
62 dnl Checks for host/os name
63 dnl =======================
64 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
66 dnl Checks for programs.
67 dnl ===================
68 AC_ISC_POSIX
69 AC_PROG_CC
70 AC_PROG_LN_S
71 AC_PROG_GCC_TRADITIONAL
72 AC_PROG_LIBTOOL
74 AX_CFLAGS_GCC_OPTION(-Wall)
75 AX_CFLAGS_GCC_OPTION(-Wextra -Wno-sign-compare)
77 dnl Platform-specific Makefile setup
78 dnl ================================
80 case "${host}" in
81         *-*-linux*|*-*-cygwin*)
82                 WM_OSDEP="linux"
83         ;;
84         *-*-freebsd*)
85                 WM_OSDEP="bsd"
86                 CFLAGS="$CFLAGS -DFREEBSD"
87         ;;
88         *-*-netbsd*)
89                 WM_OSDEP="bsd"
90                 CFLAGS="$CFLAGS -DNETBSD"
91         ;;
92         *-*-openbsd*)
93                 WM_OSDEP="bsd"
94         CFLAGS="$CFLAGS -DOPENBSD"
95         ;;
96         *-*-dragonfly*)
97                 WM_OSDEP="bsd"
98                 CFLAGS="$CFLAGS -DDRAGONFLYBSD"
99         ;;
100         *-apple-darwin*)
101                 WM_OSDEP="darwin"
102         ;;
103         *-*-solaris*)
104                 WM_OSDEP="stub"         # solaris.c when done
105         ;;
106         *)
107                 WM_OSDEP="stub"
108                 CFLAGS="-DSTUB_HINT=\\\"${host}\\\""
109         ;;
110 esac
111 AC_SUBST(WM_OSDEP)
114 dnl the prefix
115 dnl ==========
117 dnl move this earlier in the script... anyone know why this is handled
118 dnl in such a bizarre way?
120 test "x$prefix" = xNONE && prefix=$ac_default_prefix
121 dnl Let make expand exec_prefix.
122 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
125 _bindir=`eval echo $bindir`
126 _bindir=`eval echo $_bindir`
128 _libdir=`eval echo $libdir`
129 _libdir=`eval echo $_libdir`
130 lib_search_path="-L$_libdir"
132 inc_search_path=`eval echo $includedir`
133 inc_search_path="-I`eval echo $inc_search_path`"
135 dnl ===============================================
136 dnl Specify paths to look for libraries and headers
137 dnl ===============================================
138 AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler flags to look for libraries]),
139         [lib_search_path="$withval $lib_search_path"])
141 AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags to look for header files]),
142         [inc_search_path="$withval $inc_search_path"])
144 dnl ============================
145 dnl Checks for library functions
146 dnl ============================
147 dnl not used anywhere
148 dnl AC_FUNC_MEMCMP  
149 AC_FUNC_VPRINTF
150 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
151                setsid atexit mallinfo mkstemp)
153 dnl Check for inotify
154 dnl =================
155 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
157 dnl Check CPP
158 dnl =========
159 if test "x$CPP_PATH" = x; then
160     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
161                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
165 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
166 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
167 dnl standard locations
169 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
170     if test "$GCC" = "yes"; then
171         CPP_PATH="gcc -E -x c"
172     else 
173         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
174             CPP_PATH="$CPP_PATH -B"
175         else
176             echo "cpp, the C preprocessor was not found in your system."
177             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
178             exit
179         fi
180     fi
182 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
186 dnl Checks for header files.
187 dnl =======================
188 AC_HEADER_SYS_WAIT
189 AC_HEADER_TIME
190 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
191                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
192                  strings.h)
196 dnl Checks for typedefs, structures, and compiler characteristics.
197 dnl ==============================================================
198 AC_DECL_SYS_SIGLIST
199 AC_C_CONST
200 #AC_TYPE_SIZE_T
201 #AC_TYPE_PID_T
202 AC_TYPE_SIGNAL
206 dnl Compiler/architecture specific optimizations
207 dnl ============================================
210 dnl GCC/as with MMX support
211 dnl -----------------------
213 # until we fix it, leave it disabled
214 asm_support=no
215 mmx_support=no
217 check_for_mmx_support=yes
218 AC_ARG_ENABLE(mmx, AS_HELP_STRING([--disable-mmx], [disable compilation of MMX inline assembly]),
219    [if test x$enableval != xyes; then
220     check_for_mmx_support=no
221     fi])
223 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
224 case $host_cpu in
225 *i?86*)
227     # gcc-3.3 or newer complains about some of our stuff without this
228     NOSTRICTALIASING="-fno-strict-aliasing"
230     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
231                    ac_cv_c_inline_asm,
232                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
233                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
234                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
235                    ac_cv_c_inline_asm=yes,
236                    ac_cv_c_inline_asm=no)])
238     if test "x$ac_cv_c_inline_asm" = xyes; then
239        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
240        asm_support=yes
242        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
243                       ac_cv_c_inline_mmx,
244                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
245                       ac_cv_c_inline_mmx=yes,
246                       ac_cv_c_inline_mmx=no)])
248        if test "x$ac_cv_c_inline_mmx" = xyes; then
249           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
250           mmx_support=yes
251        fi
252     fi
253     ;;
254 esac
256 AC_SUBST(NOSTRICTALIASING)
259 dnl pkg-config
260 dnl ==========
261 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
262 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
264 dnl gettext
265 dnl =======
267 dnl AM_GNU_GETTEXT
269 INTLIBS=""
271 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
272         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
273                          INTLIBS="" ))
275 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
277 if test "$XGETTEXT" != ""; then 
278     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
279         echo "xgettext isn't GNU version"
280         XGETTEXT=""
281     fi
284 if test "$LINGUAS" != ""; then
285     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
286         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
287         PO=""
288         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
289     else
290         LINGUAS=""
291         PO=""
292         echo "xgettext and libintl.a don't both exist; will not build i18n support"
293     fi
294 else
295         INTLIBS=""
296         MOFILES=""
297         WPMOFILES=""
298         UTILMOFILES=""
299         PO=""
303 dnl The Tower of Babel
304 dnl ==================
306 dnl List of supported locales
307 dnl =========================
308 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"
309 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
310 supported_wings_locales="bg ca cs de fr sk"
311 supported_util_locales="de"
313 for lang in $LINGUAS; do
314         ok=0
315         for l in $supported_locales; do
316                 if test "$l" = "$lang"; then
317                         ok=1
318                         break
319                 fi
320         done
321         if test "$ok" = 1; then
322                 MOFILES="$MOFILES $lang.mo"
323         else
324                 echo "Locale $lang is not supported."
325         fi
326         ok=0
327         for l in $supported_wprefs_locales; do
328                 if test "$l" = "$lang"; then
329                         ok=1
330                         break
331                 fi
332         done
333         if test "$ok" = 1; then
334                 WPMOFILES="$WPMOFILES $lang.mo"
335         fi
336         ok=0
337         for l in $supported_util_locales; do
338                 if test "$l" = "$lang"; then
339                         ok=1
340                         break
341                 fi
342         done
343         if test "$ok" = 1; then
344                 UTILMOFILES="$UTILMOFILES $lang.mo"
345         fi
346         ok=0
347         for l in $supported_wings_locales; do
348                 if test "$l" = "$lang"; then
349                         ok=1
350                         break
351                 fi
352         done
353         if test "$ok" = 1; then
354                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
355         fi
356 done
359 dnl Added by Oliver - Support for NLSDIR option
360 dnl ===========================================
361 AC_ARG_WITH(nlsdir, AS_HELP_STRING([--with-nlsdir=PATH], [specify where the locale stuff should go]))
363 if test "x$NLSDIR" = "x"; then
364         if test "x$with_nlsdir" != "x"; then
365                 NLSDIR=$with_nlsdir
366         else
367                 NLSDIR='$(prefix)/lib/locale'
368         fi
371 AC_ARG_WITH(menu-textdomain, AS_HELP_STRING([--with-menu-textdomain=DOMAIN], [specify gettext domain used for menu translations]),
372         [if test "x$withval" != "xno"; then
373          AC_DEFINE_UNQUOTED([MENU_TEXTDOMAIN], ["$withval"], [gettext domain used for menu translations])
374          fi])
376 AC_SUBST(INTLIBS)
377 AC_SUBST(NLSDIR)
378 AC_SUBST(MOFILES)
379 AC_SUBST(WPMOFILES)
380 AC_SUBST(UTILMOFILES)
381 AC_SUBST(WINGSMOFILES)
382 AC_SUBST(supported_locales)
384 dnl ===========================================
385 dnl             Stuff that uses X
386 dnl ===========================================
388 AC_PATH_XTRA
390 if test $no_x; then
391     AC_MSG_ERROR([The path for the X11 files not found!
392 Make sure you have X and it's headers and libraries (the -devel packages
393 in Linux) installed.])
396 X_LIBRARY_PATH=$x_libraries
397 XCFLAGS="$X_CFLAGS"
398 XLFLAGS="$X_LIBS"
399 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
401 lib_search_path="$lib_search_path $XLFLAGS"
402 inc_search_path="$inc_search_path $XCFLAGS"
404 AC_SUBST(X_LIBRARY_PATH)
406 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
407 dnl by MANOME Tomonori 
408 dnl ===========================================
409 use_locale=yes
410 AC_ARG_ENABLE(locale, AS_HELP_STRING([--disable-locale], [disable use of X locale support]),
411               use_locale=no)
413 if test "$use_locale" = yes; then
414         AC_CHECK_LIB(X11, _Xsetlocale,
415                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
416                 $XLFLAGS $XLIBS)
419 dnl Check whether XInternAtoms() exist
420 dnl ==================================
421 AC_CHECK_LIB(X11, XInternAtoms, 
422              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
423              $XLFLAGS $XLIBS)
425 dnl Check whether XConvertCase() exist
426 dnl ==================================
427 AC_CHECK_LIB(X11, XConvertCase, 
428              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
429              $XLFLAGS $XLIBS)
431 dnl XKB keyboard language status
432 dnl ============================
433 AC_ARG_ENABLE(modelock, AS_HELP_STRING([--enable-modelock], [XKB keyboard language status support]),
434                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
436 dnl Shape support
437 dnl =============
438 shape=yes
439 AC_ARG_ENABLE(shape, AS_HELP_STRING([--disable-shape], [disable shaped window extension support]),
440                 shape=$enableval, shape=yes)
441 added_xext=no
443 if test "$shape" = yes; then
444         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
445                 added_xext=yes
446                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
447                 shape=no, $XLFLAGS $XLIBS)
450 dnl XRandR support
451 dnl =============
452 xrandr=yes
453 AC_ARG_ENABLE(XRandR, AS_HELP_STRING([--disable-xrandr], [disable XRandR window extension support]),
454                 xrandr=$enableval, xrandr=yes)
455 added_xext=no
457 if test "$xrandr" = yes; then
458         AC_CHECK_LIB(Xrandr, XRRQueryExtension, [XLIBS="-lXrandr $XLIBS"
459                 added_xext=yes
460                 AC_DEFINE(HAVE_XRANDR, 1, [define if you want support for XRandR (set by configure)])],
461                 xrandr=no, $XLFLAGS $XLIBS)
465 dnl libWINGS uses math functions, check whether usage requires linking
466 dnl against libm
468 AC_CHECK_FUNC(atan,[mathneedslibm=no;LIBM=],[mathneedslibm=dunno])
469 if test "x$mathneedslibm" = "xdunno" ; then
470         AC_CHECK_LIB(m, atan, [LIBM=-lm])
472 AC_SUBST(LIBM)
476 dnl libWINGS uses FcPatternDel from libfontconfig
478 AC_MSG_CHECKING([for fontconfig library])
479 FCLIBS=`$PKGCONFIG fontconfig --libs`
480 if test "x$FCLIBS" = "x" ; then
481         AC_MSG_RESULT([not found])
482 else
483         AC_MSG_RESULT([found])
485 AC_SUBST(FCLIBS)
488 dnl Xft2 antialiased font support
489 dnl =============================
491 xft=yes
492 XFTLIBS=""
494 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
495         XFTCONFIG="$PKGCONFIG xft"
496         pkgconfig_xft=yes
497 else
498         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
501 AC_MSG_CHECKING([for the Xft2 library])
503 if test "x$XFTCONFIG" != x; then
504         XFTLIBS=`$XFTCONFIG --libs`
505         XFTFLAGS=`$XFTCONFIG --cflags`
506         AC_MSG_RESULT([found])
507 else
508         AC_MSG_RESULT([not found])
509         echo
510         echo "ERROR!!! libXft2 is not installed or could not be found."
511         echo "         Xft2 is a requirement for building Window Maker."
512         echo "         Please install it (along with fontconfig) before continuing."
513         echo
514         exit 1
517 minXFT="2.1.0"
518 goodxft="no"
521 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
523 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
525 if test "$goodxft" = no; then
526         echo
527         echo "ERROR!!! libXft on this system is an old version."
528         echo "         Please consider upgrading to at least version ${minXFT}."
529         echo
530         exit 1
533 AC_SUBST(XFTFLAGS)
534 AC_SUBST(XFTLIBS)
537 dnl XINERAMA support
538 dnl ================
539 xinerama=no
540 AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--enable-xinerama], [enable Xinerama extension support]),
541                 xinerama=$enableval, xinerama=no)
543 if test "$xinerama" = yes; then
544         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
545                 [XLIBS="-lXinerama $XLIBS"
546                 xfxine=yes],
547                 xfxine=no, $XLFLAGS $XLIBS)
549         AC_CHECK_LIB(Xext, XineramaGetInfo,
550                 [sunxine=yes
551                 ], sunxine=no, $XLFLAGS $XLIBS)
553         if test "$xfxine" = yes; then
554                 xine=1
555         fi
557         if test "$sunxine" = yes; then
558             xine=1
559             AC_DEFINE(SOLARIS_XINERAMA, 1, 
560                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
561         fi
563         if test "$xine" = 1; then
564             AC_DEFINE(XINERAMA, 1, 
565                 [define if you want support for the XINERAMA extension (set by configure)])
566         fi
571 dnl MIT-SHM support
572 dnl ===============
573 shm=yes
574 AC_ARG_ENABLE(shm, AS_HELP_STRING([--disable-shm], [disable usage of MIT-SHM extension]),
575                 shm=$enableval, shm=yes)
577 if test "$shm" = yes; then
578         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
580         if test "$ok" = yes; then
581         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
582         fi
584         if test "$ok" = yes; then
585                 if test "$added_xext" = no; then
586                         XLIBS="-lXext $XLIBS"
587                 fi
588                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
589         fi
593 dnl R6 Style Session Management Support
594 dnl ===================================
598 #AC_DEFINE(R6SM)
599 #AC_SUBST(XSMPLIBS)
603 dnl ==============================================
604 dnl         Graphic Format Libraries
605 dnl ==============================================
607 dnl XPM Support
608 dnl ===========
609 xpm=yes
610 AC_ARG_ENABLE(xpm, AS_HELP_STRING([--disable-xpm], [disable use of XPM pixmaps through libXpm]),
611         xpm=$enableval, xpm=yes)
613 if test "$xpm" = yes; then
614     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
616     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
617         WM_CHECK_HEADER(X11/xpm.h)
618         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
619                 GFXLIBS="$GFXLIBS -lXpm"
620                 supported_gfx="XPM"
621                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
622         else
623                 supported_gfx="builtin-XPM"
624         fi
625     fi
628 AC_SUBST(XLFLAGS)
629 AC_SUBST(XLIBS)
630 AC_SUBST(X_EXTRA_LIBS)
632 dnl ===============================================
633 dnl             End of stuff that uses X
634 dnl ===============================================
636 dnl PNG Support
637 dnl ===========
638 png=yes
639 AC_ARG_ENABLE(png, AS_HELP_STRING([--disable-png], [disable PNG support through libpng]),
640         png=$enableval, png=yes, png=no)
642 if test "$png" = yes ; then
643     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
645     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
646         WM_CHECK_HEADER(png.h)
647         if test "x$ac_cv_header_png_h" = xyes; then
648             GFXLIBS="$GFXLIBS -lpng -lz" 
649             supported_gfx="$supported_gfx PNG"
650             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
651         fi
652     fi
656 dnl JPEG Support
657 dnl ============
658 jpeg=yes
659 ljpeg=""
660 AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--disable-jpeg], [disable JPEG support through libjpeg]),
661         jpeg=$enableval, jpeg=yes, jpeg=no)
663 if test "$jpeg" = yes; then
664     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
666     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
668         ljpeg="-ljpeg"
670         WM_CHECK_HEADER(jpeglib.h)
671         if test "x$ac_cv_header_jpeglib_h" = xyes; then
672             GFXLIBS="$GFXLIBS -ljpeg"
673             supported_gfx="$supported_gfx JPEG"
674             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
675         fi
676     fi
680 dnl GIF Support
681 dnl ============
682 gif=yes
683 AC_ARG_ENABLE(gif, AS_HELP_STRING([--disable-gif], [disable GIF support through libgif or libungif]),
684         gif=$enableval, gif=yes, gif=no)
686 if test "$gif" = yes; then
687     my_libname=""
688     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
689     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
690         my_libname=-lungif
691     fi
693 dnl libungif is the same thing as libgif for all practical purposes.
695     if test "x$my_libname" = x; then
696         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
697         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
698             my_libname=-lgif
699         fi
700     fi
702     if test "$my_libname" != x; then
703         WM_CHECK_HEADER(gif_lib.h)
704         if test "x$ac_cv_header_gif_lib_h" = xyes; then
705             GFXLIBS="$GFXLIBS $my_libname"
706             supported_gfx="$supported_gfx GIF"
707             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
708         fi
709     fi
714 dnl TIFF Support
715 dnl ============
716 AC_ARG_ENABLE(tiff, 
717 AS_HELP_STRING([--disable-tiff], [disable use of TIFF images through libtiff]),
718         tif=$enableval, tif=yes, tif=no)
721 # TIFF can optionally have JPEG and/or zlib support. Must find out
722 # when they are supported so that correct library flags are passed during
723 # detection and linkage
726 # By default use xpm icons if tiff is not found.
727 ICONEXT="xpm"
730 if test "$tif" = yes; then
731     my_libname=""
732     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
733     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
734         my_libname="-ltiff"
735     fi
737 dnl Retry with zlib
739     unset ac_cv_lib_tiff_TIFFGetVersion
740     if test "x$my_libname" = x; then
741         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
742         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
743             my_libname="-ltiff -lz"
744         fi
745     fi
747     if test "x$my_libname" = x; then
748         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
749         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
750             my_libname="-ltiff34"
751         fi
752     fi
755     if test "x$my_libname" != x; then
756         WM_CHECK_HEADER(tiffio.h)
757         if test "x$ac_cv_header_tiffio_h" = xyes; then
758             GFXLIBS="$my_libname $GFXLIBS"
759             ICONEXT="tiff"
760             supported_gfx="$supported_gfx TIFF"
761             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
762         fi
763     fi
766 LIBRARY_SEARCH_PATH="$lib_search_path"
767 HEADER_SEARCH_PATH="$inc_search_path"
769 AC_SUBST(LIBRARY_SEARCH_PATH)
770 AC_SUBST(HEADER_SEARCH_PATH)
773 AC_SUBST(GFXLIBS)
774 AC_SUBST(ICONEXT)
777 dnl ==============================================
778 dnl         End of Graphic Format Libraries
779 dnl ==============================================
783 dnl stdlib.h is checked here, because of conflict in jpeglib.h
784 AC_CHECK_HEADERS(stdlib.h)
786 # AC_PREFIX_PROGRAM(wmaker)
788 dnl Support for PIXMAPDIR option
789 dnl ============================
790 AC_ARG_WITH(pixmapdir, AS_HELP_STRING([--with-pixmapdir=PATH], [specify where pixmaps are located [DATADIR/pixmaps]]))
792 if test "x$with_pixmapdir" != "x"; then
793         pixmapdir=$with_pixmapdir
794 else
795         pixmapdir=`eval echo ${datadir}/pixmaps`
798 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
800 pkgdatadir=`eval echo $datadir`
801 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
803 _sysconfdir=`eval echo $sysconfdir`
804 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
807 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
808 dnl ==============================================
810 AC_ARG_WITH(appspath, AS_HELP_STRING([--with-gnustepdir=PATH], [specify the directory for GNUstep applications]))
812 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
813     appspath=$with_gnustepdir
816 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
817     wprefs_base_dir=${prefix}
818     wprefs_datadir="${datadir}/WPrefs"
819     wprefs_bindir="${bindir}"
820 else
821     gnustepdir=$appspath
823     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
824         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
825         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
826     fi
828     wprefs_base_dir=$gnustepdir/Applications
829     wprefs_datadir=$wprefs_base_dir/WPrefs.app
830     wprefs_bindir=$wprefs_base_dir/WPrefs.app
833 AC_SUBST(wprefs_datadir)
834 AC_SUBST(wprefs_bindir)
837 dnl Enable User Defined Menu thing
838 dnl ==================================
839 AC_ARG_ENABLE(usermenu, AS_HELP_STRING([--enable-usermenu], [user defined menus for applications]),
840 if test "$enableval" = yes; then
841         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
845 gl_LD_VERSION_SCRIPT
847 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
848         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
849         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
850         WINGs/Extras/Makefile WINGs/po/Makefile \
851         wrlib/Makefile wrlib/tests/Makefile \
852         src/Makefile src/wconfig.h \
853         doc/Makefile doc/sk/Makefile doc/cs/Makefile \
854         doc/ru/Makefile \
855         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
856         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
857         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
858         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
859         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
860         WPrefs.app/po/Makefile )
863 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
864 dnl ===================================================================
866 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
867 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
868 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
870 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
871 dnl parsed by m4
873 cat <<EOF >get-wraster-flags
874 #!/bin/sh
876 WCFLAGS="$inc_search_path"
877 WLFLAGS="$lib_search_path"
878 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
880 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
882 if test \$# -eq 0; then
883       echo "\${usage}" 1>&2
884       exit 1
887 while test \$# -gt 0; do
888   case \$1 in
889     --cflags)
890         echo \$WCFLAGS
891         ;;
892     --ldflags|--lflags)
893         echo \$WLFLAGS
894         ;;
895     --libs)
896         echo \$WLIBS
897         ;;
898     *)
899         echo "\${usage}" 1>&2
900         exit 1
901         ;;
902   esac
903   shift
904 done
909 cat <<EOF > wrlib/wrlib.pc
910 Name: wrlib
911 Description: Image manipulation and conversion library
912 Version: $VERSION
913 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
914 Cflags: $inc_search_path
917 cat <<EOF >get-wings-flags
918 #!/bin/sh
920 WCFLAGS="$inc_search_path"
921 WLFLAGS="$lib_search_path"
922 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $INTLIBS"
924 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
926 if test \$# -eq 0; then
927       echo "\${usage}" 1>&2
928       exit 1
931 while test \$# -gt 0; do
932   case \$1 in
933     --cflags)
934         echo \$WCFLAGS
935         ;;
936     --ldflags|--lflags)
937         echo \$WLFLAGS
938         ;;
939     --libs)
940         echo \$WLIBS
941         ;;
942     *)
943         echo "\${usage}" 1>&2
944         exit 1
945         ;;
946   esac
947   shift
948 done
953 cat <<EOF > WINGs/WINGs.pc
954 Name: WINGs
955 Description: Small widget set with the NeXTStep(TM) look and feel
956 Version: $VERSION
957 Requires: wrlib
958 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $INTLIBS
959 Cflags: $inc_search_path
962 cat <<EOF >get-wutil-flags
963 #!/bin/sh
965 WCFLAGS="-I`eval echo ${includedir}`"
966 WLFLAGS="-L${_libdir}"
967 WLIBS="-lWUtil $INTLIBS"
969 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
971 if test \$# -eq 0; then
972       echo "\${usage}" 1>&2
973       exit 1
976 while test \$# -gt 0; do
977   case \$1 in
978     --cflags)
979         echo \$WCFLAGS
980         ;;
981     --ldflags|--lflags)
982         echo \$WLFLAGS
983         ;;
984     --libs)
985         echo \$WLIBS
986         ;;
987     *)
988         echo "\${usage}" 1>&2
989         exit 1
990         ;;
991   esac
992   shift
993 done
998 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
999 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1000 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1002 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1004 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1008 dnl Spit out the configuration
1009 dnl ==========================
1011 supported_gfx="$supported_gfx builtin-PPM"
1013 if test "x$MOFILES" = "x"; then
1014         mof=None
1015 else
1016         mof=`echo $MOFILES`
1019 if test "x$MOFILES" = "x"; then
1020         languages=None
1021 else
1022         languages=`echo $MOFILES | sed 's/.mo//g'`
1025 echo
1026 echo "Window Maker was configured as follows:"
1027 echo
1028 echo "Installation path prefix            : $prefix"
1029 echo "Installation path for binaries      : $_bindir"
1030 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1031 echo "Supported graphic format libraries  : $supported_gfx"
1032 echo "Use assembly routines for wrlib     : $asm_support"
1033 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1034 echo "Antialiased text support in WINGs   : $xft"
1035 echo "Xinerama extension support          : $xinerama"
1036 echo "XRandR extension support            : $xrandr"
1037 echo "Translated message files to install : $mof"
1038 dnl echo "Supported languages beside English  : $languages"
1039 if test "x$MOFILES" != "x"; then
1040         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1042 echo
1044 dnl WM_PRINT_REDCRAP_BUG_STATUS
1046 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1047 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1048 echo
1049 echo "JPEG support will not be included because the JPEG library is"
1050 echo "not installed correctly or was not found. Background images"
1051 echo "from themes will not display as they usually are JPEG files."
1052 echo
1053 echo "To fix, download and install the jpeg library and/or make sure you"
1054 echo "installed all jpeg related packages, SPECIALLY the development packages"
1055 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1056 echo
1057 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1061 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1062 dnl ================================================
1063 dnl Local Variables:
1064 dnl compile-command: "autoconf"
1065 dnl End: