diff options
author | William Deegan <bill@baddogconsulting.com> | 2018-03-29 19:30:48 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2018-11-12 16:41:24 (GMT) |
commit | 57aefe3ca22c13c9f8cfc093f0fbcde97a61ea54 (patch) | |
tree | ff452a08dc8f3088b531cad91ba83872d9ede02b /src/engine/SCons/Node | |
parent | c8b4d3bc32476914aefa7cc50c6376d401478a01 (diff) | |
download | SCons-57aefe3ca22c13c9f8cfc093f0fbcde97a61ea54.zip SCons-57aefe3ca22c13c9f8cfc093f0fbcde97a61ea54.tar.gz SCons-57aefe3ca22c13c9f8cfc093f0fbcde97a61ea54.tar.bz2 |
Modified fix for issue #2980 where the more complicated logic is only applied when the number of children in the current build doesn't match the number in the previous build as retrieved from the sconsign file.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 22f1be5..cdaccca 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -1491,13 +1491,11 @@ class Node(object, with_metaclass(NoSlotsPyPy)): result = False bi = node.get_stored_info().binfo - # then = bi.bsourcesigs + bi.bdependsigs + bi.bimplicitsigs + then = bi.bsourcesigs + bi.bdependsigs + bi.bimplicitsigs # TODO: Can we move this into the if diff below? - dmap = self._build_dependency_map(bi) children = self.children() - # diff = len(children) - len(then) - diff = len(children) - len(dmap) + diff = len(children) - len(then) if diff: # The old and new dependency lists are different lengths. # This always indicates that the Node must be rebuilt. @@ -1508,11 +1506,13 @@ class Node(object, with_metaclass(NoSlotsPyPy)): # # of the loop below that updates node information. # then.extend([None] * diff) # if t: Trace(': old %s new %s' % (len(then), len(children))) + dmap = self._build_dependency_map(bi) + # Now build new then based on map built above. + then = self._get_previous_signatures(dmap, children) + result = True - # Now build new then based on map built above. - then = self._get_previous_signatures(dmap, children) for child, prev_ni in zip(children, then): if _decider_map[child.changed_since_last_build](child, self, prev_ni): |