- Change the -U option to -D. Make a new -U that builds just the
targets from the local SConscript file.
+ - Fixed use of sys.path so Python modules can be imported from
+ the SConscript directory.
+
RELEASE 0.06 - Thu, 28 Mar 2002 01:24:29 -0600
import SCons.Util
import os
+import os.path
import string
import sys
# push:
stack.append(Frame(exports))
-
old_dir = None
+ old_sys_path = sys.path
try:
# call:
if script == "-":
if sconscript_chdir:
old_dir = os.getcwd()
os.chdir(str(script.dir))
+
+ # prepend the SConscript directory to sys.path so
+ # that Python modules in the SConscript directory can
+ # be easily imported.
+ sys.path = [os.path.abspath(str(script.dir))] + sys.path
+
exec file in stack[-1].globals
else:
sys.stderr.write("Ignoring missing SConscript '%s'\n" % script.path)
finally:
# pop:
+ sys.path = old_sys_path
frame = stack.pop()
SCons.Node.FS.default_fs.chdir(frame.prev_dir)
if old_dir:
test = TestSCons.TestSCons()
+test.write('foo.py', """
+foo = 4""")
+
test.write('SConstruct', """
import os
+import foo
+
+assert foo.foo == 4
print "SConstruct", os.getcwd()
SConscript('SConscript')