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>
This commit is contained in:

committed by
Brian Paul

parent
8c00fe3970
commit
1b62b47f6f
@@ -43,6 +43,13 @@ import fixes
|
|||||||
|
|
||||||
import source_list
|
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):
|
def quietCommandLines(env):
|
||||||
# Quiet command lines
|
# Quiet command lines
|
||||||
# See also http://www.scons.org/wiki/HidingCommandLinesInOutput
|
# 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,
|
# Explicitly mark that the generated code depends on the generator,
|
||||||
# and on implicitly imported python modules
|
# 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]
|
||||||
deps += script_src.get_implicit_deps(env, python_scanner, path)
|
deps += script_src.get_implicit_deps(env, python_scanner, path)
|
||||||
env.Depends(code, deps)
|
env.Depends(code, deps)
|
||||||
|
Reference in New Issue
Block a user