diff options
author | Steven Knight <knight@baldmt.com> | 2001-10-29 05:33:03 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2001-10-29 05:33:03 (GMT) |
commit | 15928490b955a3d4ea4966102dc915ed0fdb8526 (patch) | |
tree | 4b7b65dd605a53881ad0ee1977cea88db9f31885 /src/script | |
parent | 3bce8a9e6e70d61723e4824bd7ba84a7b9547456 (diff) | |
download | SCons-15928490b955a3d4ea4966102dc915ed0fdb8526.zip SCons-15928490b955a3d4ea4966102dc915ed0fdb8526.tar.gz SCons-15928490b955a3d4ea4966102dc915ed0fdb8526.tar.bz2 |
Handle SConscript files in subdirectories.
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/scons.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/script/scons.py b/src/script/scons.py index d6c7698..49a8467 100644 --- a/src/script/scons.py +++ b/src/script/scons.py @@ -147,9 +147,9 @@ def _scons_other_errors(): -def Conscript(filename): +def SConscript(filename): global scripts - scripts.append(filename) + scripts.append(SCons.Node.FS.default_fs.File(filename)) def Default(*targets): for t in targets: @@ -361,7 +361,10 @@ def options_init(): def opt_f(opt, arg): global scripts - scripts.append(arg) + if arg == '-': + scripts.append(arg) + else: + scripts.append(SCons.Node.FS.default_fs.File(arg)) Option(func = opt_f, short = 'f', long = ['file', 'makefile', 'sconstruct'], arg = 'FILE', @@ -581,7 +584,7 @@ def main(): if not scripts: for file in ['SConstruct', 'Sconstruct', 'sconstruct']: if os.path.isfile(file): - scripts.append(file) + scripts.append(SCons.Node.FS.default_fs.File(file)) break if help_option == 'H': @@ -616,16 +619,18 @@ def main(): sys.path = include_dirs + sys.path while scripts: - file, scripts = scripts[0], scripts[1:] - if file == "-": + f, scripts = scripts[0], scripts[1:] + if f == "-": exec sys.stdin in globals() else: try: - f = open(file, "r") + file = open(f.path, "r") except IOError, s: - sys.stderr.write("Ignoring missing script '%s'\n" % file) + sys.stderr.write("Ignoring missing SConscript '%s'\n" % f.path) else: - exec f in globals() + SCons.Node.FS.default_fs.chdir(f.dir) + exec file in globals() + SCons.Node.FS.default_fs.chdir(SCons.Node.FS.default_fs.Top) if help_option == 'h': # They specified -h, but there was no Help() inside the |