diff options
| author | Steven Knight <knight@baldmt.com> | 2001-10-12 19:31:00 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2001-10-12 19:31:00 (GMT) |
| commit | 2d4ea0988d82d1134cebd5bbc8a4f7a3fcbb8f2f (patch) | |
| tree | e7e49a06a892c365dd30ae49b8ec4ab4b08f32ab /src/engine/SCons/Node/__init__.py | |
| parent | 0b9500662af3d026632d59da69020947fe844f30 (diff) | |
| download | SCons-2d4ea0988d82d1134cebd5bbc8a4f7a3fcbb8f2f.zip SCons-2d4ea0988d82d1134cebd5bbc8a4f7a3fcbb8f2f.tar.gz SCons-2d4ea0988d82d1134cebd5bbc8a4f7a3fcbb8f2f.tar.bz2 | |
Add tests and support for and .
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
| -rw-r--r-- | src/engine/SCons/Node/__init__.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index c0346cc..8334d2d 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -59,7 +59,7 @@ class Node: if not hasattr(self, "builder"): return None sources_str = string.join(map(lambda x: str(x), self.sources)) - stat = self.builder.execute(ENV = self.env.Dictionary('ENV'), + stat = self.builder.execute(env = self.env.Dictionary(), target = str(self), source = sources_str) if stat != 0: raise BuildError(node = self, stat = stat) @@ -84,13 +84,17 @@ class Node: """Adds dependencies. The depends argument must be a list.""" if type(depend) is not type([]): raise TypeError("depend must be a list") - self.depends.extend(depend) + depend = filter(lambda x, d=self.depends: x not in d, depend) + if len(depend): + self.depends.extend(depend) def add_source(self, source): """Adds sources. The source argument must be a list.""" if type(source) is not type([]): raise TypeError("source must be a list") - self.sources.extend(source) + source = filter(lambda x, s=self.sources: x not in s, source) + if len(source): + self.sources.extend(source) def children(self): return self.sources + self.depends |
