summaryrefslogtreecommitdiff
path: root/scons/custom.py
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2016-05-25 07:32:08 -0600
committerBrian Paul <brianp@vmware.com>2016-05-25 12:23:12 -0600
commit1b62b47f6fcaf5a825a5a909c91e802bffae3b1d (patch)
tree41d904560f9f5bd44903a370f3defe08983190b8 /scons/custom.py
parent8c00fe39707e9b4d72805f443b23e4576ae8801c (diff)
scons: support 2.5.0
The get_implicit_deps changed in SCons 2.5, expecting a callable rather than a path as third argument. Detect the SCons versions and set the argument appropriately to support both 2.5 and earlier versions. This closes #95211. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95211 Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Cc: mesa-stable@lists.freedesktop.org Acked-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'scons/custom.py')
-rw-r--r--scons/custom.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/scons/custom.py b/scons/custom.py
index ff7a7a935d..e66f496962 100644
--- a/scons/custom.py
+++ b/scons/custom.py
@@ -43,6 +43,13 @@ import fixes
import source_list
+# the get_implicit_deps() method changed between 2.4 and 2.5: now it expects
+# a callable that takes a scanner as argument and returns a path, rather than
+# a path directly. We want to support both, so we need to detect the SCons version,
+# for which no API is provided by SCons 8-P
+
+scons_version = tuple(map(int, SCons.__version__.split('.')))
+
def quietCommandLines(env):
# Quiet command lines
# See also http://www.scons.org/wiki/HidingCommandLinesInOutput
@@ -129,7 +136,7 @@ def code_generate(env, script, target, source, command):
# Explicitly mark that the generated code depends on the generator,
# and on implicitly imported python modules
- path = (script_src.get_dir(),)
+ path = (script_src.get_dir(),) if scons_version < (2, 5, 0) else lambda x: script_src
deps = [script_src]
deps += script_src.get_implicit_deps(env, python_scanner, path)
env.Depends(code, deps)