summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/swig.py
diff options
context:
space:
mode:
authorBen Webb <benmwebb@gmail.com>2009-04-02 20:05:58 (GMT)
committerBen Webb <benmwebb@gmail.com>2009-04-02 20:05:58 (GMT)
commit9c3e75619ae9757aa8be19ed3cea480f9a11787b (patch)
treeef3109cb5a4d4c5818329f92155ba00fb9f9cc93 /src/engine/SCons/Tool/swig.py
parent86baf9eaf2229dc57765b6bc1a4ac17900c1d323 (diff)
downloadSCons-9c3e75619ae9757aa8be19ed3cea480f9a11787b.zip
SCons-9c3e75619ae9757aa8be19ed3cea480f9a11787b.tar.gz
SCons-9c3e75619ae9757aa8be19ed3cea480f9a11787b.tar.bz2
Set a SWIGVERSION construction variable, to contain the version number of the
SWIG program.
Diffstat (limited to 'src/engine/SCons/Tool/swig.py')
-rw-r--r--src/engine/SCons/Tool/swig.py8
1 files changed, 8 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'