summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Builder.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-08-26 09:28:08 (GMT)
committerSteven Knight <knight@baldmt.com>2002-08-26 09:28:08 (GMT)
commit3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820 (patch)
treecaadc59bf4974cae2bd2da4d31f496b624dbf22f /src/engine/SCons/Builder.py
parentcff75e572311356bfd6d80c460c1140492a35073 (diff)
downloadSCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.zip
SCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.tar.gz
SCons-3b0b846c4cbda7e32c1d1ca3d9f6787f59f5b820.tar.bz2
Put auto-deduced target names in the same directory as the source file.
Diffstat (limited to 'src/engine/SCons/Builder.py')
-rw-r--r--src/engine/SCons/Builder.py24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py
index c1e93c2..9edd121 100644
--- a/src/engine/SCons/Builder.py
+++ b/src/engine/SCons/Builder.py
@@ -283,27 +283,27 @@ class BuilderBase:
pre = self.get_prefix(env)
suf = self.get_suffix(env)
src_suf = self.get_src_suffix(env)
+
+ source = adjustixes(source, None, src_suf)
+ if target is None:
+ target = map(lambda x, s=suf: os.path.splitext(x)[0] + s,
+ source)
+ else:
+ target = adjustixes(target, pre, suf)
+
if self.emitter:
# pass the targets and sources to the emitter as strings
# rather than nodes since str(node) doesn't work
# properly from any directory other than the top directory,
# and emitters are called "in" the SConscript directory:
- tlist = adjustixes(target, pre, suf)
- slist = adjustixes(source, None, src_suf)
-
- emit_args = { 'target' : tlist,
- 'source' : slist,
+ emit_args = { 'target' : target,
+ 'source' : source,
'env' : env }
emit_args.update(args)
target, source = apply(self.emitter, (), emit_args)
- slist = SCons.Node.arg2nodes(adjustixes(source, None, src_suf),
- self.source_factory)
- if target is None:
- target = map(lambda x, s=suf: os.path.splitext(str(x))[0] + s,
- slist)
- tlist = SCons.Node.arg2nodes(adjustixes(target, pre, suf),
- self.target_factory)
+ slist = SCons.Node.arg2nodes(source, self.source_factory)
+ tlist = SCons.Node.arg2nodes(target, self.target_factory)
return tlist, slist