summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/swig.py
diff options
context:
space:
mode:
authorBen Webb <benmwebb@gmail.com>2009-04-03 17:10:22 (GMT)
committerBen Webb <benmwebb@gmail.com>2009-04-03 17:10:22 (GMT)
commitb833b65e5367aab1bf8f6f5a101f8b0923e9433c (patch)
tree4435c4439855a526f7b1f27b1245296f9f7fe6b1 /src/engine/SCons/Tool/swig.py
parent9c3e75619ae9757aa8be19ed3cea480f9a11787b (diff)
downloadSCons-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.py9
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)