Remove wmlib
[wmaker-crm.git] / configure.ac
blobd4a9bcb9320c3aea75d57ba4017df2d86c306f80
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.94.0-crm)
20 AC_PROG_LIBTOOL
22 AM_CONFIG_HEADER(src/config.h)
25 dnl Checks for host/os name
26 dnl =======================
27 dnl AC_CANONICAL_HOST -- already done by AC_PROG_LIBTOOL
30 dnl Checks for programs.
31 dnl ===================
32 AC_ISC_POSIX
33 AC_PROG_CC
34 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
35 #AC_PROG_RANLIB
36 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
37 AC_PROG_LN_S
38 AC_PROG_GCC_TRADITIONAL
41 dnl the prefix
42 dnl ==========
43 dnl
44 dnl move this earlier in the script... anyone know why this is handled
45 dnl in such a bizarre way?
47 test "x$prefix" = xNONE && prefix=$ac_default_prefix
48 dnl Let make expand exec_prefix.
49 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
52 _bindir=`eval echo $bindir`
53 _bindir=`eval echo $_bindir`
55 _libdir=`eval echo $libdir`
56 _libdir=`eval echo $_libdir`
57 lib_search_path="-L$_libdir"
59 inc_search_path=`eval echo $includedir`
60 inc_search_path="-I`eval echo $inc_search_path`"
63 dnl
64 dnl Check for RedHat bugs
65 dnl =====================
67 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
70 dnl
71 dnl Specify paths to look for libraries and headers
72 dnl ===============================================
73 AC_ARG_WITH(libs-from,
74 [  --with-libs-from        pass compiler flags to look for libraries],
75         [lib_search_path="$withval $lib_search_path"])
77 AC_ARG_WITH(incs-from,
78 [  --with-incs-from        pass compiler flags to look for header files],
79         [inc_search_path="$withval $inc_search_path"])
83 dnl Checks for library functions.
84 dnl ============================
85 dnl not used anywhere
86 dnl AC_FUNC_MEMCMP  
87 AC_FUNC_VPRINTF
88 AC_CHECK_FUNCS(gethostname select poll strerror strcasecmp strncasecmp \
89                setsid atexit mallinfo mkstemp snprintf vsnprintf asprintf \
90                vasprintf)
92 dnl ripped from samba
93 dnl 
94 AC_CACHE_CHECK([for C99 vsnprintf],_cv_HAVE_C99_VSNPRINTF,[
95 AC_TRY_RUN([
96 #include <sys/types.h>
97 #include <stdarg.h>
98 void foo(const char *format, ...) { 
99        va_list ap;
100        int len;
101        char buf[5];
103        va_start(ap, format);
104        len = vsnprintf(0, 0, format, ap);
105        va_end(ap);
106        if (len != 5) exit(1);
108        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
110        exit(0);
112 main() { foo("hello"); }
114 _cv_HAVE_C99_VSNPRINTF=yes,_cv_HAVE_C99_VSNPRINTF=no,_cv_HAVE_C99_VSNPRINTF=cross)])
115 if test x"$_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
116     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [define if you have vsnprintf with C99 semantics (set by configure)])
119 dnl Check for inotify
120 dnl =================
121 AC_CHECK_HEADERS(sys/inotify.h, AC_DEFINE(HAVE_INOTIFY, 1, Check for inotify))
123 dnl Check CPP
124 dnl =========
125 if test "x$CPP_PATH" = x; then
126     AC_PATH_PROG(CPP_PATH, cpp, notfound, 
127                 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
131 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
132 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
133 dnl standard locations
135 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
136     if test "$GCC" = "yes"; then
137         CPP_PATH="gcc -E -x c"
138     else 
139         if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
140             CPP_PATH="$CPP_PATH -B"
141         else
142             echo "cpp, the C preprocessor was not found in your system."
143             echo "Create a symbolic link from it to /lib/cpp and rerun configure"
144             exit
145         fi
146     fi
148 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH", [define to the path to cpp])
152 dnl Checks for header files.
153 dnl =======================
154 AC_HEADER_SYS_WAIT
155 AC_HEADER_TIME
156 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h \
157                  libintl.h sys/select.h poll.h malloc.h ctype.h string.h \
158                  strings.h)
162 dnl Checks for typedefs, structures, and compiler characteristics.
163 dnl ==============================================================
164 AC_DECL_SYS_SIGLIST
165 AC_C_CONST
166 #AC_TYPE_SIZE_T
167 #AC_TYPE_PID_T
168 AC_TYPE_SIGNAL
172 dnl Compiler/architecture specific optimizations
173 dnl ============================================
176 dnl GCC/as with MMX support
177 dnl -----------------------
179 # until we fix it, leave it disabled
180 asm_support=no
181 mmx_support=no
183 check_for_mmx_support=yes
184 AC_ARG_ENABLE(mmx,
185    [  --disable-mmx          disable compilation of MMX inline assembly ],
186    [if test x$enableval != xyes; then
187     check_for_mmx_support=no
188     fi])
190 if test "$ac_cv_prog_gcc" = yes -a "$check_for_mmx_support" = yes; then
191 case $host_cpu in
192 *i?86*)
194     # gcc-3.3 or newer complains about some of our stuff without this
195     NOSTRICTALIASING="-fno-strict-aliasing"
197     AC_CACHE_CHECK(whether gcc supports x86 inline asm,
198                    ac_cv_c_inline_asm,
199                    [AC_TRY_LINK(,[{int x; asm volatile("movl %%eax, %%ebx\n\t pushal\n\t popal"::
200                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x),
201                           "m" (x),"m" (x),"m" (x),"m" (x),"m" (x),"m" (x));}],
202                    ac_cv_c_inline_asm=yes,
203                    ac_cv_c_inline_asm=no)])
205     if test "x$ac_cv_c_inline_asm" = xyes; then
206        AC_DEFINE(ASM_X86, 1, [define if processor is x86 (normally detected by configure)])
207        asm_support=yes
209        AC_CACHE_CHECK(whether gcc supports MMX(tm) inline asm,
210                       ac_cv_c_inline_mmx,
211                       [AC_TRY_LINK(,[asm ("movq %mm0, %mm1");],
212                       ac_cv_c_inline_mmx=yes,
213                       ac_cv_c_inline_mmx=no)])
215        if test "x$ac_cv_c_inline_mmx" = xyes; then
216           AC_DEFINE(ASM_X86_MMX, 1, [define if processor is x86 with MMX(tm) support (normally autodetected by configure)])
217           mmx_support=yes
218        fi
219     fi
220     ;;
221 esac
223 AC_SUBST(NOSTRICTALIASING)
226 dnl pkg-config
227 dnl ----------
228 dnl AC_ARG_VAR(PKGCONFIG, [pkg-config command])
229 AC_CHECK_PROG(PKGCONFIG, pkg-config, pkg-config) 
232 dnl gettext
233 dnl -------
236 dnl AM_GNU_GETTEXT
240 INTLIBS=""
242 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], 
243         AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
244                          INTLIBS="" ))
246 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
248 if test "$XGETTEXT" != ""; then 
249     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
250         echo "xgettext isn't GNU version"
251         XGETTEXT=""
252     fi
255 if test "$LINGUAS" != ""; then
256     if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
257         AC_DEFINE(I18N, 1, [Internationalization (I18N) support (set by configure)])
258         PO=""
259         echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
260     else
261         LINGUAS=""
262         PO=""
263         echo "xgettext and libintl.a don't both exist; will not build i18n support"
264     fi
265 else
266         INTLIBS=""
267         MOFILES=""
268         WPMOFILES=""
269         UTILMOFILES=""
270         PO=""
274 dnl The Tower of Babel
275 dnl ==================
277 dnl List of supported locales
278 dnl -------------------------
279 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"
280 supported_wprefs_locales="bg ca cs de es et fi fr hr hu it ja ko pt ru sk zh_CN zh_TW"
281 supported_wings_locales="bg ca cs de fr sk"
282 supported_util_locales="de"
284 for lang in $LINGUAS; do
285         ok=0
286         for l in $supported_locales; do
287                 if test "$l" = "$lang"; then
288                         ok=1
289                         break
290                 fi
291         done
292         if test "$ok" = 1; then
293                 MOFILES="$MOFILES $lang.mo"
294         else
295                 echo "Locale $lang is not supported."
296         fi
297         ok=0
298         for l in $supported_wprefs_locales; do
299                 if test "$l" = "$lang"; then
300                         ok=1
301                         break
302                 fi
303         done
304         if test "$ok" = 1; then
305                 WPMOFILES="$WPMOFILES $lang.mo"
306         fi
307         ok=0
308         for l in $supported_util_locales; do
309                 if test "$l" = "$lang"; then
310                         ok=1
311                         break
312                 fi
313         done
314         if test "$ok" = 1; then
315                 UTILMOFILES="$UTILMOFILES $lang.mo"
316         fi
317         ok=0
318         for l in $supported_wings_locales; do
319                 if test "$l" = "$lang"; then
320                         ok=1
321                         break
322                 fi
323         done
324         if test "$ok" = 1; then
325                 WINGSMOFILES="$WINGSMOFILES $lang.mo"
326         fi
327 done
330 dnl Kanji Characters support
331 dnl ========================
333 case $host_os in
334         freebsd*)
335                 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
336         *)
337         ;;
338 esac
342 dnl Added by Oliver - Support for NLSDIR option,   Hi Oliver!
343 dnl ===========================================
344 AC_ARG_WITH(nlsdir, 
345         [  --with-nlsdir=PATH      specify where the locale stuff should go ])
348 if test "x$NLSDIR" = "x"; then
349         if test "x$with_nlsdir" != "x"; then
350                 NLSDIR=$with_nlsdir
351         else
352                 NLSDIR='$(prefix)/lib/locale'
353         fi
358 AC_SUBST(INTLIBS)
359 AC_SUBST(NLSDIR)
360 AC_SUBST(MOFILES)
361 AC_SUBST(WPMOFILES)
362 AC_SUBST(UTILMOFILES)
363 AC_SUBST(WINGSMOFILES)
364 AC_SUBST(supported_locales)
368 dnl Support for various hint things
369 dnl ===============================
372 dnl Beautify compilation messages
373 dnl ---------------------------------------------
374 AC_ARG_ENABLE(verbose-compile, AS_HELP_STRING([--disable-verbose-compile],
375                                [Streamline compilation messages (default off)]),
376   [
377         QUIET='@echo "     CC" $@;'
378         QUIET_AR='@echo "     AR" $@;'
379         LIBTOOL_ARG="--silent"
380         MAKEFLAGS="-s"
381         AC_SUBST(QUIET)
382         AC_SUBST(QUIET_AR)
383         AC_SUBST(LIBTOOL_ARG)
384         AC_SUBST(MAKEFLAGS)
390 dnl Networking stuff
393 NETLIBS=""
395 AC_CHECK_FUNC(connect,,
396         AC_CHECK_LIB(socket, connect, NETLIBS="$NETLIBS -lsocket"))
398 AC_CHECK_FUNC(gethostbyname,,
399         AC_CHECK_LIB(nsl, gethostbyname, NETLIBS="$NETLIBS -lnsl"))
401 AC_CHECK_FUNC(inet_aton, AC_DEFINE(HAVE_INET_ATON, 1, [define if you have then inet_aton function (set by configure)]),
402      for lib in resolv socket inet bsd; do
403         AC_CHECK_LIB($lib, inet_aton, [AC_DEFINE(HAVE_INET_ATON)
404                      NETLIBS="$NETLIBS -l$lib"; break],, $NETLIBS)
405      done)
407 AC_SUBST(NETLIBS)
410 dnl ===========================================
411 dnl             Stuff that uses X
412 dnl ===========================================
414 AC_PATH_XTRA
416 if test $no_x; then
417     AC_MSG_ERROR([The path for the X11 files not found!
418 Make sure you have X and it's headers and libraries (the -devel packages
419 in Linux) installed.])
422 X_LIBRARY_PATH=$x_libraries
424 XCFLAGS="$X_CFLAGS"
426 XLFLAGS="$X_LIBS"
428 XLIBS="-lX11 -lXmu $X_EXTRA_LIBS"
431 lib_search_path="$lib_search_path $XLFLAGS"
432 inc_search_path="$inc_search_path $XCFLAGS"
435 AC_SUBST(X_LIBRARY_PATH)
439 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
440 dnl by MANOME Tomonori 
441 dnl ===========================================
442 use_locale=yes
443 AC_ARG_ENABLE(locale, 
444 [  --disable-locale        disable use of X locale support],
445                 use_locale=no)
447 if test "$use_locale" = yes; then
448         AC_CHECK_LIB(X11, _Xsetlocale,
449                 AC_DEFINE(X_LOCALE, 1, [define if you want support for X window's X_LOCALE (set by configure)]),,
450                 $XLFLAGS $XLIBS)
454 dnl Check whether XInternAtoms() exist
455 dnl ==================================
456 AC_CHECK_LIB(X11, XInternAtoms, 
457              AC_DEFINE(HAVE_XINTERNATOMS, 1, [define if your X server has XInternAtoms() (set by configure)]),,
458              $XLFLAGS $XLIBS)
460 dnl Check whether XConvertCase() exist
461 dnl ==================================
462 AC_CHECK_LIB(X11, XConvertCase, 
463              AC_DEFINE(HAVE_XCONVERTCASE, 1, [define if your X server has XConvertCase() (set by configure)]),,
464              $XLFLAGS $XLIBS)
467 dnl XKB keyboard language status
468 dnl ============================
469 AC_ARG_ENABLE(modelock,
470 [  --enable-modelock       XKB keyboard language status support],
471                 AC_DEFINE(XKB_MODELOCK, 1, [whether XKB language MODELOCK should be enabled]))
475 dnl Shape support
476 dnl =============
477 shape=yes
478 AC_ARG_ENABLE(shape, 
479 [  --disable-shape         disable shaped window extension support],
480                 shape=$enableval, shape=yes)
482 added_xext=no
484 if test "$shape" = yes; then
485         AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
486                 added_xext=yes
487                 AC_DEFINE(SHAPE, 1, [define if you want support for shaped windows (set by configure)])], 
488                 shape=no, $XLFLAGS $XLIBS)
492 dnl Xft2 antialiased font support
493 dnl =============================
495 xft=yes
496 XFTLIBS=""
498 if test "x$PKGCONFIG" != x -a "`$PKGCONFIG xft; echo $?`" = 0; then
499         XFTCONFIG="$PKGCONFIG xft"
500         pkgconfig_xft=yes
501 else
502         AC_CHECK_PROG(XFTCONFIG, xft-config, xft-config)
505 AC_MSG_CHECKING([for the Xft2 library])
507 if test "x$XFTCONFIG" != x; then
508         XFTLIBS=`$XFTCONFIG --libs`
509         XFTFLAGS=`$XFTCONFIG --cflags`
510         AC_MSG_RESULT([found])
511 else
512         AC_MSG_RESULT([not found])
513         echo
514         echo "ERROR!!! libXft2 is not installed or could not be found."
515         echo "         Xft2 is a requirement for building Window Maker."
516         echo "         Please install it (along with fontconfig) before continuing."
517         echo
518         exit 1
521 minXFT="2.1.0"
522 goodxft="no"
525 dnl The macro below will use $XFTFLAGS (defined above) to find Xft.h
527 WM_CHECK_XFT_VERSION($minXFT, goodxft=yes, goodxft=no)
529 if test "$goodxft" = no; then
530         echo
531         echo "ERROR!!! libXft on this system is an old version."
532         echo "         Please consider upgrading to at least version ${minXFT}."
533         echo
534         exit 1
537 AC_SUBST(XFTFLAGS)
538 AC_SUBST(XFTLIBS)
541 dnl XINERAMA support
542 dnl ================
543 xinerama=no
544 AC_ARG_ENABLE(xinerama,
545 [  --enable-xinerama       enable Xinerama extension support],
546                 xinerama=$enableval, xinerama=no)
548 if test "$xinerama" = yes; then
549         AC_CHECK_LIB(Xinerama, XineramaQueryScreens, 
550                 [XLIBS="-lXinerama $XLIBS"
551                 xfxine=yes],
552                 xfxine=no, $XLFLAGS $XLIBS)
554         AC_CHECK_LIB(Xext, XineramaGetInfo,
555                 [sunxine=yes
556                 ], sunxine=no, $XLFLAGS $XLIBS)
558         if test "$xfxine" = yes; then
559                 xine=1
560         fi
562         if test "$sunxine" = yes; then
563             xine=1
564             AC_DEFINE(SOLARIS_XINERAMA, 1, 
565                 [define if you want support for the XINERAMA extension and are in Solaris (set by configure)])
566         fi
568         if test "$xine" = 1; then
569             AC_DEFINE(XINERAMA, 1, 
570                 [define if you want support for the XINERAMA extension (set by configure)])
571         fi
576 dnl MIT-SHM support
577 dnl ===============
578 shm=yes
579 AC_ARG_ENABLE(shm,
580 [  --disable-shm           disable usage of MIT-SHM extension],
581                 shm=$enableval, shm=yes)
583 if test "$shm" = yes; then
584         AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
586         if test "$ok" = yes; then
587         AC_CHECK_FUNC(shmget, ok=yes, ok=no)
588         fi
590         if test "$ok" = yes; then
591                 if test "$added_xext" = no; then
592                         XLIBS="-lXext $XLIBS"
593                 fi
594                 AC_DEFINE(XSHM, 1, [define if X's shared memory extension is available (set by configure)])
595         fi
599 dnl R6 Style Session Management Support
600 dnl ===================================
604 #AC_DEFINE(R6SM)
605 #AC_SUBST(XSMPLIBS)
609 dnl ==============================================
610 dnl         Graphic Format Libraries
611 dnl ==============================================
617 dnl XPM Support
618 dnl ===========
619 xpm=yes
620 AC_ARG_ENABLE(xpm, 
621 [  --disable-xpm           disable use of XPM pixmaps through libXpm],
622         xpm=$enableval, xpm=yes)
624 if test "$xpm" = yes; then
625     WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
627     if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
628         WM_CHECK_HEADER(X11/xpm.h)
629         if test "x$ac_cv_header_X11_xpm_h" = xyes; then
630                 GFXLIBS="$GFXLIBS -lXpm"
631                 supported_gfx="XPM"
632                 AC_DEFINE(USE_XPM, 1, [define if XPM libraries are available (set by configure)])
633         else
634                 supported_gfx="builtin-XPM"
635         fi
636     fi
639 AC_SUBST(XLFLAGS)
640 AC_SUBST(XLIBS)
641 AC_SUBST(X_EXTRA_LIBS)
643 dnl ===============================================
644 dnl             End of stuff that uses X
645 dnl ===============================================
649 dnl PNG Support
650 dnl ===========
651 png=yes
652 AC_ARG_ENABLE(png, 
653 [  --disable-png           disable PNG support through libpng],
654         png=$enableval, png=yes, png=no)
657 if test "$png" = yes ; then
658     WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
660     if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
661         WM_CHECK_HEADER(png.h)
662         if test "x$ac_cv_header_png_h" = xyes; then
663             GFXLIBS="$GFXLIBS -lpng -lz" 
664             supported_gfx="$supported_gfx PNG"
665             AC_DEFINE(USE_PNG, 1, [define if PNG libraries are available (set by configure)])
666         fi
667     fi
671 dnl JPEG Support
672 dnl ============
673 jpeg=yes
674 ljpeg=""
675 AC_ARG_ENABLE(jpeg,
676 [  --disable-jpeg          disable JPEG support through libjpeg],
677         jpeg=$enableval, jpeg=yes, jpeg=no)
679 if test "$jpeg" = yes; then
680     WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
682     if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
684         ljpeg="-ljpeg"
686         WM_CHECK_HEADER(jpeglib.h)
687         if test "x$ac_cv_header_jpeglib_h" = xyes; then
688             GFXLIBS="$GFXLIBS -ljpeg"
689             supported_gfx="$supported_gfx JPEG"
690             AC_DEFINE(USE_JPEG, 1, [define if JPEG libraries are available (set by configure)])
691         fi
692     fi
696 dnl GIF Support
697 dnl ============
698 gif=yes
699 AC_ARG_ENABLE(gif,
700 [  --disable-gif           disable GIF support through libgif or libungif],
701         gif=$enableval, gif=yes, gif=no)
703 if test "$gif" = yes; then
704     my_libname=""
705     WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
706     if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
707         my_libname=-lungif
708     fi
710 dnl libungif is the same thing as libgif for all practical purposes.
712     if test "x$my_libname" = x; then
713         WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
714         if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
715             my_libname=-lgif
716         fi
717     fi
719     if test "$my_libname" != x; then
720         WM_CHECK_HEADER(gif_lib.h)
721         if test "x$ac_cv_header_gif_lib_h" = xyes; then
722             GFXLIBS="$GFXLIBS $my_libname"
723             supported_gfx="$supported_gfx GIF"
724             AC_DEFINE(USE_GIF, 1, [define if GIF libraries are available (set by configure)])
725         fi
726     fi
731 dnl TIFF Support
732 dnl ============
733 AC_ARG_ENABLE(tiff, 
734 [  --disable-tiff          disable use of TIFF images through libtiff],
735         tif=$enableval, tif=yes, tif=no)
738 # TIFF can optionally have JPEG and/or zlib support. Must find out
739 # when they are supported so that correct library flags are passed during
740 # detection and linkage
743 # By default use xpm icons if tiff is not found.
744 ICONEXT="xpm"
747 if test "$tif" = yes; then
748     my_libname=""
749     WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
750     if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
751         my_libname="-ltiff"
752     fi
754 dnl Retry with zlib
756     unset ac_cv_lib_tiff_TIFFGetVersion
757     if test "x$my_libname" = x; then
758         WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
759         if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
760             my_libname="-ltiff -lz"
761         fi
762     fi
764     if test "x$my_libname" = x; then
765         WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
766         if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
767             my_libname="-ltiff34"
768         fi
769     fi
772     if test "x$my_libname" != x; then
773         WM_CHECK_HEADER(tiffio.h)
774         if test "x$ac_cv_header_tiffio_h" = xyes; then
775             GFXLIBS="$my_libname $GFXLIBS"
776             ICONEXT="tiff"
777             supported_gfx="$supported_gfx TIFF"
778             AC_DEFINE(USE_TIFF, 1, [define if TIFF libraries are available (set by configure)])     
779         fi
780     fi
783 LIBRARY_SEARCH_PATH="$lib_search_path"
784 HEADER_SEARCH_PATH="$inc_search_path"
786 AC_SUBST(LIBRARY_SEARCH_PATH)
787 AC_SUBST(HEADER_SEARCH_PATH)
790 AC_SUBST(GFXLIBS)
791 AC_SUBST(ICONEXT)
794 dnl ==============================================
795 dnl         End of Graphic Format Libraries
796 dnl ==============================================
800 dnl stdlib.h is checked here, because of conflict in jpeglib.h
801 AC_CHECK_HEADERS(stdlib.h)
803 # AC_PREFIX_PROGRAM(wmaker)
805 dnl Support for PIXMAPDIR option
806 dnl ============================
807 AC_ARG_WITH(pixmapdir,
808 [  --with-pixmapdir=PATH   specify where pixmaps are located [DATADIR/pixmaps]])
810 if test "x$with_pixmapdir" != "x"; then
811         pixmapdir=$with_pixmapdir
812 else
813         pixmapdir=`eval echo ${datadir}/pixmaps`
816 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir", [define an extra path for pixmaps (set by configure)])
818 pkgdatadir=`eval echo $datadir`
819 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker", [where shared data is stored (defined by configure)])
821 _sysconfdir=`eval echo $sysconfdir`
822 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir", [where the configuration is stored (defined by configure)])
825 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
826 dnl ==============================================
828 AC_ARG_WITH(appspath,
829 [  --with-gnustepdir=PATH  specify the directory for GNUstep applications])
831 if test "x`echo $with_gnustepdir | grep ^/`" != "x"; then
832     appspath=$with_gnustepdir
835 if test "x$appspath$GNUSTEP_LOCAL_ROOT" = "x"; then
836     wprefs_base_dir=${prefix}
837     wprefs_datadir="${datadir}/WPrefs"
838     wprefs_bindir="${bindir}"
839 else
840     gnustepdir=$appspath
842     if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
843         gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
844         gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
845     fi
847     wprefs_base_dir=$gnustepdir/Applications
848     wprefs_datadir=$wprefs_base_dir/WPrefs.app
849     wprefs_bindir=$wprefs_base_dir/WPrefs.app
852 AC_SUBST(wprefs_datadir)
853 AC_SUBST(wprefs_bindir)
856 dnl Enable User Defined Menu thing
857 dnl ==================================
858 AC_ARG_ENABLE(usermenu,
859 [  --enable-usermenu       user defined menus for applications
861 if test "$enableval" = yes; then
862         AC_DEFINE(USER_MENU, 1, [define if you want user defined menus for applications])
867 AC_OUTPUT(Makefile po/Makefile util/Makefile util/po/Makefile \
868         WINGs/Makefile WINGs/WINGs/Makefile WINGs/Documentation/Makefile \
869         WINGs/Examples/Makefile WINGs/Resources/Makefile WINGs/Tests/Makefile \
870         WINGs/Extras/Makefile WINGs/po/Makefile \
871         wrlib/Makefile wrlib/tests/Makefile \
872         src/Makefile src/wconfig.h \
873         doc/Makefile doc/sk/Makefile \
874         WindowMaker/Makefile WindowMaker/Backgrounds/Makefile \
875         WindowMaker/Defaults/Makefile WindowMaker/IconSets/Makefile \
876         WindowMaker/Icons/Makefile WindowMaker/Pixmaps/Makefile \
877         WindowMaker/Styles/Makefile WindowMaker/Themes/Makefile \
878         WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
879         WPrefs.app/po/Makefile \
880         contrib/Makefile contrib/WindowMaker.spec )
885 dnl Output some helpful data for compiling wraster and WINGs/WUtil apps
886 dnl ===================================================================
889 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
890 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
891 dnl     | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
893 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
894 dnl parsed by m4
896 cat <<EOF >get-wraster-flags
897 #!/bin/sh
899 WCFLAGS="$inc_search_path"
900 WLFLAGS="$lib_search_path"
901 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
903 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
905 if test \$# -eq 0; then
906       echo "\${usage}" 1>&2
907       exit 1
910 while test \$# -gt 0; do
911   case \$1 in
912     --cflags)
913         echo \$WCFLAGS
914         ;;
915     --ldflags|--lflags)
916         echo \$WLFLAGS
917         ;;
918     --libs)
919         echo \$WLIBS
920         ;;
921     *)
922         echo "\${usage}" 1>&2
923         exit 1
924         ;;
925   esac
926   shift
927 done
932 cat <<EOF > wrlib/wrlib.pc
933 Name: wrlib
934 Description: Image manipulation and conversion library
935 Version: $VERSION
936 Libs: $lib_search_path -lwraster $GFXLIBS $XLIBS -lm
937 Cflags: $inc_search_path
940 cat <<EOF >get-wings-flags
941 #!/bin/sh
943 WCFLAGS="$inc_search_path"
944 WLFLAGS="$lib_search_path"
945 WLIBS="-lWINGs -lWUtil -lwraster $GFXLIBS $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS"
947 usage="Usage: get-wings-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
949 if test \$# -eq 0; then
950       echo "\${usage}" 1>&2
951       exit 1
954 while test \$# -gt 0; do
955   case \$1 in
956     --cflags)
957         echo \$WCFLAGS
958         ;;
959     --ldflags|--lflags)
960         echo \$WLFLAGS
961         ;;
962     --libs)
963         echo \$WLIBS
964         ;;
965     *)
966         echo "\${usage}" 1>&2
967         exit 1
968         ;;
969   esac
970   shift
971 done
976 cat <<EOF > WINGs/WINGs.pc
977 Name: WINGs
978 Description: Small widget set with the NeXTStep(TM) look and feel
979 Version: $VERSION
980 Requires: wrlib
981 Libs: $lib_search_path -lWINGs $XFTLIBS $XLIBS -lm $NETLIBS $INTLIBS
982 Cflags: $inc_search_path
985 cat <<EOF >get-wutil-flags
986 #!/bin/sh
988 WCFLAGS="-I`eval echo ${includedir}`"
989 WLFLAGS="-L${_libdir}"
990 WLIBS="-lWUtil $NETLIBS $INTLIBS"
992 usage="Usage: get-wutil-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
994 if test \$# -eq 0; then
995       echo "\${usage}" 1>&2
996       exit 1
999 while test \$# -gt 0; do
1000   case \$1 in
1001     --cflags)
1002         echo \$WCFLAGS
1003         ;;
1004     --ldflags|--lflags)
1005         echo \$WLFLAGS
1006         ;;
1007     --libs)
1008         echo \$WLIBS
1009         ;;
1010     *)
1011         echo "\${usage}" 1>&2
1012         exit 1
1013         ;;
1014   esac
1015   shift
1016 done
1021 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
1022 sed 's/#lp#/[/g' get-wings-flags | sed 's/#rp#/]/g' > WINGs/get-wings-flags
1023 sed 's/#lp#/[/g' get-wutil-flags | sed 's/#rp#/]/g' > WINGs/get-wutil-flags
1025 chmod 755 wrlib/get-wraster-flags WINGs/get-wings-flags WINGs/get-wutil-flags
1027 rm -f get-wraster-flags get-wings-flags get-wutil-flags
1031 dnl Spit out the configuration
1032 dnl ==========================
1034 supported_gfx="$supported_gfx builtin-PPM"
1036 if test "x$MOFILES" = "x"; then
1037         mof=None
1038 else
1039         mof=`echo $MOFILES`
1042 if test "x$MOFILES" = "x"; then
1043         languages=None
1044 else
1045         languages=`echo $MOFILES | sed 's/.mo//g'`
1048 echo
1049 echo "Window Maker was configured as follows:"
1050 echo
1051 echo "Installation path prefix            : $prefix"
1052 echo "Installation path for binaries      : $_bindir"
1053 echo "Installation path for WPrefs.app    : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|"
1054 echo "Supported graphic format libraries  : $supported_gfx"
1055 echo "Use assembly routines for wrlib     : $asm_support"
1056 echo "Use inline MMX(tm) x86 assembly     : $mmx_support"
1057 echo "Antialiased text support in WINGs   : $xft"
1058 echo "Xinerama extension support          : $xinerama"
1059 echo "Translated message files to install : $mof"
1060 dnl echo "Supported languages beside English  : $languages"
1061 if test "x$MOFILES" != "x"; then
1062         echo "Installation path for translations  : $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
1064 echo
1066 dnl WM_PRINT_REDCRAP_BUG_STATUS
1068 if test "x$ac_cv_header_jpeglib_h" != xyes; then
1069 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1070 echo
1071 echo "JPEG support will not be included because the JPEG library is"
1072 echo "not installed correctly or was not found. Background images"
1073 echo "from themes will not display as they usually are JPEG files."
1074 echo
1075 echo "To fix, download and install the jpeg library and/or make sure you"
1076 echo "installed all jpeg related packages, SPECIALLY the development packages"
1077 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
1078 echo
1079 echo "WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING"
1083 dnl This is for Emacs.  I'm lazy, I know... (nicolai)
1084 dnl ================================================
1085 dnl Local Variables:
1086 dnl compile-command: "autoconf"
1087 dnl End: