[Mesa-dev] [PATCHv2 2/2] scons: support 2.5.0

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Wed May 25 07:12:15 UTC 2016


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 at gmail.com>
Cc: mesa-stable at lists.freedesktop.org
Acked-by: Emil Velikov <emil.velikov at collabora.com>
---
 scons/custom.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/scons/custom.py b/scons/custom.py
index ff7a7a9..e66f496 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)
-- 
2.8.1.372.g9612035



More information about the mesa-dev mailing list