diff options
author | Russel Winder <russel@winder.org.uk> | 2017-06-07 08:13:41 (GMT) |
---|---|---|
committer | Russel Winder <russel@winder.org.uk> | 2017-06-07 08:13:41 (GMT) |
commit | 10e94d6ef13b7b336d6edada3864c58ddeb1b114 (patch) | |
tree | 64e74957828c7abd761e9d3990defd25de8f9e8a /src/engine | |
parent | 56eec3c90ca231cc7b50d6f60266f77917b3ea1e (diff) | |
parent | 1b45e46cef6ea7f66a4ca2ab98dc293b43e95cc5 (diff) | |
download | SCons-10e94d6ef13b7b336d6edada3864c58ddeb1b114.zip SCons-10e94d6ef13b7b336d6edada3864c58ddeb1b114.tar.gz SCons-10e94d6ef13b7b336d6edada3864c58ddeb1b114.tar.bz2 |
Merge in recent commit in mainline.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index f7d2082..0409d3b 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -1136,38 +1136,22 @@ class Node(object, with_metaclass(NoSlotsPyPy)): binfo.bactsig = SCons.Util.MD5signature(executor.get_contents()) if self._specific_sources: - sources = [] - for s in self.sources: - if s not in ignore_set: - sources.append(s) + sources = [ s for s in self.sources if not s in ignore_set] + else: sources = executor.get_unignored_sources(self, self.ignore) + seen = set() - bsources = [] - bsourcesigs = [] - for s in sources: - if not s in seen: - seen.add(s) - bsources.append(s) - bsourcesigs.append(s.get_ninfo()) - binfo.bsources = bsources - binfo.bsourcesigs = bsourcesigs - - depends = self.depends - dependsigs = [] - for d in depends: - if d not in ignore_set: - dependsigs.append(d.get_ninfo()) - binfo.bdepends = depends - binfo.bdependsigs = dependsigs - - implicit = self.implicit or [] - implicitsigs = [] - for i in implicit: - if i not in ignore_set: - implicitsigs.append(i.get_ninfo()) - binfo.bimplicit = implicit - binfo.bimplicitsigs = implicitsigs + binfo.bsources = [s for s in sources if s not in seen and not seen.add(s)] + binfo.bsourcesigs = [s.get_ninfo() for s in binfo.bsources] + + + binfo.bdepends = self.depends + binfo.bdependsigs = [d.get_ninfo() for d in self.depends if d not in ignore_set] + + binfo.bimplicit = self.implicit or [] + binfo.bimplicitsigs = [i.get_ninfo() for i in binfo.bimplicit if i not in ignore_set] + return binfo |