diff options
author | Steven Knight <knight@baldmt.com> | 2002-05-14 21:08:38 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-05-14 21:08:38 (GMT) |
commit | 126d1b3bd27c4ba02c7824ebd9745229d658de40 (patch) | |
tree | b569101f2245e6aba3381fe1b9bbddf2447f4cfb /src/engine/SCons | |
parent | cc9bcd4f85a559c8d1cdbfed8ce8991cdb281367 (diff) | |
download | SCons-126d1b3bd27c4ba02c7824ebd9745229d658de40.zip SCons-126d1b3bd27c4ba02c7824ebd9745229d658de40.tar.gz SCons-126d1b3bd27c4ba02c7824ebd9745229d658de40.tar.bz2 |
Fix for relative CPPPATH when BuildDir() is in use. (Charles Crain)
Diffstat (limited to 'src/engine/SCons')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 15 | ||||
-rw-r--r-- | src/engine/SCons/Node/FSTests.py | 6 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index 6ccd146..61cd80c 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -499,6 +499,21 @@ class Dir(Entry): self._sconsign = SCons.Sig.SConsignFile(self) return self._sconsign + def __str__(self): + # Reimplemented from Entry since, unlike for + # Entry and File, we want to return the source + # path *even if* the builder is non-zero + # (which it always is for a directory) + if self.duplicate: + return self.path + else: + return self.srcpath + + def exists(self): + # Again, directories are special...we don't care if their + # source path exists, we only care about the path. + return os.path.exists(self.path) + # XXX TODO? diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py index ef0c72b..ee82563 100644 --- a/src/engine/SCons/Node/FSTests.py +++ b/src/engine/SCons/Node/FSTests.py @@ -108,6 +108,12 @@ class BuildDirTestCase(unittest.TestCase): assert f2.srcpath == os.path.normpath('src/test1'), str(f2) assert str(f2) == os.path.normpath('build/var2/test1'), str(f2) + d1 = fs.Dir('build/var1') + d2 = fs.Dir('build/var2') + + assert str(d1) == 'src', str(d1) + assert str(d2) == os.path.normpath('build/var2'), str(d2) + # Test to see if file_link() works... test=TestCmd(workdir='') test.subdir('src','build') |