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 | 6bec8f2af404ddfb6fd20cb101772b363182fce1 (patch) | |
tree | 864690d80f1a70610307f078dace8365db3c2a6f | |
parent | 20e3b80957a63c3ed047ac884c4a404c3e73d549 (diff) | |
download | SCons-6bec8f2af404ddfb6fd20cb101772b363182fce1.zip SCons-6bec8f2af404ddfb6fd20cb101772b363182fce1.tar.gz SCons-6bec8f2af404ddfb6fd20cb101772b363182fce1.tar.bz2 |
Only call filter() to remove ignored dependencies if something has been Ignore()ed for the node in question.
-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 |