summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Executor.py
diff options
context:
space:
mode:
authorWilliam Blevins <wblevins@gmail.com>2015-05-17 23:57:44 (GMT)
committerWilliam Blevins <wblevins@gmail.com>2015-05-17 23:57:44 (GMT)
commitb27b2316842dfa291feef332c80f676fd097d809 (patch)
tree593e0708b52b387658a12105d39ba646be8b2671 /src/engine/SCons/Executor.py
parent654e4414d80324b2a4c2edf3c685a38feec514f6 (diff)
downloadSCons-b27b2316842dfa291feef332c80f676fd097d809.zip
SCons-b27b2316842dfa291feef332c80f676fd097d809.tar.gz
SCons-b27b2316842dfa291feef332c80f676fd097d809.tar.bz2
Issue 2264: Added cross-language scanner support.
Diffstat (limited to 'src/engine/SCons/Executor.py')
-rw-r--r--src/engine/SCons/Executor.py26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/engine/SCons/Executor.py b/src/engine/SCons/Executor.py
index 98ed758..59e57e3 100644
--- a/src/engine/SCons/Executor.py
+++ b/src/engine/SCons/Executor.py
@@ -486,29 +486,15 @@ class Executor(object):
each individual target, which is a hell of a lot more efficient.
"""
env = self.get_build_env()
+ path = self.get_build_scanner_path
+ kw = self.get_kw()
# TODO(batch): scan by batches)
deps = []
- if scanner:
- for node in node_list:
- node.disambiguate()
- s = scanner.select(node)
- if not s:
- continue
- path = self.get_build_scanner_path(s)
- deps.extend(node.get_implicit_deps(env, s, path))
- else:
- kw = self.get_kw()
- for node in node_list:
- node.disambiguate()
- scanner = node.get_env_scanner(env, kw)
- if not scanner:
- continue
- scanner = scanner.select(node)
- if not scanner:
- continue
- path = self.get_build_scanner_path(scanner)
- deps.extend(node.get_implicit_deps(env, scanner, path))
+
+ for node in node_list:
+ node.disambiguate()
+ deps.extend(node.get_implicit_deps(env, scanner, path, kw))
deps.extend(self.get_implicit_deps())