summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Action.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-08-06 03:15:21 (GMT)
committerSteven Knight <knight@baldmt.com>2002-08-06 03:15:21 (GMT)
commit59ec4b2e4ca1579c703093d0f87a7c5ecde8633c (patch)
tree2394ab9dbeda4c515b700745631a041384e09ffa /src/engine/SCons/Action.py
parent71600f7a97bc30494ecfbd9afd4b4df43381f57e (diff)
downloadSCons-59ec4b2e4ca1579c703093d0f87a7c5ecde8633c.zip
SCons-59ec4b2e4ca1579c703093d0f87a7c5ecde8633c.tar.gz
SCons-59ec4b2e4ca1579c703093d0f87a7c5ecde8633c.tar.bz2
Support Repository and Default().
Diffstat (limited to 'src/engine/SCons/Action.py')
-rw-r--r--src/engine/SCons/Action.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/SCons/Action.py b/src/engine/SCons/Action.py
index 2a07fce..e2fe07f 100644
--- a/src/engine/SCons/Action.py
+++ b/src/engine/SCons/Action.py
@@ -462,9 +462,15 @@ class FunctionAction(ActionBase):
if kw.has_key('target') and not \
SCons.Util.is_List(kw['target']):
kw['target'] = [ kw['target'] ]
- if kw.has_key('source') and not \
- SCons.Util.is_List(kw['source']):
- kw['source'] = [ kw['source'] ]
+ if kw.has_key('source'):
+ def rfile(n):
+ try:
+ return n.rfile()
+ except AttributeError:
+ return n
+ if not SCons.Util.is_List(kw['source']):
+ kw['source'] = [ kw['source'] ]
+ kw['source'] = map(rfile, kw['source'])
if kw.has_key("env") and not isinstance(kw["env"], EnvDictProxy):
kw["env"] = EnvDictProxy(kw["env"])
return apply(self.function, (), kw)