summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-04-29 15:55:11 (GMT)
committerSteven Knight <knight@baldmt.com>2002-04-29 15:55:11 (GMT)
commitba9fa12fcc465eb09debdcbd4ccf1ca2d5e8a56e (patch)
treeeec88ba5f3564890bd9537e5c8a25e4ac9e26dc7
parentd8a61ce7bec032b17a03dbcb1f5cdaaa1e40e2f6 (diff)
downloadSCons-ba9fa12fcc465eb09debdcbd4ccf1ca2d5e8a56e.zip
SCons-ba9fa12fcc465eb09debdcbd4ccf1ca2d5e8a56e.tar.gz
SCons-ba9fa12fcc465eb09debdcbd4ccf1ca2d5e8a56e.tar.bz2
Fix for CPPPATH='#'. (Charles Crain)
-rw-r--r--src/engine/SCons/Node/FS.py4
-rw-r--r--src/engine/SCons/Node/FSTests.py1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index d629d40..6ccd146 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -227,10 +227,12 @@ class FS:
if name[0] == '#':
directory = self.Top
name = os.path.normpath(name[1:])
- if name[0] == os.sep:
+ if name and (name[0] == os.sep or \
+ name[0] == '/'):
# Correct such that '#/foo' is equivalent
# to '#foo'.
name = name[1:]
+ name=os.path.join('.', name)
elif not directory:
directory = self._cwd
return (os.path.normpath(name), directory)
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index 4cf3cb5..ef0c72b 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -234,6 +234,7 @@ class FSTestCase(unittest.TestCase):
Dir_test('foo/./bar', 'foo/bar/', sub_dir_foo_bar, 'foo/')
Dir_test('#foo/bar', 'foo/bar/', sub_dir_foo_bar, 'foo/')
Dir_test('#/foo/bar', 'foo/bar/', sub_dir_foo_bar, 'foo/')
+ Dir_test('#', './', sub_dir, sub)
try:
f2 = fs.File(string.join(['f1', 'f2'], sep), directory = d1)