1
dnl @synopsis AC_PROG_SWIG([major.minor.micro])
3
dnl This macro searches for a SWIG installation on your system. If
4
dnl found you should call SWIG via $(SWIG). You can use the optional
5
dnl first argument to check if the version of the available SWIG is
6
dnl greater than or equal to the value of the argument. It should have
7
dnl the format: N[.N[.N]] (N is a number between 0 and 999. Only the
8
dnl first N is mandatory.)
10
dnl If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks
11
dnl that the swig package is this version number or higher.
13
dnl In configure.in, use as:
15
dnl AC_PROG_SWIG(1.3.17)
17
dnl SWIG_MULTI_MODULE_SUPPORT
20
dnl @category InstalledPackages
21
dnl @author Sebastian Huber <sebastian-huber@web.de>
22
dnl @author Alan W. Irwin <irwin@beluga.phys.uvic.ca>
23
dnl @author Rafael Laboissiere <rafael@laboissiere.net>
24
dnl @author Andrew Collier <abcollier@yahoo.com>
25
dnl @version 2004-09-20
26
dnl @license GPLWithACException
28
AC_DEFUN([AC_PROG_SWIG],[
29
AC_PATH_PROG([SWIG],[swig])
30
if test -z "$SWIG" ; then
31
AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org])
33
elif test -n "$1" ; then
34
AC_MSG_CHECKING([for SWIG version])
35
[swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
36
AC_MSG_RESULT([$swig_version])
37
if test -n "$swig_version" ; then
38
# Calculate the required version number components
40
[required_major=`echo $required | sed 's/[^0-9].*//'`]
41
if test -z "$required_major" ; then
44
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
45
[required_minor=`echo $required | sed 's/[^0-9].*//'`]
46
if test -z "$required_minor" ; then
49
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
50
[required_patch=`echo $required | sed 's/[^0-9].*//'`]
51
if test -z "$required_patch" ; then
54
# Calculate the available version number components
55
[available=$swig_version]
56
[available_major=`echo $available | sed 's/[^0-9].*//'`]
57
if test -z "$available_major" ; then
60
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
61
[available_minor=`echo $available | sed 's/[^0-9].*//'`]
62
if test -z "$available_minor" ; then
65
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
66
[available_patch=`echo $available | sed 's/[^0-9].*//'`]
67
if test -z "$available_patch" ; then
70
if test $available_major -ne $required_major \
71
-o $available_minor -ne $required_minor \
72
-o $available_patch -lt $required_patch ; then
73
AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org])
76
AC_MSG_NOTICE([SWIG executable is '$SWIG'])
77
SWIG_LIB=`$SWIG -swiglib | sed -e :a -e N -e 's/\n/ /' -e ta`
78
AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB'])
81
AC_MSG_WARN([cannot determine SWIG version])
90
# Enable SWIG C++ support. This affects all invocations of $(SWIG).
91
AC_DEFUN([SWIG_ENABLE_CXX],[
92
AC_REQUIRE([AC_PROG_SWIG])
93
AC_REQUIRE([AC_PROG_CXX])
97
# SWIG_MULTI_MODULE_SUPPORT()
99
# Enable support for multiple modules. This effects all invocations
100
# of $(SWIG). You have to link all generated modules against the
101
# appropriate SWIG runtime library. If you want to build Python
102
# modules for example, use the SWIG_PYTHON() macro and link the
103
# modules against $(SWIG_PYTHON_LIBS).
105
AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
106
AC_REQUIRE([AC_PROG_SWIG])
107
SWIG="$SWIG -noruntime"
110
# SWIG_PYTHON([use-shadow-classes = {no, yes}])
112
# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS),
113
# and $(SWIG_PYTHON_OPT) output variables.
115
# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
116
# code for Python. Shadow classes are enabled unless the value of the
117
# optional first argument is exactly 'no'. If you need multi module
118
# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use
119
# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It
120
# contains the SWIG Python runtime library that is needed by the type
121
# check system for example.
122
AC_DEFUN([SWIG_PYTHON],[
123
AC_REQUIRE([AC_PROG_SWIG])
124
AC_REQUIRE([AC_PYTHON_DEVEL])
125
test "x$1" != "xno" || swig_shadow=" -noproxy"
126
AC_SUBST([SWIG_PYTHON_OPT],["-python -modern$swig_shadow"])
127
AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
131
dnl @synopsis AC_LIB_WAD
133
dnl This macro searches for installed WAD library.
135
AC_DEFUN([AC_LIB_WAD],
137
AC_REQUIRE([AC_PYTHON_DEVEL])
139
AC_HELP_STRING([--enable-wad], [enable wad module]),
141
case "${enableval}" in
143
*) if test "x${enableval}" = xyes;
150
if test -n "$check_wad";
152
AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS)