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.61.1)
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__ "/'
34 AM_CONFIG_HEADER(src/config.h)
37 dnl Checks for host/os name
38 dnl =======================
42 dnl Checks for programs.
43 dnl ===================
46 dnl AC_PROG_MAKE_SET -- already done by AM_INIT_AUTOMAKE
48 dnl AC_PROG_INSTALL -- already done by AM_INIT_AUTOMAKE
50 AC_PROG_GCC_TRADITIONAL
56 dnl move this earlier in the script... anyone know why this is handled
57 dnl in such a bizarre way?
59 test "x$prefix" = xNONE && prefix=$ac_default_prefix
60 dnl Let make expand exec_prefix.
61 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
64 _bindir=`eval echo $bindir`
65 _bindir=`eval echo $_bindir`
67 _libdir=`eval echo $libdir`
68 _libdir=`eval echo $_libdir`
69 lib_search_path="-L$_libdir"
71 inc_search_path=`eval echo $includedir`
72 inc_search_path="-I`eval echo $inc_search_path`"
76 dnl Check for RedHat bugs
77 dnl =====================
79 dnl WM_CHECK_REDCRAP_BUGS($prefix,$_bindir,$_libdir)
83 dnl Specify paths to look for libraries and headers
84 dnl ===============================================
85 AC_ARG_WITH(libs-from,
86 [ --with-libs-from pass compiler flags to look for libraries],
87 [lib_search_path="$withval $lib_search_path"])
89 AC_ARG_WITH(incs-from,
90 [ --with-incs-from pass compiler flags to look for header files],
91 [inc_search_path="$withval $inc_search_path"])
95 dnl Checks for library functions.
96 dnl ============================
101 AC_CHECK_FUNCS(gethostname select poll strerror strncasecmp setpgid atexit)
105 dnl Loading of dynamic libraries at runtime
106 dnl =======================================
109 AC_CHECK_FUNC(dlopen, [HAVEDL="yes"],
110 AC_CHECK_LIB(dl, dlopen, [DLLIBS="-ldl" HAVEDL="yes"],
113 if test "x$HAVEDL" = xyes; then
114 AC_CHECK_HEADERS(dlfcn.h)
121 if test "x$CPP_PATH" = x; then
122 AC_PATH_PROG(CPP_PATH, cpp, notfound,
123 $PATH:/lib:/usr/bin:/bin:/usr/lib:/usr/ccs/lib)
127 dnl Tell stupid Solaris cpp that the files it will process have C++ like syntax
128 dnl RedHat 5.x is broken too, so it won't make a symlink from cpp to the
129 dnl standard locations
131 if test "$CPP_PATH" = "/usr/ccs/lib/cpp" -o "$CPP_PATH" = "notfound" ; then
132 if test "$GCC" = "yes"; then
133 CPP_PATH="gcc -E -x c"
135 if test "$CPP_PATH" = "/usr/ccs/lib/cpp"; then
136 CPP_PATH="$CPP_PATH -B"
138 echo "cpp, the C preprocessor was not found in your system."
139 echo "Create a symbolic link from it to /lib/cpp and rerun configure"
144 AC_DEFINE_UNQUOTED(CPP_PATH, "$CPP_PATH")
148 dnl Checks for header files.
149 dnl =======================
153 AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h\
154 libintl.h sys/select.h poll.h)
158 dnl Checks for typedefs, structures, and compiler characteristics.
159 dnl ==============================================================
177 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"],
178 AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
181 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
183 if test "$XGETTEXT" != ""; then
184 if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
185 echo "xgettext isn't GNU version"
190 if test "$LINGUAS" != ""; then
191 if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
194 # if test "$LINGUAS" = ""; then
195 # ling=` (cd src/po; /bin/ls *.po) `
197 # lcode=`basename $l .po`
198 # LINGUAS="$LINGUAS $lcode"
201 echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
205 echo "xgettext and libintl.a don't both exist; will not build i18n support"
215 dnl The Tower of Babel
216 dnl ==================
218 dnl List of supported locales
219 dnl -------------------------
220 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 sk"
221 supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es zh_CN fi it ru de"
223 for lang in $LINGUAS; do
225 for l in $supported_locales; do
226 if test "$l" = "$lang"; then
231 if test "$ok" = 1; then
232 MOFILES="$MOFILES $lang.mo"
234 echo "Locale $lang is not supported."
237 for l in $supported_wprefs_locales; do
238 if test "$l" = "$lang"; then
243 if test "$ok" = 1; then
244 WPMOFILES="$WPMOFILES $lang.mo"
249 dnl Kanji Characters support
250 dnl ========================
254 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]);;
261 dnl Added by Oliver - Support for NLSDIR option, Hi Oliver!
262 dnl ===========================================
264 [ --with-nlsdir=PATH specify where the locale stuff should go ])
267 if test "x$NLSDIR" = "x"; then
268 if test "x$with_nlsdir" != "x"; then
271 NLSDIR='$(prefix)/lib/locale'
285 dnl Support for various hint things
286 dnl ===============================
290 [ --enable-gnome enable stuff needed for GNOME ],
291 [if test x$enableval = xyes; then
292 AC_DEFINE(GNOME_STUFF)
298 [ --enable-kde enable support for KDE window manager (kwm) hints ],
299 [if test x$enableval = xyes; then
305 AC_ARG_ENABLE(openlook,
306 [ --enable-openlook enable support for OPEN LOOK(tm) (olwm) hints ],
307 [if test x$enableval = xyes; then
308 AC_DEFINE(OLWM_HINTS)
314 dnl Disable some stuff that are duplicated in kde
315 dnl ---------------------------------------------
317 [ --enable-lite disable some stuff (dont use it) ],
318 [if test x$enableval = xyes; then
326 dnl ===========================================
327 dnl Stuff that uses X
328 dnl ===========================================
332 X_LIBRARY_PATH=$x_libraries
338 XLIBS="-lX11 $X_EXTRA_LIBS"
341 lib_search_path="$lib_search_path $XLFLAGS"
342 inc_search_path="$inc_search_path $XCFLAGS"
345 AC_SUBST(X_LIBRARY_PATH)
349 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
350 dnl by MANOME Tomonori
351 dnl ===========================================
353 AC_ARG_ENABLE(locale,
354 [ --disable-locale disable use of X locale support],
357 if test "$use_locale" = yes; then
358 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $XLFLAGS $XLIBS)
362 dnl XKB keyboard language status
363 dnl ============================
364 AC_ARG_ENABLE(modelock,
365 [ --enable-modelock XKB keyboard language status support],
366 AC_DEFINE(XKB_MODELOCK))
374 [ --disable-shape disable shaped window extension support],
375 shape=$enableval, shape=yes)
379 if test "$shape" = yes; then
380 AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
382 AC_DEFINE(SHAPE)], shape=no, $XLFLAGS $XLIBS)
390 [ --disable-shm disable usage of MIT-SHM extension],
391 shm=$enableval, shm=yes)
393 if test "$shm" = yes; then
394 AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
396 if test "$ok" = yes; then
397 AC_CHECK_FUNC(shmget, ok=yes, ok=no)
400 if test "$ok" = yes; then
401 if test "$added_xext" = no; then
402 XLIBS="-lXext $XLIBS"
409 dnl R6 Style Session Management Support
410 dnl ===================================
419 dnl Check for libPropList
420 dnl =====================
424 WM_CHECK_LIB(PropList, PLGetString, $X_EXTRA_LIBS)
425 if test "x$ac_cv_lib_PropList_PLGetString" = xyes; then
426 WM_CHECK_HEADER(proplist.h)
427 if test "x$ac_cv_header_proplist_h" = xyes; then
432 if test "x$LIBPL" = "x"; then
434 echo "ERROR!!! libPropList is not installed, or could not be found."
435 echo " Window Maker requires libPropList to build."
436 echo " Please read INSTALL to find where you can find libPropList,"
437 echo " and install it first."
438 if test x$W_SYSTEM = xLinux; then
439 echo " If you're using some prepackaged version of libPropList,"
440 echo " make sure you install it's \"development\" package as well."
442 echo " If you already have it installed, try using the"
443 if test "x$ac_cv_lib_PropList_PLGetString" != xyes; then
444 echo " --with-libs-from flag to tell configure where the library"
445 echo " is installed and"
447 echo " --with-incs-from flag to tell configure where the header"
448 echo " files are installed"
456 dnl ==============================================
457 dnl Graphic Format Libraries
458 dnl ==============================================
468 [ --disable-xpm disable use of XPM pixmaps through libXpm],
469 xpm=$enableval, xpm=yes)
471 if test "$xpm" = yes; then
472 WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
474 if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
475 WM_CHECK_HEADER(X11/xpm.h)
476 if test "x$ac_cv_header_X11_xpm_h" = xyes; then
477 GFXLIBS="$GFXLIBS -lXpm"
481 supported_gfx="builtin-XPM"
492 AC_SUBST(X_EXTRA_LIBS)
494 dnl ===============================================
495 dnl End of stuff that uses X
496 dnl ===============================================
503 [ --disable-png disable PNG support through libpng],
504 png=$enableval, png=yes, png=no)
507 if test "$png" = yes ; then
508 WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
510 if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
511 WM_CHECK_HEADER(png.h)
512 if test "x$ac_cv_header_png_h" = xyes; then
513 GFXLIBS="$GFXLIBS -lpng -lz"
514 supported_gfx="$supported_gfx PNG"
526 [ --disable-jpeg disable JPEG support through libjpeg],
527 jpeg=$enableval, jpeg=yes, jpeg=no)
529 if test "$jpeg" = yes; then
530 WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
532 if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
536 WM_CHECK_HEADER(jpeglib.h)
537 if test "x$ac_cv_header_jpeglib_h" = xyes; then
538 GFXLIBS="$GFXLIBS -ljpeg"
539 supported_gfx="$supported_gfx JPEG"
550 [ --disable-gif disable GIF support through libgif or libungif],
551 gif=$enableval, gif=yes, gif=no)
553 if test "$gif" = yes; then
555 WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
556 if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
560 dnl libungif is the same thing as libgif for all practical purposes.
562 if test "x$my_libname" = x; then
563 WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
564 if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
569 if test "$my_libname" != x; then
570 WM_CHECK_HEADER(gif_lib.h)
571 if test "x$ac_cv_header_gif_lib_h" = xyes; then
572 GFXLIBS="$GFXLIBS $my_libname"
573 supported_gfx="$supported_gfx GIF"
584 [ --disable-tiff disable use of TIFF images through libtiff],
585 tif=$enableval, tif=yes, tif=no)
588 # TIFF can optionally have JPEG and/or zlib support. Must find out
589 # when they are supported so that correct library flags are passed during
590 # detection and linkage
593 # By default use xpm icons if tiff is not found.
597 if test "$tif" = yes; then
599 WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
600 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
606 unset ac_cv_lib_tiff_TIFFGetVersion
607 if test "x$my_libname" = x; then
608 WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
609 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
610 my_libname="-ltiff -lz"
614 if test "x$my_libname" = x; then
615 WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
616 if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
617 my_libname="-ltiff34"
622 if test "x$my_libname" != x; then
623 WM_CHECK_HEADER(tiffio.h)
624 if test "x$ac_cv_header_tiffio_h" = xyes; then
625 GFXLIBS="$my_libname $GFXLIBS"
627 supported_gfx="$supported_gfx TIFF"
633 LIBRARY_SEARCH_PATH="$lib_search_path"
634 HEADER_SEARCH_PATH="$inc_search_path"
636 AC_SUBST(LIBRARY_SEARCH_PATH)
637 AC_SUBST(HEADER_SEARCH_PATH)
644 dnl ==============================================
645 dnl End of Graphic Format Libraries
646 dnl ==============================================
652 [ --enable-debug enable debugging ],, enable_debug=no)
654 if test "$enable_debug" = yes; then
656 # Efence makes things too slow. Add it by hand in the Makefiles
657 # if it is really needed.
658 # AC_CHECK_LIB(efence, malloc, LIBS="$LIBS -lefence")
663 dnl Sound support - Dan
664 dnl =============================================
667 [ --disable-sound disable sound support ],
668 sound=$enableval, sound=yes)
669 if test "$sound" = yes; then
674 # AC_PREFIX_PROGRAM(wmaker)
676 dnl Support for PIXMAPDIR option
677 dnl ============================
678 AC_ARG_WITH(pixmapdir,
679 [ --with-pixmapdir=PATH specify where pixmaps are located [DATADIR/pixmaps]])
681 if test "x$with_pixmapdir" != "x"; then
682 pixmapdir=$with_pixmapdir
684 pixmapdir=`eval echo ${datadir}/pixmaps`
687 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir")
689 pkgdatadir=`eval echo $datadir`
690 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker")
692 _sysconfdir=`eval echo $sysconfdir`
693 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir")
696 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
697 dnl ==============================================
701 AC_ARG_WITH(appspath,
702 [ --with-appspath=PATH specify the directory for GNUstep applications], appspath=$withval )
704 if test "x$appspath" = "x"; then
705 gnustepdir='$(prefix)/GNUstep'
707 if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
708 gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
709 gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
712 with_appspath=$gnustepdir/Apps
715 wprefsdir=$with_appspath/WPrefs.app
721 dnl Enable single appicon per wm instance+class combo -cls
722 dnl =====================================================
723 AC_ARG_ENABLE(single-icon,
724 [ --enable-single-icon use single application icon per WM_INSTANCE+WM_CLASS
726 if test "$enableval" = yes; then
727 AC_DEFINE(REDUCE_APPICONS)
731 dnl Enable User Defined Menu thing
732 dnl ==================================
733 AC_ARG_ENABLE(usermenu,
734 [ --enable-usermenu user defined menus for applications
736 if test "$enableval" = yes; then
743 dnl Nicolai: Program tests for Documentation Section
744 dnl =================================================
746 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
747 dnl if test "x$MAKEINFO" != "x" ; then
748 dnl DOCTYPES="$DOCTYPES info_doc"
750 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
751 dnl if test "x$TEX" != "x" ; then
752 dnl DOCTYPES="$DOCTYPES dvi_doc"
754 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
755 dnl if test "x$DVIPS" != "x" ; then
756 dnl DOCTYPES="$DOCTYPES ps_doc"
758 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
759 dnl if test "x$PERL" != "x" ; then
760 dnl DOCTYPES="$DOCTYPES html_doc"
762 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
763 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
765 dnl AC_SUBST(DOCTYPES)
767 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile wmlib/Makefile \
768 WINGs/Makefile WINGs/Resources/Makefile src/Makefile src/wconfig.h \
769 wrlib/Makefile doc/Makefile WindowMaker/Makefile contrib/Makefile \
770 WindowMaker/Backgrounds/Makefile WindowMaker/Defaults/Makefile \
771 WindowMaker/IconSets/Makefile WindowMaker/Icons/Makefile \
772 WindowMaker/Pixmaps/Makefile WindowMaker/Styles/Makefile \
773 WindowMaker/Themes/Makefile \
774 WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
775 WPrefs.app/po/Makefile )
780 dnl Output some helpfull data for compiling WINGs apps
781 dnl ==================================================
784 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
785 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
786 dnl | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
788 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
791 cat <<EOF >get-wraster-flags
797 WCFLAGS="-I\$prefix/include $inc_search_path"
798 WLFLAGS="-L\$exec_prefix/lib $lib_search_path"
799 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
801 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
803 if test \$# -eq 0; then
804 echo "\${usage}" 1>&2
808 while test \$# -gt 0; do
820 echo "\${usage}" 1>&2
830 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
832 chmod 755 wrlib/get-wraster-flags
833 rm -f get-wraster-flags
837 dnl Spit out the configuration
838 dnl ==========================
840 supported_gfx="$supported_gfx builtin-PPM"
842 if test "x$MOFILES" = "x"; then
850 echo "Window Maker was configured as follows:"
852 echo "Installation path prefix: $prefix"
853 echo "Installation path prefix for binaries: $_bindir"
854 echo "Installation path for WPrefs.app: $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
855 echo "Graphic format libraries: $supported_gfx"
856 echo "Sound support: $sound"
857 echo "Translated message files to install: $mof"
858 if test "x$MOFILES" != "x"; then
859 echo "Installation path of translated messages: $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
862 dnl WM_PRINT_REDCRAP_BUG_STATUS
864 if test "x$ac_cv_header_jpeglib_h" != xyes; then
865 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
867 echo "JPEG support will not be included because the JPEG library is"
868 echo "not installed correctly or was not found. Background images"
869 echo "from themes will not display as they usually are JPEG files."
871 echo "To fix, download and install the jpeg library and/or make sure you"
872 echo "installed all jpeg related packages, SPECIALLY the development packages"
873 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
875 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
879 dnl This is for Emacs. I'm lazy, I know... (nicolai)
880 dnl ================================================
882 dnl compile-command: "autoconf"