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_ERROR([cannot find 'swig' program installed])
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_ERROR([SWIG version >= $1 is required.])
76
AC_MSG_NOTICE([SWIG executable is '$SWIG'])
77
SWIG_LIB=`$SWIG -swiglib`
78
AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB'])
80
# Test for the PHP sefgault bug
81
if test $available_major -ne 1 \
82
-o $available_minor -lt 3 \
83
-o $available_patch -lt 33 ; then
86
SWIG_CAN_BUILD_PHP=yes
88
AC_SUBST([SWIG_CAN_BUILD_PHP])
90
AC_MSG_ERROR([cannot determine SWIG version.])
99
# Enable SWIG C++ support. This affects all invocations of $(SWIG).
100
AC_DEFUN([SWIG_ENABLE_CXX],[
101
AC_REQUIRE([AC_PROG_SWIG])
102
AC_REQUIRE([AC_PROG_CXX])
106
# SWIG_MULTI_MODULE_SUPPORT()
108
# Enable support for multiple modules. This effects all invocations
109
# of $(SWIG). You have to link all generated modules against the
110
# appropriate SWIG runtime library. If you want to build Python
111
# modules for example, use the SWIG_PYTHON() macro and link the
112
# modules against $(SWIG_PYTHON_LIBS).
114
AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
115
AC_REQUIRE([AC_PROG_SWIG])
116
SWIG="$SWIG -noruntime"
119
# SWIG_PYTHON([use-shadow-classes = {no, yes}])
121
# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS),
122
# and $(SWIG_PYTHON_OPT) output variables.
124
# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
125
# code for Python. Shadow classes are enabled unless the value of the
126
# optional first argument is exactly 'no'. If you need multi module
127
# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use
128
# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It
129
# contains the SWIG Python runtime library that is needed by the type
130
# check system for example.
131
AC_DEFUN([SWIG_PYTHON],[
132
AC_REQUIRE([AC_PROG_SWIG])
133
AC_REQUIRE([AC_PYTHON_DEVEL])
134
test "x$1" != "xno" || swig_shadow=" -noproxy"
135
AC_SUBST([SWIG_PYTHON_OPT],[-python$swig_shadow])
136
AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
140
dnl @synopsis AC_LIB_WAD
142
dnl This macro searches for installed WAD library.
144
AC_DEFUN([AC_LIB_WAD],
146
AC_REQUIRE([AC_PYTHON_DEVEL])
148
AS_HELP_STRING([--enable-wad],[enable wad module]),
150
case "${enableval}" in
152
*) if test "x${enableval}" = xyes;
159
if test -n "$check_wad";
161
AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS)