summaryrefslogtreecommitdiff
path: root/engine/SCons/Tool/swig.py
diff options
context:
space:
mode:
Diffstat (limited to 'engine/SCons/Tool/swig.py')
-rw-r--r--engine/SCons/Tool/swig.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/engine/SCons/Tool/swig.py b/engine/SCons/Tool/swig.py
index 74c5a8e..1d806ae 100644
--- a/engine/SCons/Tool/swig.py
+++ b/engine/SCons/Tool/swig.py
@@ -9,7 +9,7 @@ selection method.
"""
#
-# Copyright (c) 2001 - 2015 The SCons Foundation
+# Copyright (c) 2001 - 2016 The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -31,7 +31,7 @@ selection method.
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
-__revision__ = "src/engine/SCons/Tool/swig.py rel_2.4.1:3453:73fefd3ea0b0 2015/11/09 03:25:05 bdbaddog"
+__revision__ = "src/engine/SCons/Tool/swig.py rel_2.5.0:3543:937e55cd78f7 2016/04/09 11:29:54 bdbaddog"
import os.path
import re
@@ -39,11 +39,12 @@ import subprocess
import SCons.Action
import SCons.Defaults
-import SCons.Scanner
import SCons.Tool
import SCons.Util
import SCons.Node
+verbose = False
+
swigs = [ 'swig', 'swig3.0', 'swig2.0' ]
SwigAction = SCons.Action.Action('$SWIGCOM', '$SWIGCOMSTR')
@@ -140,9 +141,12 @@ def _get_swig_version(env, swig):
if pipe.wait() != 0: return
out = pipe.stdout.read()
- match = re.search(r'SWIG Version\s+(\S+)$', out, re.MULTILINE)
+ match = re.search(r'SWIG Version\s+(\S+).*', out, re.MULTILINE)
if match:
+ if verbose: print "Version is:%s"%match.group(1)
return match.group(1)
+ else:
+ if verbose: print "Unable to detect version: [%s]"%out
def generate(env):
"""Add Builders and construction variables for swig to an Environment."""
@@ -177,11 +181,6 @@ def generate(env):
env['_SWIGINCFLAGS'] = '$( ${_concat(SWIGINCPREFIX, SWIGPATH, SWIGINCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)'
env['SWIGCOM'] = '$SWIG -o $TARGET ${_SWIGOUTDIR} ${_SWIGINCFLAGS} $SWIGFLAGS $SOURCES'
- expr = '^[ \t]*%[ \t]*(?:include|import|extern)[ \t]*(<|"?)([^>\s"]+)(?:>|"?)'
- scanner = SCons.Scanner.ClassicCPP("SWIGScan", ".i", "SWIGPATH", expr)
-
- env.Append(SCANNERS = scanner)
-
def exists(env):
swig = env.get('SWIG') or env.Detect(['swig'])
return swig