diff options
-rw-r--r-- | src/engine/SCons/Tool/swig.py | 8 | ||||
-rw-r--r-- | src/engine/SCons/Tool/swig.xml | 7 |
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> |