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 ===========================================
333 AC_MSG_ERROR([The path for the X11 files not found!
334 Make sure you have X and it's headers and libraries (the -devel packages
335 in Linux) installed.])
338 X_LIBRARY_PATH=$x_libraries
344 XLIBS="-lX11 $X_EXTRA_LIBS"
347 lib_search_path="$lib_search_path $XLFLAGS"
348 inc_search_path="$inc_search_path $XCFLAGS"
351 AC_SUBST(X_LIBRARY_PATH)
355 dnl Decide which locale function to use, setlocale() or _Xsetlocale()
356 dnl by MANOME Tomonori
357 dnl ===========================================
359 AC_ARG_ENABLE(locale,
360 [ --disable-locale disable use of X locale support],
363 if test "$use_locale" = yes; then
364 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE),, $XLFLAGS $XLIBS)
368 dnl XKB keyboard language status
369 dnl ============================
370 AC_ARG_ENABLE(modelock,
371 [ --enable-modelock XKB keyboard language status support],
372 AC_DEFINE(XKB_MODELOCK))
380 [ --disable-shape disable shaped window extension support],
381 shape=$enableval, shape=yes)
385 if test "$shape" = yes; then
386 AC_CHECK_LIB(Xext, XShapeSelectInput, [XLIBS="-lXext $XLIBS"
388 AC_DEFINE(SHAPE)], shape=no, $XLFLAGS $XLIBS)
396 [ --disable-shm disable usage of MIT-SHM extension],
397 shm=$enableval, shm=yes)
399 if test "$shm" = yes; then
400 AC_CHECK_LIB(Xext, XShmAttach, ok=yes, ok=no, $XLFLAGS $XLIBS)
402 if test "$ok" = yes; then
403 AC_CHECK_FUNC(shmget, ok=yes, ok=no)
406 if test "$ok" = yes; then
407 if test "$added_xext" = no; then
408 XLIBS="-lXext $XLIBS"
415 dnl R6 Style Session Management Support
416 dnl ===================================
425 dnl Check for libPropList
426 dnl =====================
430 WM_CHECK_LIB(PropList, PLGetString, $X_EXTRA_LIBS)
431 if test "x$ac_cv_lib_PropList_PLGetString" = xyes; then
432 WM_CHECK_HEADER(proplist.h)
433 if test "x$ac_cv_header_proplist_h" = xyes; then
438 if test "x$LIBPL" = "x"; then
440 echo "ERROR!!! libPropList is not installed, or could not be found."
441 echo " Window Maker requires libPropList to build."
442 echo " Please read INSTALL to find where you can find libPropList,"
443 echo " and install it first."
444 if test x$W_SYSTEM = xLinux; then
445 echo " If you're using some prepackaged version of libPropList,"
446 echo " make sure you install it's \"development\" package as well."
448 echo " If you already have it installed, try using the"
449 if test "x$ac_cv_lib_PropList_PLGetString" != xyes; then
450 echo " --with-libs-from flag to tell configure where the library"
451 echo " is installed and"
453 echo " --with-incs-from flag to tell configure where the header"
454 echo " files are installed"
462 dnl ==============================================
463 dnl Graphic Format Libraries
464 dnl ==============================================
474 [ --disable-xpm disable use of XPM pixmaps through libXpm],
475 xpm=$enableval, xpm=yes)
477 if test "$xpm" = yes; then
478 WM_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [$XLFLAGS $XLIBS])
480 if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = xyes; then
481 WM_CHECK_HEADER(X11/xpm.h)
482 if test "x$ac_cv_header_X11_xpm_h" = xyes; then
483 GFXLIBS="$GFXLIBS -lXpm"
487 supported_gfx="builtin-XPM"
498 AC_SUBST(X_EXTRA_LIBS)
500 dnl ===============================================
501 dnl End of stuff that uses X
502 dnl ===============================================
509 [ --disable-png disable PNG support through libpng],
510 png=$enableval, png=yes, png=no)
513 if test "$png" = yes ; then
514 WM_CHECK_LIB(png, png_get_valid, [-lz -lm])
516 if test "x$ac_cv_lib_png_png_get_valid" = xyes; then
517 WM_CHECK_HEADER(png.h)
518 if test "x$ac_cv_header_png_h" = xyes; then
519 GFXLIBS="$GFXLIBS -lpng -lz"
520 supported_gfx="$supported_gfx PNG"
532 [ --disable-jpeg disable JPEG support through libjpeg],
533 jpeg=$enableval, jpeg=yes, jpeg=no)
535 if test "$jpeg" = yes; then
536 WM_CHECK_LIB(jpeg, jpeg_destroy_compress)
538 if test "x$ac_cv_lib_jpeg_jpeg_destroy_compress" = xyes; then
542 WM_CHECK_HEADER(jpeglib.h)
543 if test "x$ac_cv_header_jpeglib_h" = xyes; then
544 GFXLIBS="$GFXLIBS -ljpeg"
545 supported_gfx="$supported_gfx JPEG"
556 [ --disable-gif disable GIF support through libgif or libungif],
557 gif=$enableval, gif=yes, gif=no)
559 if test "$gif" = yes; then
561 WM_CHECK_LIB(ungif, DGifOpenFileName, [$XLFLAGS $XLIBS])
562 if test "x$ac_cv_lib_ungif_DGifOpenFileName" = xyes; then
566 dnl libungif is the same thing as libgif for all practical purposes.
568 if test "x$my_libname" = x; then
569 WM_CHECK_LIB(gif, DGifOpenFileName, [$XLFLAGS $XLIBS])
570 if test "x$ac_cv_lib_gif_DGifOpenFileName" = xyes; then
575 if test "$my_libname" != x; then
576 WM_CHECK_HEADER(gif_lib.h)
577 if test "x$ac_cv_header_gif_lib_h" = xyes; then
578 GFXLIBS="$GFXLIBS $my_libname"
579 supported_gfx="$supported_gfx GIF"
590 [ --disable-tiff disable use of TIFF images through libtiff],
591 tif=$enableval, tif=yes, tif=no)
594 # TIFF can optionally have JPEG and/or zlib support. Must find out
595 # when they are supported so that correct library flags are passed during
596 # detection and linkage
599 # By default use xpm icons if tiff is not found.
603 if test "$tif" = yes; then
605 WM_CHECK_LIB(tiff, TIFFGetVersion, [-lm])
606 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
612 unset ac_cv_lib_tiff_TIFFGetVersion
613 if test "x$my_libname" = x; then
614 WM_CHECK_LIB(tiff, TIFFGetVersion, [$ljpeg -lz -lm])
615 if test "x$ac_cv_lib_tiff_TIFFGetVersion" = xyes; then
616 my_libname="-ltiff -lz"
620 if test "x$my_libname" = x; then
621 WM_CHECK_LIB(tiff34, TIFFGetVersion, [$ljpeg -lm])
622 if test "x$ac_cv_lib_tiff34_TIFFGetVersion" = xyes; then
623 my_libname="-ltiff34"
628 if test "x$my_libname" != x; then
629 WM_CHECK_HEADER(tiffio.h)
630 if test "x$ac_cv_header_tiffio_h" = xyes; then
631 GFXLIBS="$my_libname $GFXLIBS"
633 supported_gfx="$supported_gfx TIFF"
639 LIBRARY_SEARCH_PATH="$lib_search_path"
640 HEADER_SEARCH_PATH="$inc_search_path"
642 AC_SUBST(LIBRARY_SEARCH_PATH)
643 AC_SUBST(HEADER_SEARCH_PATH)
650 dnl ==============================================
651 dnl End of Graphic Format Libraries
652 dnl ==============================================
658 [ --enable-debug enable debugging ],, enable_debug=no)
660 if test "$enable_debug" = yes; then
662 # Efence makes things too slow. Add it by hand in the Makefiles
663 # if it is really needed.
664 # AC_CHECK_LIB(efence, malloc, LIBS="$LIBS -lefence")
666 DFLAGS="-DWITHOUT_NANA"
671 dnl Sound support - Dan
672 dnl =============================================
675 [ --disable-sound disable sound support ],
676 sound=$enableval, sound=yes)
677 if test "$sound" = yes; then
682 # AC_PREFIX_PROGRAM(wmaker)
684 dnl Support for PIXMAPDIR option
685 dnl ============================
686 AC_ARG_WITH(pixmapdir,
687 [ --with-pixmapdir=PATH specify where pixmaps are located [DATADIR/pixmaps]])
689 if test "x$with_pixmapdir" != "x"; then
690 pixmapdir=$with_pixmapdir
692 pixmapdir=`eval echo ${datadir}/pixmaps`
695 AC_DEFINE_UNQUOTED(PIXMAPDIR, "$pixmapdir")
697 pkgdatadir=`eval echo $datadir`
698 AC_DEFINE_UNQUOTED(PKGDATADIR, "$pkgdatadir/WindowMaker")
700 _sysconfdir=`eval echo $sysconfdir`
701 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$_sysconfdir")
704 dnl Support for GNUSTEP_LOCAL_ROOT, for WPrefs.app
705 dnl ==============================================
709 AC_ARG_WITH(appspath,
710 [ --with-appspath=PATH specify the directory for GNUstep applications], appspath=$withval )
712 if test "x$appspath" = "x"; then
713 gnustepdir='$(prefix)/GNUstep'
715 if test "x$GNUSTEP_LOCAL_ROOT" != "x" ; then
716 gnustepdir=`echo "$GNUSTEP_LOCAL_ROOT" | sed -e "s|^${prefix}|prefix|"`
717 gnustepdir=`echo $gnustepdir | sed -e 's|^prefix|${prefix}|'`
720 with_appspath=$gnustepdir/Apps
723 wprefsdir=$with_appspath/WPrefs.app
729 dnl Enable single appicon per wm instance+class combo -cls
730 dnl =====================================================
731 AC_ARG_ENABLE(single-icon,
732 [ --enable-single-icon use single application icon per WM_INSTANCE+WM_CLASS
734 if test "$enableval" = yes; then
735 AC_DEFINE(REDUCE_APPICONS)
739 dnl Enable User Defined Menu thing
740 dnl ==================================
741 AC_ARG_ENABLE(usermenu,
742 [ --enable-usermenu user defined menus for applications
744 if test "$enableval" = yes; then
751 dnl Nicolai: Program tests for Documentation Section
752 dnl =================================================
754 dnl AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ,$PATH)
755 dnl if test "x$MAKEINFO" != "x" ; then
756 dnl DOCTYPES="$DOCTYPES info_doc"
758 dnl AC_CHECK_PROG(TEX, tex, tex, ,$PATH)
759 dnl if test "x$TEX" != "x" ; then
760 dnl DOCTYPES="$DOCTYPES dvi_doc"
762 dnl AC_CHECK_PROG(DVIPS, dvips, dvips, ,$PATH)
763 dnl if test "x$DVIPS" != "x" ; then
764 dnl DOCTYPES="$DOCTYPES ps_doc"
766 dnl AC_CHECK_PROG(PERL, perl, perl, ,$PATH)
767 dnl if test "x$PERL" != "x" ; then
768 dnl DOCTYPES="$DOCTYPES html_doc"
770 dnl AC_PATH_PROG(PERL_PATH, perl, perl, ,$PATH)
771 dnl AC_CHECK_PROG(TEXI2HTML, texi2html, texi2html, ,$PATH)
773 dnl AC_SUBST(DOCTYPES)
775 AC_OUTPUT(Makefile po/Makefile util/Makefile test/Makefile wmlib/Makefile \
776 WINGs/Makefile WINGs/Resources/Makefile src/Makefile src/wconfig.h \
777 wrlib/Makefile doc/Makefile WindowMaker/Makefile contrib/Makefile \
778 WindowMaker/Backgrounds/Makefile WindowMaker/Defaults/Makefile \
779 WindowMaker/IconSets/Makefile WindowMaker/Icons/Makefile \
780 WindowMaker/Pixmaps/Makefile WindowMaker/Styles/Makefile \
781 WindowMaker/Themes/Makefile \
782 WPrefs.app/Makefile WPrefs.app/tiff/Makefile WPrefs.app/xpm/Makefile \
783 WPrefs.app/po/Makefile )
788 dnl Output some helpfull data for compiling WINGs apps
789 dnl ==================================================
792 dnl echo "WFLAGS=\"$LIBPL_INC_PATH -I$prefix/include\"" > WINGs-flags
793 dnl echo "WLIBS=\"-L$exec_prefix/lib -lWINGs -lwraster $LIBPL_LIBS $GFXLIBS -lm\""\
794 dnl | sed -e 's|\$(prefix)|'"$prefix|" >> WINGs-flags
796 dnl The #lp# and #rp# stuff below is a hack because [ and ] get lost when
799 cat <<EOF >get-wraster-flags
805 WCFLAGS="-I\$prefix/include $inc_search_path"
806 WLFLAGS="-L\$exec_prefix/lib $lib_search_path"
807 WLIBS="-lwraster $GFXLIBS $XLIBS -lm"
809 usage="Usage: get-wraster-flags #lp#--cflags#rp# #lp#--ldflags#rp# #lp#--libs#rp#"
811 if test \$# -eq 0; then
812 echo "\${usage}" 1>&2
816 while test \$# -gt 0; do
828 echo "\${usage}" 1>&2
838 sed 's/#lp#/[/g' get-wraster-flags | sed 's/#rp#/]/g' > wrlib/get-wraster-flags
840 chmod 755 wrlib/get-wraster-flags
841 rm -f get-wraster-flags
845 dnl Spit out the configuration
846 dnl ==========================
848 supported_gfx="$supported_gfx builtin-PPM"
850 if test "x$MOFILES" = "x"; then
858 echo "Window Maker was configured as follows:"
860 echo "Installation path prefix: $prefix"
861 echo "Installation path prefix for binaries: $_bindir"
862 echo "Installation path for WPrefs.app: $wprefsdir" | sed -e 's|\$(prefix)|'"$prefix|"
863 echo "Graphic format libraries: $supported_gfx"
864 echo "Sound support: $sound"
865 echo "Translated message files to install: $mof"
866 if test "x$MOFILES" != "x"; then
867 echo "Installation path of translated messages: $NLSDIR" | sed -e 's|\$(prefix)|'"$prefix|"
870 dnl WM_PRINT_REDCRAP_BUG_STATUS
872 if test "x$ac_cv_header_jpeglib_h" != xyes; then
873 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
875 echo "JPEG support will not be included because the JPEG library is"
876 echo "not installed correctly or was not found. Background images"
877 echo "from themes will not display as they usually are JPEG files."
879 echo "To fix, download and install the jpeg library and/or make sure you"
880 echo "installed all jpeg related packages, SPECIALLY the development packages"
881 echo "like jpeg-devel (if you use some prepackaged version of libjpeg)."
883 echo "WARNING WARNING WARNING WARNING WARNING WARNING WARNING"
887 dnl This is for Emacs. I'm lazy, I know... (nicolai)
888 dnl ================================================
890 dnl compile-command: "autoconf"