diff options
author | Steven Knight <knight@baldmt.com> | 2005-01-23 14:11:50 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2005-01-23 14:11:50 (GMT) |
commit | 09599aef30df7b9abedd8311187b10efd3f57c7d (patch) | |
tree | 864690d80f1a70610307f078dace8365db3c2a6f /src | |
parent | 9b2dae34a2a0fd013b7849e4f8a8d7adb1bc136c (diff) | |
download | SCons-09599aef30df7b9abedd8311187b10efd3f57c7d.zip SCons-09599aef30df7b9abedd8311187b10efd3f57c7d.tar.gz SCons-09599aef30df7b9abedd8311187b10efd3f57c7d.tar.bz2 |
Only call filter() to remove ignored dependencies if something has been Ignore()ed for the node in question.
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 6b4c996..f1150c4 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -584,13 +584,13 @@ class Node: executor = self.get_executor() sourcelist = executor.get_source_binfo(calc) + depends = self.depends + implicit = self.implicit or [] - sourcelist = filter(lambda t, s=self: s.do_not_ignore(t[0]), sourcelist) - depends = filter(self.do_not_ignore, self.depends) - if self.implicit is None: - implicit = [] - else: - implicit = filter(self.do_not_ignore, self.implicit) + if self.ignore: + sourcelist = filter(lambda t, s=self: s.do_not_ignore(t[0]), sourcelist) + depends = filter(self.do_not_ignore, depends) + implicit = filter(self.do_not_ignore, implicit) def calc_signature(node, calc=calc): return node.calc_signature(calc) @@ -761,7 +761,10 @@ class Node: def _children_get(self): "__cacheable__" - return filter(self.do_not_ignore, self.all_children(scan=0)) + children = self.all_children(scan=0) + if self.ignore: + children = filter(self.do_not_ignore, children) + return children def children(self, scan=1): """Return a list of the node's direct children, minus those |