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 inet_aton)
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
327 dnl Networking stuff for Sysv
332 AC_CHECK_FUNC(connect,,
333 AC_CHECK_LIB(connect, socket, NETLIBS="$NETLIBS -lsocket",))
335 AC_CHECK_FUNC(gethostbyname,,
336 AC_CHECK_LIB(gethostbyname, nsl, NETLIBS="$NETLIBS -lnsl",))
341 dnl ===========================================
342 dnl Stuff that uses X
343 dnl ===========================================
348 AC_MSG_ERROR([The path for the X11 files not found!
349 Make sure you have X and it's headers and libraries (the -devel packages
350 in Linux) installed.])
353 X_LIBRARY_PATH=$x_libraries
359 XLIBS="-lX11 $X_EXTRA_LIBS"
362 lib_search_path="$lib_search_path $XLFLAGS"
363 inc_search_path="$inc_search_path $XCFLAGS"
366 AC_SUBST(X_LIBRARY_PATH)
370 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
371 dnl by MANOME Tomonori
372 dnl ===========================================
374 AC_ARG_ENABLE(locale,
375 [ --disable-locale disable use of X locale support],
378 if test "$use_locale" = yes; then
379 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $XLFLAGS $XLIBS)
383 dnl XKB keyboard language status
384 dnl ============================
385 AC_ARG_ENABLE(modelock,
386 [ --enable-modelock XKB keyboard language status support],
387 AC_DEFINE(XKB_MODELOCK))
395 [ --disable-shape disable shaped window extension support],
396 shape=$enableval, shape=yes)
400 if test "$shape" = yes; then
401 AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
403 AC_DEFINE(SHAPE)], shape=no, $XLFLAGS $XLIBS)
411 [ --disable-shm disable usage of MIT-SHM extension],
412 shm=$enableval, shm=yes)
414 if test "$shm" = yes; then
415 AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
417 if test "$ok" = yes; then
418 AC_CHECK_FUNC(shmget, ok=yes, ok=no)
421 if test "$ok" = yes; then
422 if test "$added_xext" = no; then
423 XLIBS="-lXext $XLIBS"
430 dnl R6 Style Session Management Support
431 dnl ===================================
440 dnl Check for libPropList
441 dnl =====================
445 WM_CHECK_LIB(PropList, PLGetString, $X_EXTRA_LIBS)
446 if test "x$ac_cv_lib_PropList_PLGetString" = xyes; then
447 WM_CHECK_HEADER(proplist.h)
448 if test "x$ac_cv_header_proplist_h" = xyes; then
453 if test "x$LIBPL" = "x"; then
455 echo "ERROR!!! libPropList is not installed, or could not be found."
456 echo " Window Maker requires libPropList to build."
457 echo " Please read INSTALL to find where you can find libPropList,"
458 echo " and install it first."
459 if test x$W_SYSTEM = xLinux; then
460 echo " If you're using some prepackaged version of libPropList,"
461 echo " make sure you install it's \"development\" package as well."
463 echo " If you already have it installed, try using the"
464 if test "x$ac_cv_lib_PropList_PLGetString" != xyes; then
465 echo " --with-libs-from flag to tell configure where the library"
466 echo " is installed and"
468 echo " --with-incs-from flag to tell configure where the header"
469 echo " files are installed"
477 dnl ==============================================
478 dnl Graphic Format Libraries
479 dnl ==============================================
489 [ --disable-xpm disable use of XPM pixmaps through libXpm],
490 xpm=$enableval, xpm=yes)
492 if test "$xpm" = yes; then
493 WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
495 if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
496 WM_CHECK_HEADER(X11/xpm.h)
497 if test "x$ac_cv_header_X11_xpm_h" = xyes; then
498 GFXLIBS="$GFXLIBS -lXpm"
502 supported_gfx="builtin-XPM"
513 AC_SUBST(X_EXTRA_LIBS)
515 dnl ===============================================
516 dnl End of stuff that uses X
517 dnl ===============================================
524 [ --disable-png disable PNG support through libpng],
525 png=$enableval, png=yes, png=no)
528 if test "$png" = yes ; then
529 WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
531 if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
532 WM_CHECK_HEADER(png.h)
533 if test "x$ac_cv_header_png_h" = xyes; then
534 GFXLIBS="$GFXLIBS -lpng -lz"
535 supported_gfx="$supported_gfx PNG"
547 [ --disable-jpeg disable JPEG support through libjpeg],
548 jpeg=$enableval, jpeg=yes, jpeg=no)
550 if test "$jpeg" = yes; then
551 WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
553 if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
557 WM_CHECK_HEADER(jpeglib.h)
558 if test "x$ac_cv_header_jpeglib_h" = xyes; then
559 GFXLIBS="$GFXLIBS -ljpeg"
560 supported_gfx="$supported_gfx JPEG"
571 [ --disable-gif disable GIF support through libgif or libungif],
572 gif=$enableval, gif=yes, gif=no)
574 if test "$gif" = yes; then
576 WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
577 if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
581 dnl libungif is the same thing as libgif for all practical purposes.
583 if test "x$my_libname" = x; then
584 WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
585 if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
590 if test "$my_libname" != x; then
591 WM_CHECK_HEADER(gif_lib.h)
592 if test "x$ac_cv_header_gif_lib_h" = xyes; then
593 GFXLIBS="$GFXLIBS $my_libname"
594 supported_gfx="$supported_gfx GIF"
605 [ --disable-tiff disable use of TIFF images through libtiff],
606 tif=$enableval, tif=yes, tif=no)
609 # TIFF can optionally have JPEG and/or zlib support. Must find out
610 # when they are supported so that correct library flags are passed during
611 # detection and linkage
614 # By default use xpm icons if tiff is not found.
618 if test "$tif" = yes; then
620 WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
621 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
627 unset ac_cv_lib_tiff_TIFFGetVersion
628 if test "x$my_libname" = x; then
629 WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
630 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
631 my_libname="-ltiff -lz"
635 if test "x$my_libname" = x; then
636 WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
637 if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
638 my_libname="-ltiff34"
643 if test "x$my_libname" != x; then
644 WM_CHECK_HEADER(tiffio.h)
645 if test "x$ac_cv_header_tiffio_h" = xyes; then
646 GFXLIBS="$my_libname $GFXLIBS"
648 supported_gfx="$supported_gfx TIFF"
654 LIBRARY_SEARCH_PATH="$lib_search_path"
655 HEADER_SEARCH_PATH="$inc_search_path"
657 AC_SUBST(LIBRARY_SEARCH_PATH)
658 AC_SUBST(HEADER_SEARCH_PATH)
665 dnl ==============================================
666 dnl End of Graphic Format Libraries
667 dnl ==============================================
673 [ --enable-debug enable debugging ],, enable_debug=no)
675 if test "$enable_debug" = yes; then
677 # Efence makes things too slow. Add it by hand in the Makefiles
678 # if it is really needed.
679 # AC_CHECK_LIB(efence, malloc, LIBS="$LIBS -lefence")
681 DFLAGS="-DWITHOUT_NANA"
686 dnl Sound support - Dan
687 dnl =============================================
690 [ --disable-sound disable sound support ],
691 sound=$enableval, sound=yes)
692 if test "$sound" = yes; then
697 # AC_PREFIX_PROGRAM(wmaker)
699 dnl Support for PIXMAPDIR option
700 dnl ============================
701 AC_ARG_WITH(pixmapdir,
702 [ --with-pixmapdir=PATH specify where pixmaps are located [DATADIR/pixmaps]])
704 if test "x$with_pixmapdir" != "x"; then
705 pixmapdir=$with_pixmapdir
707 pixmapdir=`eval echo ${datadir}/pixmaps`
710 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir")
712 pkgdatadir=`eval echo $datadir`
713 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker")
715 _sysconfdir=`eval echo $sysconfdir`
716 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir")
719 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
720 dnl ==============================================
724 AC_ARG_WITH(appspath,
725 [ --with-appspath=PATH specify the directory for GNUstep applications], appspath=$withval )
727 if test "x$appspath" = "x"; then
728 gnustepdir='$(prefix)/GNUstep'
730 if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
731 gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
732 gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
735 with_appspath=$gnustepdir/Apps
738 wprefsdir=$with_appspath/WPrefs.app
744 dnl Enable single appicon per wm instance+class combo -cls
745 dnl =====================================================
746 AC_ARG_ENABLE(single-icon,
747 [ --enable-single-icon use single application icon per WM_INSTANCE+WM_CLASS
749 if test "$enableval" = yes; then
750 AC_DEFINE(REDUCE_APPICONS)
754 dnl Enable User Defined Menu thing
755 dnl ==================================
756 AC_ARG_ENABLE(usermenu,
757 [ --enable-usermenu user defined menus for applications
759 if test "$enableval" = yes; then
766 dnl Nicolai: Program tests for Documentation Section
767 dnl =================================================
769 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
770 dnl if test "x$MAKEINFO" != "x" ; then
771 dnl DOCTYPES="$DOCTYPES info_doc"
773 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
774 dnl if test "x$TEX" != "x" ; then
775 dnl DOCTYPES="$DOCTYPES dvi_doc"
777 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
778 dnl if test "x$DVIPS" != "x" ; then
779 dnl DOCTYPES="$DOCTYPES ps_doc"
781 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
782 dnl if test "x$PERL" != "x" ; then
783 dnl DOCTYPES="$DOCTYPES html_doc"
785 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
786 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
788 dnl AC_SUBST(DOCTYPES)
790 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile wmlib/Makefile \
791 WINGs/Makefile WINGs/Resources/Makefile src/Makefile src/wconfig.h \
792 wrlib/Makefile doc/Makefile WindowMaker/Makefile contrib/Makefile \
793 WindowMaker/Backgrounds/Makefile WindowMaker/Defaults/Makefile \
794 WindowMaker/IconSets/Makefile WindowMaker/Icons/Makefile \
795 WindowMaker/Pixmaps/Makefile WindowMaker/Styles/Makefile \
796 WindowMaker/Themes/Makefile \
797 WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
798 WPrefs.app/po/Makefile )
803 dnl Output some helpfull data for compiling WINGs apps
804 dnl ==================================================
807 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
808 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
809 dnl | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
811 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
814 cat <<EOF >get-wraster-flags
820 WCFLAGS="-I\$prefix/include $inc_search_path"
821 WLFLAGS="-L\$exec_prefix/lib $lib_search_path"
822 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
824 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
826 if test \$# -eq 0; then
827 echo "\${usage}" 1>&2
831 while test \$# -gt 0; do
843 echo "\${usage}" 1>&2
853 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
855 chmod 755 wrlib/get-wraster-flags
856 rm -f get-wraster-flags
860 dnl Spit out the configuration
861 dnl ==========================
863 supported_gfx="$supported_gfx builtin-PPM"
865 if test "x$MOFILES" = "x"; then
873 echo "Window Maker was configured as follows:"
875 echo "Installation path prefix: $prefix"
876 echo "Installation path prefix for binaries: $_bindir"
877 echo "Installation path for WPrefs.app: $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
878 echo "Graphic format libraries: $supported_gfx"
879 echo "Sound support: $sound"
880 echo "Translated message files to install: $mof"
881 if test "x$MOFILES" != "x"; then
882 echo "Installation path of translated messages: $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
885 dnl WM_PRINT_REDCRAP_BUG_STATUS
887 if test "x$ac_cv_header_jpeglib_h" != xyes; then
888 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
890 echo "JPEG support will not be included because the JPEG library is"
891 echo "not installed correctly or was not found. Background images"
892 echo "from themes will not display as they usually are JPEG files."
894 echo "To fix, download and install the jpeg library and/or make sure you"
895 echo "installed all jpeg related packages, SPECIALLY the development packages"
896 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
898 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
902 dnl This is for Emacs. I'm lazy, I know... (nicolai)
903 dnl ================================================
905 dnl compile-command: "autoconf"