diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 388 |
1 files changed, 388 insertions, 0 deletions
diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..86e3843 --- /dev/null +++ b/configure.in @@ -0,0 +1,388 @@ +############################################################################ +# JWM autoconf. +############################################################################ + +AC_INIT(jwm, 1.8, joewing@joewing.net) +AC_PREREQ(2.57) +AC_CONFIG_SRCDIR([src]) +AC_CONFIG_HEADER([config.h]) +AC_LANG(C) + +AC_PROG_CC +AC_PROG_CPP + +############################################################################ +# Check if we need _XOPEN_SOURCE +############################################################################ +AC_MSG_CHECKING([if _XOPEN_SOURCE should be defined]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#define _XOPEN_SOURCE 600L +#include <unistd.h> +]])], [use_xopen_source="yes"], [use_xopen_source="no"]) +AC_MSG_RESULT([$use_xopen_source]) + +if test $use_xopen_source = "yes"; then + + AC_DEFINE(_XOPEN_SOURCE, 600L, [Define for single UNIX conformance]) + + # Needed for IRIX 6.2 so that struct timeval is declared. + AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Define for timeval on IRIX 6.2]) + + # Needed for Solaris 2.5.1 so that struct timeval is declared. + AC_DEFINE(__EXTENSIONS__, 1, [Define for timeval on Solaris 2.5.1]) + +fi + +############################################################################ +# Check for X11 +############################################################################ +AC_PATH_X + +if test ! "$no_x" = "yes" ; then + if test ! x"$x_libraries" = x ; then + LDFLAGS="$LDFLAGS -L$x_libraries" + fi + if test ! x"$x_includes" = x ; then + CFLAGS="$CFLAGS -I$x_includes" + fi +else + AC_MSG_ERROR([Could not find X11]) +fi + +AC_CHECK_LIB([X11], XOpenDisplay, + [ LDFLAGS="$LDFLAGS -lX11" ], + [ AC_MSG_ERROR([libX11 not found]) ]) + +############################################################################ +# Check for necessary include files. +############################################################################ +AC_CHECK_HEADERS([stdarg.h stdio.h stdlib.h ctype.h], [], + [ AC_MSG_ERROR([one or more necessary header files not found]) ]) + +AC_CHECK_HEADERS([sys/select.h signal.h unistd.h time.h sys/wait.h sys/time.h]) + +AC_CHECK_HEADERS([alloca.h]) + +AC_CHECK_HEADERS([X11/Xlib.h], [], + [ AC_MSG_ERROR([Xlib.h could not be found]) ]) + +AC_CHECK_HEADERS([X11/Xutil.h X11/cursorfont.h X11/Xproto.h \ + X11/Xatom.h X11/keysym.h X11/Xresource.h], [], [], + [ +#include <X11/Xlib.h> + ]) + +############################################################################ +# Check for pkg-config. +############################################################################ + +AC_DEFUN([JWM_PKGCONFIG_EXISTS], +[ + AC_MSG_CHECKING([for pkg-config]) + if test -x `which pkg-config` ; then + PKGCONFIG="pkg-config" + fi + AC_MSG_RESULT($PKGCONFIG) +]) + +AC_DEFUN([JWM_PKGCONFIG], +[ + AC_REQUIRE([JWM_PKGCONFIG_EXISTS]) + if test "x$PKGCONFIG" != "x" ; then + AC_MSG_CHECKING([if pkg-config knows about $2]) + if test `$PKGCONFIG $2 ; echo $?` -eq 0 ; then + $1="yes" + else + $1="no" + fi + AC_MSG_RESULT($$1) + else + $1="no" + fi +]) + +JWM_PKGCONFIG([use_pkgconfig_png], [libpng]) +JWM_PKGCONFIG([use_pkgconfig_xft], [xft]) +JWM_PKGCONFIG([use_pkgconfig_xrender], [xrender]) +JWM_PKGCONFIG([use_pkgconfig_fribidi], [fribidi]) + +############################################################################ +# Check if confirm dialogs should be used. +############################################################################ +AC_ARG_ENABLE(confirm, + AC_HELP_STRING([--disable-confirm], [don't enable confirm dialogs]) ) +if test "$enable_confirm" = "no" ; then + AC_DEFINE(DISABLE_CONFIRM, 1, [Define to disable confirm dialogs]) +else + enable_confirm="yes" +fi + +############################################################################ +# Check if icon support was requested. +############################################################################ +AC_ARG_ENABLE(icons, + AC_HELP_STRING([--disable-icons], [don't enable icon support]) ) +if test "$enable_icons" != "no" ; then + enable_icons="yes" + AC_DEFINE(USE_ICONS, 1, [Define to enable icon support] ) +fi + +############################################################################ +# Check if PNG support was requested and available. +############################################################################ +AC_ARG_ENABLE(png, + AC_HELP_STRING([--disable-png], [don't support PNG images]) ) +if test "$enable_png" != "no" ; then + + if test "$use_pkgconfig_png" = "yes" ; then + PNG_CFLAGS=`$PKGCONFIG --cflags libpng` + PNG_LDFLAGS=`$PKGCONFIG --libs libpng` + elif test -x `which libpng-config` ; then + PNG_CFLAGS=`libpng-config --cflags` + PNG_LDFLAGS=`libpng-config --libs` + else + PNG_LDFLAGS="-lpng -lz -lm" + fi + +fi +if test "$enable_png" != "no" ; then + AC_CHECK_LIB(png, png_read_image, + [ LDFLAGS="$LDFLAGS $PNG_LDFLAGS" + CFLAGS="$CFLAGS $PNG_CFLAGS" + enable_png="yes" + AC_DEFINE(USE_PNG, 1, [Define to use libpng]) ], + [ enable_png="no" + AC_MSG_WARN([unable to use libpng, PNG support disabled]) ], + [ $PNG_LDFLAGS ]) +fi + +############################################################################ +# Check if XFT support was requested and available. +############################################################################ +AC_ARG_ENABLE(xft, + AC_HELP_STRING([--disable-xft], [don't use Xft]) ) +if test "$enable_xft" != "no"; then + + if test "$use_pkgconfig_xft" = "yes" ; then + XFT_CFLAGS=`$PKGCONFIG --cflags xft` + XFT_LDFLAGS=`$PKGCONFIG --libs xft` + elif test -x `which xft-config` ; then + XFT_CFLAGS=`xft-config --cflags` + XFT_LDFLAGS=`xft-config --libs` + else + XFT_LDFLAGS="-lXft" + fi + +fi +if test "$enable_xft" != "no" ; then + AC_CHECK_LIB(Xft, XftFontOpenName, + [ LDFLAGS="$LDFLAGS $XFT_LDFLAGS" + CFLAGS="$CFLAGS $XFT_CFLAGS" + enable_xft="yes" + AC_DEFINE(USE_XFT, 1, [Define to enable Xft]) ], + [ enable_xft="no" + AC_MSG_WARN([unable to use Xft]) ], + [ $XFT_LDFLAGS ]) +fi +if test "$enable_xft" != "no" ; then + AC_CHECK_HEADERS([ft2build.h]) +fi + +############################################################################ +# Check if support for the XRENDER extension was requested and available. +############################################################################ +AC_ARG_ENABLE(xrender, + AC_HELP_STRING([--disable-xrender], [don't use the XRender extension]) ) +if test "$enable_xrender" != "no"; then + + if test "$use_pkgconfig_xrender" = "yes" ; then + XRENDER_CFLAGS=`$PKGCONFIG --cflags xrender` + XRENDER_LDFLAGS=`$PKGCONFIG --libs xrender` + else + XRENDER_LDFLAGS="-lXrender" + fi + + AC_CHECK_HEADERS([X11/extensions/Xrender.h], [], + [ + enable_xrender="no"; + AC_MSG_WARN([unable to use X11/extensions/XRender.h]) + ]) + +fi +if test "$enable_xrender" != "no" ; then + AC_CHECK_LIB(Xrender, XRenderComposite, + [ LDFLAGS="$LDFLAGS $XRENDER_LDFLAGS" + CFLAGS="$CFLAGS $XRENDER_CFLAGS" + enable_xrender="yes" + AC_DEFINE(USE_XRENDER, 1, [Define to enable the XRender extension]) ], + [ enable_xrender="no" + AC_MSG_WARN([unable to use the XRender extension]) ], + [ $XRENDER_LDFLAGS ]) +fi + +############################################################################ +# Check if FriBidi support was requested and available. +############################################################################ +AC_ARG_ENABLE(fribidi, + AC_HELP_STRING([--disable-fribidi], + [disable bi-directional unicode support]) ) +if test "$enable_fribidi" != "no" ; then + + if test "$use_pkgconfig_fribidi" = "yes" ; then + FRIBIDI_CFLAGS=`$PKGCONFIG --cflags fribidi` + FRIBIDI_LDFLAGS=`$PKGCONFIG --libs fribidi` + elif test -x `which fribidi-config` ; then + FRIBIDI_CFLAGS=`fribidi-config --cflags` + FRIBIDI_LDFLAGS=`fribidi-config --libs` + else + FRIBIDI_LDFLAGS="-lfribidi" + fi + +fi +if test "$enable_fribidi" != "no" ; then + AC_CHECK_LIB(fribidi, fribidi_log2vis, + [ LDFLAGS="$LDFLAGS $FRIBIDI_LDFLAGS" + CFLAGS="$CFLAGS $FRIBIDI_CFLAGS" + enable_fribidi="yes" + AC_DEFINE(USE_FRIBIDI, 1, [Define to use FriBidi]) ], + [ enable_fribidi="no" + AC_MSG_WARN([unable to use FriBidi]) ], + [ $FRIBIDI_LDFLAGS ]) +fi + +############################################################################ +# Check if XPM support was requested and available. +############################################################################ +AC_ARG_ENABLE(xpm, + AC_HELP_STRING([--disable-xpm], [don't support XPM images]) ) +if test "$enable_xpm" != "no"; then + AC_CHECK_HEADERS([X11/xpm.h], [], + [ enable_xpm="no"; + AC_MSG_WARN([unable to use X11/xpm.h]) ]) +fi +if test "$enable_xpm" != "no"; then + AC_CHECK_DECL(XpmAllocColor, [], + [ enable_xpm="no" + AC_MSG_WARN([XPM library too old]) ], + [ +#include <X11/xpm.h> +]) +fi +if test "$enable_xpm" != "no"; then + AC_CHECK_LIB(Xpm, XpmReadFileToImage, + [ LDFLAGS="$LDFLAGS -lXpm"; + enable_xpm="yes" + AC_DEFINE(USE_XPM, 1, [Define to enable XPM support]) ], + [ enable_xpm="no" + AC_MSG_WARN([unable to use libXpm]) ]) +fi + +############################################################################ +# Check if support for the shape extension was requested and available. +############################################################################ +AC_ARG_ENABLE(shape, + AC_HELP_STRING([--disable-shape], [don't use the X shape extension]) ) +if test "$enable_shape" != "no"; then + AC_CHECK_LIB(Xext, XShapeCombineRectangles, + [ LDFLAGS="$LDFLAGS -lXext" + enable_shape="yes" + AC_DEFINE(USE_SHAPE, 1, [Define to enable the X shape extension]) ], + [ enable_shape="no" + AC_MSG_WARN([unable to use the X shape extension]) ]) +fi + +############################################################################ +# Check if support for Xinerama was requested and available. +############################################################################ +AC_ARG_ENABLE(xinerama, + AC_HELP_STRING([--disable-xinerama], [don't use Xinerama]) ) +if test "$enable_xinerama" != "no"; then + AC_CHECK_LIB(Xinerama, XineramaQueryExtension, + [ LDFLAGS="$LDFLAGS -lXinerama" + enable_xinerama="yes" + AC_DEFINE(USE_XINERAMA, 1, [Define to enable Xinerama]) ], + [ enable_xinerama="no" + AC_MSG_WARN([unable to use Xinerama]) ]) +fi + +############################################################################ +# Check if debug mode was requested. +############################################################################ +AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug], [use this to debug JWM]) ) +if test "$enable_debug" = "yes"; then + AC_DEFINE(DEBUG, 1, [Define to debug JWM]) + CFLAGS="$CFLAGS -Wall -g -DDEBUG" + LDFLAGS="$LDFLAGS -g" +else + enable_debug="no" +fi + +############################################################################ +# Create the output files. +############################################################################ +if test "$prefix" = "NONE" ; then + PREFIX="$ac_default_prefix" + prefix="$ac_default_prefix" +else + PREFIX="$prefix" +fi + +if test "$exec_prefix" = "NONE" ; then + exec_prefix="$PREFIX" +fi + +if test "$sysconfdir" = "" ; then + sysconfdir="$ac_default_sysconfdir" +fi + +BINDIR=`eval echo \""$bindir"\"` +SYSCONF=`eval echo \"$sysconfdir\"` +MANDIR=`eval echo \"$mandir\"` + +AC_DEFINE_UNQUOTED(SYSTEM_CONFIG, "$SYSCONF/system.jwmrc", + [default system configuration path]) + +AC_SUBST(CFLAGS) +AC_SUBST(LDFLAGS) +AC_SUBST(VERSION, "$PACKAGE_VERSION") +AC_SUBST(INSTVERSION, `echo $PACKAGE_VERSION | tr -d .`) +AC_SUBST(BINDIR) +AC_SUBST(MANDIR) +AC_SUBST(DATE, `date "+%Y-%m-%d"`) +AC_SUBST(SYSCONF, "$SYSCONF") + +AC_OUTPUT( + + Makefile src/Makefile jwm.1 + + package/irix/jwm.spec package/irix/jwm.idb package/irix/Makefile + + package/solaris/Makefile package/solaris/pkginfo package/solaris/prototype + + package/slackware/Makefile package/slackware/slack-desc + +) + +############################################################################ +# Display the status. +############################################################################ + +echo "Compiler: $CC" +echo "Compile flags: $CFLAGS" +echo "Link flags: $LDFLAGS" +echo +echo "Options" +echo +echo " Confirm: $enable_confirm" +echo " Icon: $enable_icons" +echo " PNG: $enable_png" +echo " XPM: $enable_xpm" +echo " XFT: $enable_xft" +echo " XRender: $enable_xrender" +echo " FriBidi: $enable_fribidi" +echo " Shape: $enable_shape" +echo " Xinerama: $enable_xinerama" +echo " Debug: $enable_debug" +echo + |