- Added a GetBuildPath() method to return the full path to the
Node for a specified string.
+ - Fixed variable substitution in CPPPATH and LIBPATH.
+
From Anthony Roach:
- Documented CXXFLAGS, CXXCOM, and CPPPATH.
def file_link(src, dest):
shutil.copyfile(src, dest)
st=os.stat(src)
- os.chmod(dest, stat.S_IMODE(st[stat.ST_MODE]))
+ os.chmod(dest, stat.S_IMODE(st[stat.ST_MODE]) | stat.S_IWRITE)
class PathName:
"""This is a string like object with limited capabilities (i.e.,
import SCons.Node.FS
from TestCmd import TestCmd
from SCons.Errors import UserError
+import stat
built_it = None
assert f1.srcpath == 'src/test1', f1.srcpath
assert f2.srcpath == 'src/test1', f2.srcpath
+ # Test to see if file_link() works...
+ test=TestCmd(workdir='')
+ test.subdir('src','build')
+ test.write('src/foo', 'foo\n')
+ os.chmod(test.workpath('src/foo'), stat.S_IRUSR)
+ SCons.Node.FS.file_link(test.workpath('src/foo'),
+ test.workpath('build/foo'))
+ os.chmod(test.workpath('src/foo'), stat.S_IRUSR | stat.S_IWRITE)
+ st=os.stat(test.workpath('build/foo'))
+ assert (stat.S_IMODE(st[stat.ST_MODE]) & stat.S_IWRITE), \
+ stat.S_IMODE(st[stat.ST_MODE])
+
exc_caught = 0
try:
fs = SCons.Node.FS.FS()
src = dict[self.src]
if not type(src) is types.ListType and not isinstance(src, UserList):
src = [ src ]
- return src
+ return map(lambda x, d=dict: scons_subst(x, {}, d), src)
def generate(self, dict):
if not dict.has_key(self.src):
assert dict['_LIBFLAGS'][2] == 'foobazbar', \
dict['_LIBFLAGS'][2]
- dict = {'CPPPATH' : [ 'foo', 'bar', 'baz' ],
+ dict = {'CPPPATH' : [ 'foo', 'bar', 'baz', '$FOO/bar' ],
'INCPREFIX' : 'foo',
- 'INCSUFFIX' : 'bar'}
+ 'INCSUFFIX' : 'bar',
+ 'FOO' : 'baz' }
autogenerate(dict, dir = SCons.Node.FS.default_fs.Dir('/xx'))
- assert len(dict['_INCFLAGS']) == 3, dict('_INCFLAGS')
+ assert len(dict['_INCFLAGS']) == 4, dict['_INCFLAGS']
assert dict['_INCFLAGS'][0] == os.path.normpath('foo/xx/foobar'), \
dict['_INCFLAGS'][0]
assert dict['_INCFLAGS'][1] == os.path.normpath('foo/xx/barbar'), \
dict['_INCFLAGS'][1]
assert dict['_INCFLAGS'][2] == os.path.normpath('foo/xx/bazbar'), \
dict['_INCFLAGS'][2]
+ assert dict['_INCFLAGS'][3] == os.path.normpath('foo/xx/baz/barbar'), \
+ dict['_INCFLAGS'][3]
if __name__ == "__main__":