]>
Commit | Line | Data |
---|---|---|
89c4ed63 A |
1 | # =========================================================================== |
2 | # http://autoconf-archive.cryp.to/ac_pkg_swig.html | |
3 | # =========================================================================== | |
4 | # | |
5 | # SYNOPSIS | |
6 | # | |
7 | # AC_PROG_SWIG([major.minor.micro]) | |
8 | # | |
9 | # DESCRIPTION | |
10 | # | |
11 | # This macro searches for a SWIG installation on your system. If found you | |
12 | # should call SWIG via $(SWIG). You can use the optional first argument to | |
13 | # check if the version of the available SWIG is greater than or equal to | |
14 | # the value of the argument. It should have the format: N[.N[.N]] (N is a | |
15 | # number between 0 and 999. Only the first N is mandatory.) | |
16 | # | |
17 | # If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks that | |
18 | # the swig package is this version number or higher. | |
19 | # | |
20 | # In configure.in, use as: | |
21 | # | |
22 | # AC_PROG_SWIG(1.3.17) | |
23 | # SWIG_ENABLE_CXX | |
24 | # SWIG_MULTI_MODULE_SUPPORT | |
25 | # SWIG_PYTHON | |
26 | # | |
27 | # LAST MODIFICATION | |
28 | # | |
29 | # 2008-04-12 | |
30 | # | |
31 | # COPYLEFT | |
32 | # | |
33 | # Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de> | |
34 | # Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca> | |
35 | # Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net> | |
36 | # Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za> | |
37 | # | |
38 | # This program is free software; you can redistribute it and/or modify it | |
39 | # under the terms of the GNU General Public License as published by the | |
40 | # Free Software Foundation; either version 2 of the License, or (at your | |
41 | # option) any later version. | |
42 | # | |
43 | # This program is distributed in the hope that it will be useful, but | |
44 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
45 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
46 | # Public License for more details. | |
47 | # | |
48 | # You should have received a copy of the GNU General Public License along | |
49 | # with this program. If not, see <http://www.gnu.org/licenses/>. | |
50 | # | |
51 | # As a special exception, the respective Autoconf Macro's copyright owner | |
52 | # gives unlimited permission to copy, distribute and modify the configure | |
53 | # scripts that are the output of Autoconf when processing the Macro. You | |
54 | # need not follow the terms of the GNU General Public License when using | |
55 | # or distributing such scripts, even though portions of the text of the | |
56 | # Macro appear in them. The GNU General Public License (GPL) does govern | |
57 | # all other use of the material that constitutes the Autoconf Macro. | |
58 | # | |
59 | # This special exception to the GPL applies to versions of the Autoconf | |
60 | # Macro released by the Autoconf Macro Archive. When you make and | |
61 | # distribute a modified version of the Autoconf Macro, you may extend this | |
62 | # special exception to the GPL to apply to your modified version as well. | |
63 | ||
64 | AC_DEFUN([AC_PROG_SWIG],[ | |
65 | AC_PATH_PROG([SWIG],[swig]) | |
66 | if test -z "$SWIG" ; then | |
67 | AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org]) | |
68 | SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false' | |
69 | elif test -n "$1" ; then | |
70 | AC_MSG_CHECKING([for SWIG version]) | |
71 | [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'`] | |
72 | AC_MSG_RESULT([$swig_version]) | |
73 | if test -n "$swig_version" ; then | |
74 | # Calculate the required version number components | |
75 | [required=$1] | |
76 | [required_major=`echo $required | sed 's/[^0-9].*//'`] | |
77 | if test -z "$required_major" ; then | |
78 | [required_major=0] | |
79 | fi | |
80 | [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] | |
81 | [required_minor=`echo $required | sed 's/[^0-9].*//'`] | |
82 | if test -z "$required_minor" ; then | |
83 | [required_minor=0] | |
84 | fi | |
85 | [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] | |
86 | [required_patch=`echo $required | sed 's/[^0-9].*//'`] | |
87 | if test -z "$required_patch" ; then | |
88 | [required_patch=0] | |
89 | fi | |
90 | # Calculate the available version number components | |
91 | [available=$swig_version] | |
92 | [available_major=`echo $available | sed 's/[^0-9].*//'`] | |
93 | if test -z "$available_major" ; then | |
94 | [available_major=0] | |
95 | fi | |
96 | [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] | |
97 | [available_minor=`echo $available | sed 's/[^0-9].*//'`] | |
98 | if test -z "$available_minor" ; then | |
99 | [available_minor=0] | |
100 | fi | |
101 | [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] | |
102 | [available_patch=`echo $available | sed 's/[^0-9].*//'`] | |
103 | if test -z "$available_patch" ; then | |
104 | [available_patch=0] | |
105 | fi | |
106 | if test $available_major -ne $required_major \ | |
107 | -o $available_minor -ne $required_minor \ | |
108 | -o $available_patch -lt $required_patch ; then | |
109 | AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) | |
110 | SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' | |
111 | else | |
112 | AC_MSG_NOTICE([SWIG executable is '$SWIG']) | |
113 | SWIG_LIB=`$SWIG -swiglib` | |
114 | AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) | |
115 | fi | |
116 | else | |
117 | AC_MSG_WARN([cannot determine SWIG version]) | |
118 | SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false' | |
119 | fi | |
120 | fi | |
121 | AC_SUBST([SWIG_LIB]) | |
122 | ]) |