mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
scons: Fix the Python dependency scanner.
modulefinder wasn't searching for dependencies in the script dir. It's not capable of detecting the sys.path manipulations scripts do internally neither. This change fixes the first issue, and hacks around the second. Honestly, I've come to the conclusion that automatic Python dependency it will always be too brittle. I think we should start manually typing the dependencies like we do in automake. At very least it will enable any person to eyeball and spot/fix missing dependencies, without dig into SCons internals.
This commit is contained in:
parent
c6d17701c8
commit
b12606b693
1 changed files with 8 additions and 2 deletions
|
|
@ -103,8 +103,14 @@ def python_scan(node, env, path):
|
|||
# http://www.scons.org/doc/0.98.5/HTML/scons-user/c2781.html#AEN2789
|
||||
# https://docs.python.org/2/library/modulefinder.html
|
||||
contents = node.get_contents()
|
||||
source_dir = node.get_dir()
|
||||
finder = modulefinder.ModuleFinder()
|
||||
|
||||
# Tell ModuleFinder to search dependencies in the script dir, and the glapi
|
||||
# dirs
|
||||
source_dir = node.get_dir().abspath
|
||||
GLAPI = env.Dir('#src/mapi/glapi/gen').abspath
|
||||
path = [source_dir, GLAPI] + sys.path
|
||||
|
||||
finder = modulefinder.ModuleFinder(path=path)
|
||||
finder.run_script(node.abspath)
|
||||
results = []
|
||||
for name, mod in finder.modules.iteritems():
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue