summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/engine/SCons/Tool/swig.py8
-rw-r--r--src/engine/SCons/Tool/swig.xml7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/engine/SCons/Tool/swig.py b/src/engine/SCons/Tool/swig.py
index dda5be5..c7af701 100644
--- a/src/engine/SCons/Tool/swig.py
+++ b/src/engine/SCons/Tool/swig.py
@@ -119,6 +119,13 @@ def _swigEmitter(target, source, env):
target.extend(java_files)
return (target, source)
+def _get_swig_version(env):
+ """Run the SWIG command line tool to get and return the version number"""
+ out = os.popen(env['SWIG'] + ' -version').read()
+ match = re.search(r'SWIG Version\s+(\S+)$', out, re.MULTILINE)
+ if match:
+ return match.group(1)
+
def generate(env):
"""Add Builders and construction variables for swig to an Environment."""
c_file, cxx_file = SCons.Tool.createCFileBuilders(env)
@@ -139,6 +146,7 @@ def generate(env):
java_file.add_emitter('.i', _swigEmitter)
env['SWIG'] = 'swig'
+ env['SWIGVERSION'] = _get_swig_version(env)
env['SWIGFLAGS'] = SCons.Util.CLVar('')
env['SWIGDIRECTORSUFFIX'] = '_wrap.h'
env['SWIGCFILESUFFIX'] = '_wrap$CFILESUFFIX'
diff --git a/src/engine/SCons/Tool/swig.xml b/src/engine/SCons/Tool/swig.xml
index e17c4c6..33d3721 100644
--- a/src/engine/SCons/Tool/swig.xml
+++ b/src/engine/SCons/Tool/swig.xml
@@ -19,6 +19,7 @@ SWIGINCPREFIX
SWIGINCSUFFIX
SWIGCOM
SWIGPATH
+SWIGVERSION
</sets>
<uses>
SWIGCOMSTR
@@ -203,3 +204,9 @@ env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SORUCES")
</example>
</summary>
</cvar>
+
+<cvar name="SWIGVERSION">
+<summary>
+The version number of the SWIG tool.
+</summary>
+</cvar>