X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=08b6c1c2be6eb1cdc41759d89807cf1f66cc0873;hb=065c6efa774ac144665f340f6c3578ab74e05c7b;hp=b6cadaac0ffe59af025bc2c35c51c33e2dc9fb6e;hpb=b1cc4b4fe307e6aacdb665587216669f48d5c769;p=chaz%2Fopenbox diff --git a/configure.ac b/configure.ac index b6cadaac..08b6c1c2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,28 +1,28 @@ -AC_INIT([openbox], [2.90.0], [http://icculus.org/openbox]) -AC_CONFIG_SRCDIR([src/blackbox.cc]) -AM_INIT_AUTOMAKE +AC_INIT([src/main.cc]) +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE([openbox], [2.90.0cvs]) -dnl Determine default prefix -test "$prefix" = "NONE" && prefix="$ac_default_prefix" +AC_PREREQ([2.50]) -dnl We're in the C++ world -AC_LANG(C++) +AC_PATH_PROG([regex_cmd], [sed]) +test "$regex_cmd" || AC_MSG_ERROR([sed not found]) AC_PROG_CC AC_PROG_CXX -AC_PROG_INSTALL AC_PROG_LIBTOOL +LIBTOOL="$LIBTOOL --silent" +AC_PROG_INSTALL -AC_CHECK_PROGS([regex_cmd], [sed]) -if test x$regex_cmd = "x"; then - AC_MSG_ERROR([error. sed is required to build the default menu file.]) -fi +ALL_LINGUAS="" +AM_GNU_GETTEXT +dnl AC_LANG(C++) + dnl Check what compiler we are using AC_MSG_CHECKING([for GCC]) if test "$GCC" = "yes"; then AC_MSG_RESULT([yes]) - CXXFLAGS="$CXXFLAGS -Wall -W -pedantic" + CFLAGS="$CFLAGS -Wall -W -pedantic" else AC_MSG_RESULT([no, trying other compilers]) AC_MSG_CHECKING(for MIPSpro) @@ -31,11 +31,11 @@ else AC_MSG_RESULT([no]) else AC_MSG_RESULT([yes, version $mips_pro_ver.]) - AC_MSG_CHECKING(for -LANG:std in CXXFLAGS) - lang_std_not_set=`echo $CXXFLAGS | grep "\-LANG:std"` + AC_MSG_CHECKING(for -LANG:std in CFLAGS) + lang_std_not_set=`echo $CFLAGS | grep "\-LANG:std"` if test "x$lang_std_not_set" = "x"; then AC_MSG_RESULT([not set, setting.]) - CXXFLAGS="${CXXFLAGS} -LANG:std" + CFLAGS="${CFLAGS} -LANG:std" else AC_MSG_RESULT([already set.]) fi @@ -71,7 +71,20 @@ AC_ARG_ENABLE([debug], AC_MSG_RESULT([no]) DEBUG="-DNDEBUG" ) -CXXFLAGS="$CXXFLAGS $DEBUG" +CFLAGS="$CFLAGS $DEBUG" + +dnl Check for Python +AC_CHECK_HEADER([python2.2/Python.h], + , + AC_MSG_ERROR([Openbox requires the use of Python 2.2. This is its secret special formula for extreme sexiness. +See http://www.python.org +])) +AC_CHECK_LIB([python2.2], [Py_Initialize], + PYTHON_LDFLAGS="-lpython2.2 -Xlinker -export-dynamic", + AC_MSG_ERROR([Openbox requires the use of Python 2.2. This is its secret special formula for extreme sexiness. +See http://www.python.org +])) +AC_SUBST([PYTHON_LDFLAGS]) dnl Check for X headers and libraries AC_PATH_X @@ -80,7 +93,7 @@ test "$no_x" = "yes" && AC_MSG_ERROR([No Xlibs found.]) test -z "$x_includes" && x_includes="/usr/include" test -z "$x_libraries" && x_libraries="/usr/lib" -CXXFLAGS="$CXXFLAGS $X_CXXFLAGS" +CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS" LDFLAGS="$LDFLAGS $X_PRE_LIBS $LIBS $X_EXTRA_LIBS" @@ -90,6 +103,101 @@ AC_CHECK_LIB([X11], [XOpenDisplay], AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.]) ) + +dnl Check for Xft >= 2 +XFT_MIN_MAJOR=2 +XFT_MIN_MINOR=0 +XFT_MIN_REVISION=0 +XFT_MIN=$XFT_MIN_MAJOR.$XFT_MIN_MINOR.$XFT_MIN_REVISION +AC_MSG_CHECKING([for Xft version >= $XFT_MIN]) +if ! pkg-config --atleast-version $XFT_MIN xft; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Openbox requires the Xft version >= $XFT_MIN font library. +See http://www.fontconfig.org/ +]) +fi + +AC_MSG_RESULT([yes]) + +dnl Store these +OLDLIBS=$LIBS +OLDCFLAGS=$CFLAGS + +XFT_CFLAGS="`pkg-config --cflags xft`" +XFT_LIBS="`pkg-config --libs xft`" + +dnl Set these for checking with the tests below. They'll be restored after +LIBS="$LIBS $XFT_LIBS" +CFLAGS="$XFT_CFLAGS $CFLAGS" + +AC_CHECK_LIB([Xft], [XftFontOpenName], + AC_MSG_CHECKING([for X11/Xft/Xft.h for Xft >= $XFT_MIN]) + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + #if !defined(XFT_MAJOR) + # error Xft.h is too old + #endif + #if XFT_MAJOR < $XFT_MIN_MAJOR + # error Xft.h is too old + #endif + #if XFT_MAJOR == $XFT_MIN_MAJOR + # if XFT_MINOR < $XFT_MIN_MINOR + # error Xft.h is too old + # endif + #endif + #if XFT_MAJOR == $XFT_MIN_MAJOR + # if XFT_MAJOR == $XFT_MIN_MINOR + # if XFT_REVISION < $XFT_MIN_REVISION + # error Xft.h is too old + # endif + # endif + #endif + + int i = XFT_MAJOR; + XftFont foo; + ], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Openbox requires the Xft version >= $XFT_MIN font library. +See http://www.fontconfig.org/ +]) + ] + ) + + AC_MSG_CHECKING([if we can compile with Xft]) + AC_TRY_LINK( + [ + #include + #include + ], + [ + int i = XFT_MAJOR; + XftFont foo + ], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Unable to compile with the Xft library. +]) + ] + ) +) +dnl Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefile.am's +LIBS=$OLDLIBS +CFLAGS=$OLDCFLAGS + +AC_SUBST([XFT_CFLAGS]) +AC_SUBST([XFT_LIBS]) + dnl Check for XShape extension support AC_CHECK_LIB([Xext], [XShapeCombineShape], AC_MSG_CHECKING([for X11/extensions/shape.h]) @@ -105,7 +213,7 @@ AC_CHECK_LIB([Xext], [XShapeCombineShape], [ AC_MSG_RESULT([yes]) SHAPE="yes" - AC_DEFINE([HAVE_SHAPE], [1], [Found the XShape extension]) + AC_DEFINE([SHAPE], [1], [Found the XShape extension]) LIBS="$LIBS -lXext" ], [ @@ -166,28 +274,32 @@ AC_ARG_ENABLE([xinerama], AC_MSG_RESULT([no]) ) -dnl Print results -AC_MSG_RESULT([]) -AC_MSG_RESULT([ $PACKAGE version $VERSION configured successfully.]) -AC_MSG_RESULT([]) + + +AC_CONFIG_FILES([Makefile + m4/Makefile + po/Makefile.in + intl/Makefile + otk/Makefile + src/Makefile + util/Makefile + util/epist/Makefile + doc/Makefile + doc/doxygen/Makefile + data/Makefile + data/styles/Makefile + version.h + ]) +AC_OUTPUT + +AC_MSG_RESULT +AC_MSG_RESULT([$PACKAGE version $VERSION configured successfully.]) + +AC_MSG_RESULT AC_MSG_RESULT([Using '$prefix' for installation.]) AC_MSG_RESULT([Using '$CXX' for C++ compiler.]) -AC_MSG_RESULT([Building with '$CXXFLAGS' for C++ compiler flags.]) +AC_MSG_RESULT([Building with '$CFLAGS' for C++ compiler flags.]) AC_MSG_RESULT([Building with '$LIBS' for linker flags.]) -AC_MSG_RESULT([]) - - -dnl Output files -AM_CONFIG_HEADER(config.h) -AC_CONFIG_FILES([ - Makefile - otk/Makefile - src/Makefile - util/Makefile - util/epist/Makefile - doc/Makefile - data/Makefile - data/styles/Makefile - version.h -]) -AC_OUTPUT \ No newline at end of file +AC_MSG_RESULT +AC_MSG_RESULT([configure complete, now type \"make\"]) +AC_MSG_RESULT