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