diff options
author | Ben Webb <benmwebb@gmail.com> | 2009-04-03 17:10:22 (GMT) |
---|---|---|
committer | Ben Webb <benmwebb@gmail.com> | 2009-04-03 17:10:22 (GMT) |
commit | b833b65e5367aab1bf8f6f5a101f8b0923e9433c (patch) | |
tree | 4435c4439855a526f7b1f27b1245296f9f7fe6b1 /src/engine/SCons/Tool/swig.py | |
parent | 9c3e75619ae9757aa8be19ed3cea480f9a11787b (diff) | |
download | SCons-b833b65e5367aab1bf8f6f5a101f8b0923e9433c.zip SCons-b833b65e5367aab1bf8f6f5a101f8b0923e9433c.tar.gz SCons-b833b65e5367aab1bf8f6f5a101f8b0923e9433c.tar.bz2 |
Use SCons.Action._subproc rather than os.popen.
Diffstat (limited to 'src/engine/SCons/Tool/swig.py')
-rw-r--r-- | src/engine/SCons/Tool/swig.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/engine/SCons/Tool/swig.py b/src/engine/SCons/Tool/swig.py index c7af701..92c93de 100644 --- a/src/engine/SCons/Tool/swig.py +++ b/src/engine/SCons/Tool/swig.py @@ -36,6 +36,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import os.path import re import string +import subprocess import SCons.Action import SCons.Defaults @@ -121,7 +122,13 @@ def _swigEmitter(target, source, env): 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() + pipe = SCons.Action._subproc(env, [env['SWIG'], '-version'], + stdin = 'devnull', + stderr = 'devnull', + stdout = subprocess.PIPE) + if pipe.wait() != 0: return + + out = pipe.stdout.read() match = re.search(r'SWIG Version\s+(\S+)$', out, re.MULTILINE) if match: return match.group(1) |