diff options
| author | Steven Knight <knight@baldmt.com> | 2003-07-02 16:06:39 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2003-07-02 16:06:39 (GMT) |
| commit | 6da1c503b48c363638df57e101b7d49316b09025 (patch) | |
| tree | 9e7d346be67ee64995a10e51d6e607a27ba76bc4 /src/engine | |
| parent | 4494c32726f5560df070bd13696272e88babcb3c (diff) | |
| download | SCons-6da1c503b48c363638df57e101b7d49316b09025.zip SCons-6da1c503b48c363638df57e101b7d49316b09025.tar.gz SCons-6da1c503b48c363638df57e101b7d49316b09025.tar.bz2 | |
Make builder prefixes work correctly when deducing a target name from a source file in another directory. Fix a man page bug. Document the yacc -d *.yy fix previously checked in.
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/Builder.py | 7 | ||||
| -rw-r--r-- | src/engine/SCons/BuilderTests.py | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py index 6caf5d9..f19983d 100644 --- a/src/engine/SCons/Builder.py +++ b/src/engine/SCons/Builder.py @@ -311,8 +311,11 @@ class BuilderBase: if target is None: s = source[0] if isinstance(s, SCons.Node.Node): - s = os.path.split(str(s))[1] - target = [ pre + os.path.splitext(s)[0] + suf ] + s = str(s) + dir, s = os.path.split(s) + target = pre + os.path.splitext(s)[0] + suf + if dir: + target = [ os.path.join(dir, target) ] else: target = adjustixes(target, pre, suf) diff --git a/src/engine/SCons/BuilderTests.py b/src/engine/SCons/BuilderTests.py index b856b08..062f8b9 100644 --- a/src/engine/SCons/BuilderTests.py +++ b/src/engine/SCons/BuilderTests.py @@ -303,8 +303,11 @@ class BuilderTestCase(unittest.TestCase): tgt = builder(env, source = 'src3') assert tgt.path == 'libsrc3', \ "Target has unexpected name: %s" % tgt.path - tgt = builder(env, target = 'lib/tgt4', source = 'lib/src4') - assert tgt.path == os.path.join('lib', 'libtgt4'), \ + tgt = builder(env, source = 'lib/src4') + assert tgt.path == os.path.join('lib', 'libsrc4'), \ + "Target has unexpected name: %s" % tgt.path + tgt = builder(env, target = 'lib/tgt5', source = 'lib/src5') + assert tgt.path == os.path.join('lib', 'libtgt5'), \ "Target has unexpected name: %s" % tgt.path def test_src_suffix(self): |
