summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-05 15:38:29 +0000
committerDana Jansens <danakj@orodu.net>2003-02-05 15:38:29 +0000
commit7c8c9e998ffc3a9b22e15feeffe77823142ce531 (patch)
tree703b1db62f68f85d97a01a265fd73d18d9b24682 /m4
parentffea5b55912ea936c84ce3d17577e9532a81cae4 (diff)
new swig build system. much better. yay.
Diffstat (limited to 'm4')
-rw-r--r--m4/swig.m490
-rw-r--r--m4/x11.m410
2 files changed, 95 insertions, 5 deletions
diff --git a/m4/swig.m4 b/m4/swig.m4
new file mode 100644
index 00000000..ad6d1393
--- /dev/null
+++ b/m4/swig.m4
@@ -0,0 +1,90 @@
+# SWIG_PROG([required-version])
+#
+# Checks for the SWIG program. If found you can (and should) call SWIG via $(SWIG).
+# You can use the optional first argument to check if the version of the available SWIG
+# is greater or equal to the value of the argument. It should have the format:
+# N[.N[.N]] (N is a number between 0 and 999. Only the first N is mandatory.)
+AC_DEFUN([SWIG_PROG],[
+ AC_REQUIRE([AC_PROG_MAKE_SET])
+ AC_CHECK_PROG(SWIG,swig,[`which swig`])
+ if test -z "$SWIG" ; then
+ AC_MSG_WARN([cannot find 'swig' program])
+ SWIG=false
+ elif test -n "$1" ; then
+ AC_MSG_CHECKING([for SWIG version])
+ swig_version=`$SWIG -version 2>&1 | \
+ awk '/^SWIG Version [[0-9]+\.[0-9]+\.[0-9]]+.*$/ { split($[3],a,"[[^.0-9]]"); print a[[1]] }'`
+ AC_MSG_RESULT([$swig_version])
+ if test -n "$swig_version" ; then
+ swig_version=`echo $swig_version | \
+ awk '{ split($[1],a,"\."); print [a[1]*1000000+a[2]*1000+a[3]] }' 2>/dev/null`
+ swig_required_version=`echo $1 | \
+ awk '{ split($[1],a,"\."); print [a[1]*1000000+a[2]*1000+a[3]] }' 2>/dev/null`
+ if test $swig_required_version -gt $swig_version ; then
+ AC_MSG_WARN([SWIG version $1 required])
+ fi
+ else
+ AC_MSG_WARN([cannot determine SWIG version])
+ fi
+ fi
+])
+
+# SWIG_ENABLE_CXX()
+#
+# Enable swig C++ support. This effects all invocations of $(SWIG).
+AC_DEFUN([SWIG_ENABLE_CXX],[
+ AC_REQUIRE([SWIG_PROG])
+ AC_REQUIRE([AC_PROG_CXX])
+ if test "$SWIG" != "false" ; then
+ SWIG="$SWIG -c++"
+ fi
+])
+
+# SWIG_MULTI_MODULE_SUPPORT()
+#
+# Enable support for multiple modules. This effects all invocations of $(SWIG).
+# You have to link all generated modules against the appropriate SWIG library.
+# If you want to build Python modules for example, use the SWIG_PYTHON() macro
+# and link the modules against $(SWIG_PYTHON_LIB). The $(SWIG_LDFLAGS) variable
+# can be used to help the linker to find this library.
+AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
+ AC_REQUIRE([SWIG_PROG])
+ if test "$SWIG" != "false" ; then
+ SWIG="$SWIG -c"
+
+ # Check for SWIG library path
+ AC_MSG_CHECKING([for SWIG library path])
+ swig_path=${SWIG%/bin*}/lib
+ swig_path=`find $swig_path -type f -name libswig*.a -o -name libswig*.so -print`
+ for i in $swig_path ; do
+ swig_path=${i%/libswig*}
+ break
+ done
+ AC_MSG_RESULT([$swig_path])
+ if test -n "$swig_path" ; then
+ AC_SUBST(SWIG_LDFLAGS,[-L$swig_path])
+ else
+ AC_MSG_WARN([cannot find SWIG library path])
+ fi
+ fi
+])
+
+# SWIG_PYTHON([use-shadow-classes])
+#
+# Checks for Python and provides the $(SWIG_PYTHON_CFLAGS), $(SWIG_PYTHON_LIB) and
+# $(SWIG_PYTHON_OPT) output variables. $(SWIG_PYTHON_OPT) contains all necessary swig
+# options to generate code for Python. Shadow classes are enabled unless the
+# value of the optional first argument is exactly 'no'. If you need multi module
+# support use $(SWIG_PYTHON_LIB) (provided by the SWIG_MULTI_MODULE_SUPPORT() macro)
+# to link against the appropriate library. It contains the SWIG Python runtime library
+# that is needed by the type check system for example.
+AC_DEFUN([SWIG_PYTHON],[
+ AC_REQUIRE([SWIG_PROG])
+ AC_REQUIRE([PYTHON_DEVEL])
+ if test "$SWIG" != "false" ; then
+ AC_SUBST(SWIG_PYTHON_LIB,[`$SWIG -python -ldflags`])
+ test ! "x$1" = "xno" && swig_shadow=" -shadow" || swig_shadow=""
+ AC_SUBST(SWIG_PYTHON_OPT,[-python$swig_shadow])
+ fi
+ AC_SUBST(SWIG_PYTHON_CFLAGS,[$PYTHON_CFLAGS])
+])
diff --git a/m4/x11.m4 b/m4/x11.m4
index 80c413c5..2e6d0990 100644
--- a/m4/x11.m4
+++ b/m4/x11.m4
@@ -1,7 +1,7 @@
# X11_DEVEL()
#
# Check for the presence of the X Window System headers and libraries.
-# Sets the CXXFLAGS and LIBS variables as appropriate.
+# Sets the CPPFLAGS and LIBS variables as appropriate.
AC_DEFUN([X11_DEVEL],
[
AC_PATH_X
@@ -9,7 +9,7 @@ AC_DEFUN([X11_DEVEL],
test "$no_x" = "yes" && \
AC_MSG_ERROR([The X Window System could not be found.])
- CXXFLAGS="$CXXFLAGS $X_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
LIBS="$LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
# Check for required functions in -lX11
@@ -73,14 +73,14 @@ AC_DEFUN([XFT_DEVEL],
# Store these
OLDLIBS=$LIBS
- OLDCXXFLAGS=$CXXFLAGS
+ OLDCPPFLAGS=$CPPFLAGS
XFT_CFLAGS="`pkg-config --cflags xft`"
XFT_LIBS="`pkg-config --libs xft`"
# Set these for checking with the tests below. They'll be restored after
LIBS="$LIBS $XFT_LIBS"
- CXXFLAGS="$XFT_CFLAGS $CXXFLAGS"
+ CPPFLAGS="$XFT_CFLAGS $CPPFLAGS"
AC_CHECK_LIB([Xft], [XftGetVersion], # this was not defined in < 2.0
if test "$XFT_MIN"; then
@@ -162,7 +162,7 @@ AC_DEFUN([XFT_DEVEL],
# Restore the old values. Use XFT_CFLAGS and XFT_LIBS in the Makefile.am's
LIBS=$OLDLIBS
- CXXFLAGS=$OLDCXXFLAGS
+ CPPFLAGS=$OLDCPPFLAGS
AC_SUBST([XFT_CFLAGS])
AC_SUBST([XFT_LIBS])