2 dnl Window Maker autoconf input.
4 dnl Process with: aclocal; autoconf; automake
9 AC_INIT(src/WindowMaker.h)
13 AM_INIT_AUTOMAKE(WindowMaker, 0.53.0)
17 # by Marcelo Magallon <mmagallo@efis.ucr.ac.cr>
18 # Turn around -rpath problem with libtool 1.0c
19 # This define should be improbable enough to not conflict with anything
22 AC_MSG_RESULT([Fixing libtool for -rpath problems.])
23 sed < libtool > libtool-2 \
24 's/^hardcode_libdir_flag_spec.*$/hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
32 AM_CONFIG_HEADER(src/config.h)
35 dnl Checks for host/os name
36 dnl =======================
40 dnl Checks for programs.
41 dnl ===================
44 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
46 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
48 AC_PROG_GCC_TRADITIONAL
54 dnl move this earlier in the script... anyone know why this is handled
55 dnl in such a bizarre way?
57 test "x$prefix" = xNONE && prefix=$ac_default_prefix
58 dnl Let make expand exec_prefix.
59 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
62 _bindir=`eval echo $bindir`
63 _bindir=`eval echo $_bindir`
65 _libdir=`eval echo $libdir`
66 _libdir=`eval echo $_libdir`
67 lib_search_path="-L$_libdir"
69 inc_search_path=`eval echo $includedir`
70 inc_search_path="-I`eval echo $inc_search_path`"
74 dnl Check for RedHat bugs
75 dnl =====================
77 WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
81 dnl Specify paths to look for libraries and headers
82 dnl ===============================================
83 AC_ARG_WITH(libs-from,
84 [ --with-libs-from pass compiler flags to look for libraries],
85 [lib_search_path="$withval $lib_search_path"])
87 AC_ARG_WITH(incs-from,
88 [ --with-incs-from pass compiler flags to look for header files],
89 [inc_search_path="$withval $inc_search_path"])
93 dnl Checks for library functions.
94 dnl ============================
99 AC_CHECK_FUNCS(gethostname select poll strerror strncasecmp setpgid atexit)
103 dnl Loading of dynamic libraries at runtime
104 dnl =======================================
107 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"],
108 AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
111 if test "x$HAVEDL" = xyes; then
112 AC_CHECK_HEADERS(dlfcn.h)
119 if test "x$CPP_PATH" = x; then
120 AC_PATH_PROG(CPP_PATH, cpp, notfound,
121 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
125 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
126 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
127 dnl standard locations
129 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
130 if test "$GCC" = "yes"; then
131 CPP_PATH="gcc -E -x c"
133 if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
134 CPP_PATH="$CPP_PATH -B"
136 echo "cpp, the C preprocessor was not found in your system."
137 echo "Create a symbolic link from it to /lib/cpp and rerun configure"
142 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH")
146 dnl Checks for header files.
147 dnl =======================
151 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h\
152 libintl.h sys/select.h poll.h)
156 dnl Checks for typedefs, structures, and compiler characteristics.
157 dnl ==============================================================
175 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"],
176 AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
179 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
181 if test "$XGETTEXT" != ""; then
182 if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
183 echo "xgettext isn't GNU version"
188 if test "$LINGUAS" != ""; then
189 if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
192 # if test "$LINGUAS" = ""; then
193 # ling=` (cd src/po; /bin/ls *.po) `
195 # lcode=`basename $l .po`
196 # LINGUAS="$LINGUAS $lcode"
199 echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
203 echo "xgettext and libintl.a don't both exist; will not build i18n support"
213 dnl The Tower of Babel
214 dnl ==================
216 dnl List of supported locales
217 dnl -------------------------
218 supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro da zh_TW.Big5 zh_CN.GB2312"
219 supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es zh_CN.GB2312"
221 for lang in $LINGUAS; do
223 for l in $supported_locales; do
224 if test "$l" = "$lang"; then
229 if test "$ok" = 1; then
230 MOFILES="$MOFILES $lang.mo"
232 echo "Locale $lang is not supported."
235 for l in $supported_wprefs_locales; do
236 if test "$l" = "$lang"; then
241 if test "$ok" = 1; then
242 WPMOFILES="$WPMOFILES $lang.mo"
247 dnl Kanji Characters support
248 dnl ========================
251 [ --enable-kanji multibyte character support (kanji, Korean etc.)],,
254 if test "$enable_kanji" = yes; then
257 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
266 dnl Added by Oliver - Support for NLSDIR option, Hi Oliver!
267 dnl ===========================================
269 [ --with-nlsdir=PATH specify where the locale stuff should go ])
272 if test "x$NLSDIR" = "x"; then
273 if test "x$with_nlsdir" != "x"; then
276 NLSDIR='$(prefix)/lib/locale'
290 dnl Support for various hint things
291 dnl ===============================
295 [ --enable-gnome enable stuff needed for GNOME ],
296 [if test x$enableval = xyes; then
297 AC_DEFINE(GNOME_STUFF)
303 [ --enable-kde enable support for KDE window manager (kwm) hints ],
304 [if test x$enableval = xyes; then
310 AC_ARG_ENABLE(openlook,
311 [ --enable-openlook enable support for OPEN LOOK(tm) (olwm) hints ],
312 [if test x$enableval = xyes; then
313 AC_DEFINE(OLWM_HINTS)
319 dnl Disable some stuff that are duplicated in kde
320 dnl ---------------------------------------------
322 [ --enable-lite disable stuff duplicated in KDE/GNOME ],
323 [if test x$enableval = xyes; then
331 dnl ===========================================
332 dnl Stuff that uses X
333 dnl ===========================================
341 XLIBS="-lX11 $X_EXTRA_LIBS"
344 lib_search_path="$lib_search_path $XLFLAGS"
345 inc_search_path="$inc_search_path $XCFLAGS"
348 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
349 dnl by MANOME Tomonori
350 dnl ===========================================
352 AC_ARG_ENABLE(locale,
353 [ --disable-locale disable use of X locale support],
356 if test "$use_locale" = yes; then
357 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $XLFLAGS $XLIBS)
361 dnl XKB keyboard language status
362 dnl ============================
363 AC_ARG_ENABLE(modelock,
364 [ --enable-modelock XKB keyboard language status support],
365 AC_DEFINE(XKB_MODELOCK))
373 [ --disable-shape disable shaped window extension support],
374 shape=$enableval, shape=yes)
378 if test "$shape" = yes; then
379 AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
381 AC_DEFINE(SHAPE)], shape=no, $XLFLAGS $XLIBS)
389 [ --disable-shm disable usage of MIT-SHM extension],
390 shm=$enableval, shm=yes)
392 if test "$shm" = yes; then
393 AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
395 if test "$ok" = yes; then
396 AC_CHECK_FUNC(shmget, ok=yes, ok=no)
399 if test "$ok" = yes; then
400 if test "$added_xext" = no; then
401 XLIBS="-lXext $XLIBS"
408 dnl R6 Style Session Management Support
409 dnl ===================================
418 dnl Check for libPropList
419 dnl =====================
423 WM_CHECK_LIB(PropList, PLGetString, $X_EXTRA_LIBS)
424 if test "x$ac_cv_lib_PropList_PLGetString" = xyes; then
425 WM_CHECK_HEADER(proplist.h)
426 if test "x$ac_cv_header_proplist_h" = xyes; then
431 if test "x$LIBPL" = "x"; then
433 echo "ERROR!!! libPropList is not installed, or could not be found."
434 echo " Window Maker requires libPropList to build."
435 echo " Please read INSTALL to find where you can find libPropList,"
436 echo " and install it first."
437 echo " If you already have it installed, try using the"
438 if test "x$ac_cv_lib_PropList_PLGetString" != xyes; then
439 echo " --with-libs-from flag to tell configure where the library"
440 echo " is installed and"
442 echo " --with-incs-from flag to tell configure where the header"
443 echo " files are installed"
451 dnl ==============================================
452 dnl Graphic Format Libraries
453 dnl ==============================================
463 [ --disable-xpm disable use of XPM pixmaps through libXpm],
464 xpm=$enableval, xpm=yes)
466 if test "$xpm" = yes; then
467 WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
469 if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
470 WM_CHECK_HEADER(X11/xpm.h)
471 if test "x$ac_cv_header_X11_xpm_h" = xyes; then
472 GFXLIBS="$GFXLIBS -lXpm"
476 supported_gfx="builtin-XPM"
487 AC_SUBST(X_EXTRA_LIBS)
489 dnl ===============================================
490 dnl End of stuff that uses X
491 dnl ===============================================
498 [ --disable-png disable PNG support through libpng],
499 png=$enableval, png=yes, png=no)
502 if test "$png" = yes ; then
503 WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
505 if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
506 WM_CHECK_HEADER(png.h)
507 if test "x$ac_cv_header_png_h" = xyes; then
508 GFXLIBS="$GFXLIBS -lpng -lz"
509 supported_gfx="$supported_gfx PNG"
521 [ --disable-jpeg disable JPEG support through libjpeg],
522 jpeg=$enableval, jpeg=yes, jpeg=no)
524 if test "$jpeg" = yes; then
525 WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
527 if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
531 WM_CHECK_HEADER(jpeglib.h)
532 if test "x$ac_cv_header_jpeglib_h" = xyes; then
533 GFXLIBS="$GFXLIBS -ljpeg"
534 supported_gfx="$supported_gfx JPEG"
545 [ --disable-gif disable GIF support through libgif or libungif],
546 gif=$enableval, gif=yes, gif=no)
548 if test "$gif" = yes; then
550 WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
551 if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
555 dnl libungif is the same thing as libgif for all practical purposes.
557 if test "x$my_libname" = x; then
558 WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
559 if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
564 if test "$my_libname" != x; then
565 WM_CHECK_HEADER(gif_lib.h)
566 if test "x$ac_cv_header_gif_lib_h" = xyes; then
567 GFXLIBS="$GFXLIBS $my_libname"
568 supported_gfx="$supported_gfx GIF"
579 [ --disable-tiff disable use of TIFF images through libtiff],
580 tif=$enableval, tif=yes, tif=no)
583 # TIFF can optionally have JPEG and/or zlib support. Must find out
584 # when they are supported so that correct library flags are passed during
585 # detection and linkage
588 # By default use xpm icons if tiff is not found.
592 if test "$tif" = yes; then
594 WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
595 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
601 unset ac_cv_lib_tiff_TIFFGetVersion
602 if test "x$my_libname" = x; then
603 WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
604 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
605 my_libname="-ltiff -lz"
609 if test "x$my_libname" = x; then
610 WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
611 if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
612 my_libname="-ltiff34"
617 if test "x$my_libname" != x; then
618 WM_CHECK_HEADER(tiffio.h)
619 if test "x$ac_cv_header_tiffio_h" = xyes; then
620 GFXLIBS="$my_libname $GFXLIBS"
622 supported_gfx="$supported_gfx TIFF"
628 LIBRARY_SEARCH_PATH="$lib_search_path"
629 HEADER_SEARCH_PATH="$inc_search_path"
631 AC_SUBST(LIBRARY_SEARCH_PATH)
632 AC_SUBST(HEADER_SEARCH_PATH)
639 dnl ==============================================
640 dnl End of Graphic Format Libraries
641 dnl ==============================================
647 [ --enable-debug enable debugging ],, enable_debug=no)
649 if test "$enable_debug" = yes; then
651 # Efence makes things too slow. Add it by hand in the Makefiles
652 # if it is really needed.
653 # AC_CHECK_LIB(efence, malloc, LIBS="$LIBS -lefence")
658 dnl Sound support - Dan
659 dnl =============================================
662 [ --disable-sound disable sound support ],
663 sound=$enableval, sound=yes)
664 if test "$sound" = yes; then
669 # AC_PREFIX_PROGRAM(wmaker)
671 dnl Support for PIXMAPDIR option
672 dnl ============================
673 AC_ARG_WITH(pixmapdir,
674 [ --with-pixmapdir=PATH specify where pixmaps are located [DATADIR/pixmaps]])
676 if test "x$with_pixmapdir" != "x"; then
677 pixmapdir=$with_pixmapdir
679 pixmapdir=`eval echo ${datadir}/pixmaps`
682 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir")
684 pkgdatadir=`eval echo $datadir`
685 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker")
687 _sysconfdir=`eval echo $sysconfdir`
688 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir/WindowMaker")
691 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
692 dnl ==============================================
696 AC_ARG_WITH(appspath,
697 [ --with-appspath=PATH specify the directory for GNUstep applications], appspath=$withval )
699 if test "x$appspath" = "x"; then
700 gnustepdir='$(prefix)/GNUstep'
702 if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
703 gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
704 gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
707 with_appspath=$gnustepdir/Apps
710 wprefsdir=$with_appspath/WPrefs.app
716 dnl Enable single appicon per wm instance+class combo -cls
717 dnl =====================================================
718 AC_ARG_ENABLE(single-icon,
719 [ --enable-single-icon use single application icon per WM_INSTANCE+WM_CLASS
721 if test "$enableval" = yes; then
722 AC_DEFINE(REDUCE_APPICONS)
728 dnl Nicolai: Program tests for Documentation Section
729 dnl =================================================
731 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
732 dnl if test "x$MAKEINFO" != "x" ; then
733 dnl DOCTYPES="$DOCTYPES info_doc"
735 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
736 dnl if test "x$TEX" != "x" ; then
737 dnl DOCTYPES="$DOCTYPES dvi_doc"
739 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
740 dnl if test "x$DVIPS" != "x" ; then
741 dnl DOCTYPES="$DOCTYPES ps_doc"
743 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
744 dnl if test "x$PERL" != "x" ; then
745 dnl DOCTYPES="$DOCTYPES html_doc"
747 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
748 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
750 dnl AC_SUBST(DOCTYPES)
752 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile wmlib/Makefile \
753 WINGs/Makefile WINGs/Resources/Makefile src/Makefile src/wconfig.h \
754 wrlib/Makefile doc/Makefile WindowMaker/Makefile \
755 WindowMaker/Backgrounds/Makefile WindowMaker/Defaults/Makefile \
756 WindowMaker/IconSets/Makefile WindowMaker/Icons/Makefile \
757 WindowMaker/Pixmaps/Makefile WindowMaker/Styles/Makefile \
758 WindowMaker/Themes/Makefile \
759 WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
760 WPrefs.app/po/Makefile )
765 dnl Output some helpfull data for compiling WINGs apps
766 dnl ==================================================
769 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
770 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
771 dnl | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
773 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
776 cat <<EOF >get-wraster-flags
782 WCFLAGS="-I\$prefix/include $inc_search_path"
783 WLFLAGS="-L\$exec_prefix/lib $lib_search_path"
784 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
786 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
788 if test \$# -eq 0; then
789 echo "\${usage}" 1>&2
793 while test \$# -gt 0; do
805 echo "\${usage}" 1>&2
815 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
817 chmod 755 wrlib/get-wraster-flags
818 rm -f get-wraster-flags
822 dnl Spit out the configuration
823 dnl ==========================
825 supported_gfx="$supported_gfx builtin-PPM"
827 if test "x$MOFILES" = "x"; then
835 echo "Window Maker was configured as follows:"
837 echo "Installation path prefix: $prefix"
838 echo "Installation path prefix for binaries: $_bindir"
839 echo "Installation path for WPrefs.app: $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
840 echo "Graphic format libraries: $supported_gfx"
841 echo "Sound support: $sound"
842 echo "Translated message files to install: $mof"
843 if test "x$MOFILES" != "x"; then
844 echo "Installation path of translated messages: $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
847 WM_PRINT_REDCRAP_BUG_STATUS
849 if test "x$ac_cv_header_jpeglib_h" != xyes; then
850 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
852 echo "JPEG support will not be included because the JPEG library is"
853 echo "not installed correctly or was not found. Background images"
854 echo "from themes will not display as they usually are JPEG files."
856 echo "To fix, download and install the jpeg library and/or make sure you"
857 echo "installed all jpeg related packages, like jpeg-devel."
859 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
863 dnl This is for Emacs. I'm lazy, I know... (nicolai)
864 dnl ================================================
866 dnl compile-command: "autoconf"