summaryrefslogtreecommitdiffstats
path: root/third_party/scons/scons-local
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-11 18:46:42 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-11 18:46:42 +0000
commit11dfb0d72239468ef75fe9f228d0c36324ddfdd3 (patch)
tree5fe183f4df39b00469eaf6e92a0e323bef007d82 /third_party/scons/scons-local
parent2c59af7dcafb6e26fee53be61c180cfc7a310ed5 (diff)
downloadchromium_src-11dfb0d72239468ef75fe9f228d0c36324ddfdd3.zip
chromium_src-11dfb0d72239468ef75fe9f228d0c36324ddfdd3.tar.gz
chromium_src-11dfb0d72239468ef75fe9f228d0c36324ddfdd3.tar.bz2
Have scons fully evaluate order-only prequisites Nodes before evaluating
a target direct sources and dependencies, so that the actions of the prerequisites can affect how the sources and dependencies get built (e.g. building ancillary files for use as input to other steps, without having to track the direct file dependency). This tracks an upstream SCons change that will appear in next release: http://scons.tigris.org/issues/show_bug.cgi?id=2372 Review URL: http://codereview.chromium.org/43087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11461 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/scons/scons-local')
-rw-r--r--third_party/scons/scons-local/SCons/Taskmaster.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/third_party/scons/scons-local/SCons/Taskmaster.py b/third_party/scons/scons-local/SCons/Taskmaster.py
index 2fffafca2..89f0e36 100644
--- a/third_party/scons/scons-local/SCons/Taskmaster.py
+++ b/third_party/scons/scons-local/SCons/Taskmaster.py
@@ -789,7 +789,17 @@ class Taskmaster:
children_not_ready = []
children_failed = False
- for child in chain(children, executor.get_all_prerequisites()):
+ #TODO(sgk)
+ # Evaluate order-only prerequisites before any "direct" children
+ # (sources and dependencies) are evaluated. This is in advance
+ # of a change that will be incorporated in the next upstream
+ # version of SCons, per:
+ # http://scons.tigris.org/issues/show_bug.cgi?id=2372
+ #TODO(sgk) - FROM THIS:
+ #for child in chain(children, executor.get_all_prerequisites()):
+ #TODO(sgk) - TO THIS:
+ for child in chain(executor.get_all_prerequisites(), children):
+ #TODO(sgk) - END CHANGES.
childstate = child.get_state()
if T: T.write(self.trace_message(' ' + self.trace_node(child)))