diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-05 15:38:29 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-05 15:38:29 +0000 |
| commit | 7c8c9e998ffc3a9b22e15feeffe77823142ce531 (patch) | |
| tree | 703b1db62f68f85d97a01a265fd73d18d9b24682 /m4 | |
| parent | ffea5b55912ea936c84ce3d17577e9532a81cae4 (diff) | |
new swig build system. much better. yay.
Diffstat (limited to 'm4')
| -rw-r--r-- | m4/swig.m4 | 90 | ||||
| -rw-r--r-- | m4/x11.m4 | 10 |
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]) +]) @@ -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]) |
