diff options
| author | Steven Knight <knight@baldmt.com> | 2003-03-22 08:31:26 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2003-03-22 08:31:26 (GMT) |
| commit | 3be8585d1be52d25020b93d99c333d9c9d577b51 (patch) | |
| tree | 1841b7b005e680ba16d9a897e759774390a1583c /src/engine/SCons/Script | |
| parent | 5ea9b7416ae70c3a4678bcf337bebd41b944cf86 (diff) | |
| download | SCons-3be8585d1be52d25020b93d99c333d9c9d577b51.zip SCons-3be8585d1be52d25020b93d99c333d9c9d577b51.tar.gz SCons-3be8585d1be52d25020b93d99c333d9c9d577b51.tar.bz2 | |
Make RCS/SCCS/BitKeeper support more transparent.
Diffstat (limited to 'src/engine/SCons/Script')
| -rw-r--r-- | src/engine/SCons/Script/SConscript.py | 9 | ||||
| -rw-r--r-- | src/engine/SCons/Script/__init__.py | 12 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index 8dd4ef3..0fe0d64 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -38,6 +38,7 @@ import SCons.Errors import SCons.Node import SCons.Node.FS import SCons.Platform +import SCons.Script import SCons.Tool import SCons.Util import SCons.Options @@ -184,7 +185,7 @@ def SConscript(*ls, **kw): default_fs = SCons.Node.FS.default_fs top = default_fs.Top - sd = default_fs.SConstruct.rfile().dir + sd = default_fs.SConstruct_dir.rdir() # evaluate each SConscript file results = [] @@ -210,7 +211,7 @@ def SConscript(*ls, **kw): default_fs.chdir(top, change_os_dir=1) if f.rexists(): _file_ = open(f.rstr(), "r") - elif f.has_builder(): + elif f.has_src_builder(): # The SConscript file apparently exists in a source # code management system. Build it, but then clear # the builder so that it doesn't get built *again* @@ -364,7 +365,6 @@ def SetBuildSignatureType(type): raise SCons.Errors.UserError, "Unknown build signature type '%s'"%type def SetContentSignatureType(type): - import SCons.Script if type == 'MD5': import SCons.Sig.MD5 SCons.Script.sig_module = SCons.Sig.MD5 @@ -448,10 +448,11 @@ def Exit(value=0): def BuildDefaultGlobals(): """ Create a dictionary containing all the default globals for - SConscruct and SConscript files. + SConstruct and SConscript files. """ globals = {} + globals['_default_env'] = SCons.Defaults._default_env globals['Action'] = SCons.Action.Action globals['AddPostAction'] = AddPostAction globals['AddPreAction'] = AddPreAction diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index 1f9daf5..760f207 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -55,6 +55,8 @@ import traceback # 'lib', # 'scons-%d' % SCons.__version__)] + sys.path[1:] +import SCons.Defaults +import SCons.Environment import SCons.Errors import SCons.Job import SCons.Node @@ -722,6 +724,10 @@ def _main(): SCons.Node.FS.default_fs.set_toplevel_dir(os.getcwd()) + # Now that the top-level directory has been set, + # we can initialize the default Environment. + SCons.Defaults._default_env = SCons.Environment.Environment() + scripts = [] if options.file: scripts.extend(options.file) @@ -742,7 +748,11 @@ def _main(): if not scripts: raise SCons.Errors.UserError, "No SConstruct file found." - SCons.Node.FS.default_fs.set_SConstruct(scripts[0]) + if scripts[0] == "-": + d = SCons.Node.FS.default_fs.getcwd() + else: + d = SCons.Node.FS.default_fs.File(scripts[0]).dir + SCons.Node.FS.default_fs.set_SConstruct_dir(d) class Unbuffered: def __init__(self, file): |
