summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-03-22 08:31:26 (GMT)
committerSteven Knight <knight@baldmt.com>2003-03-22 08:31:26 (GMT)
commit3be8585d1be52d25020b93d99c333d9c9d577b51 (patch)
tree1841b7b005e680ba16d9a897e759774390a1583c /src/engine/SCons/Script
parent5ea9b7416ae70c3a4678bcf337bebd41b944cf86 (diff)
downloadSCons-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.py9
-rw-r--r--src/engine/SCons/Script/__init__.py12
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):