summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-10-12 19:31:00 (GMT)
committerSteven Knight <knight@baldmt.com>2001-10-12 19:31:00 (GMT)
commit2d4ea0988d82d1134cebd5bbc8a4f7a3fcbb8f2f (patch)
treee7e49a06a892c365dd30ae49b8ec4ab4b08f32ab /src/engine/SCons/Node/__init__.py
parent0b9500662af3d026632d59da69020947fe844f30 (diff)
downloadSCons-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__.py10
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