diff options
| author | Steven Knight <knight@baldmt.com> | 2003-03-15 05:30:41 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2003-03-15 05:30:41 (GMT) |
| commit | 127d61ac6d0a272bf82cbcaf5923b4ddd302ec7e (patch) | |
| tree | 518b959654a5e9119b51d229b64a31ca90e4e4f7 /src | |
| parent | a5a29f951bbc993337b8d204d95251cab47c65f6 (diff) | |
| download | SCons-127d61ac6d0a272bf82cbcaf5923b4ddd302ec7e.zip SCons-127d61ac6d0a272bf82cbcaf5923b4ddd302ec7e.tar.gz SCons-127d61ac6d0a272bf82cbcaf5923b4ddd302ec7e.tar.bz2 | |
Change the default SConscriptChdir() behavior to NOT chdir to the SConscript directory.
Diffstat (limited to 'src')
| -rw-r--r-- | src/CHANGES.txt | 3 | ||||
| -rw-r--r-- | src/RELEASE.txt | 9 | ||||
| -rw-r--r-- | src/engine/SCons/Script/SConscript.py | 13 |
3 files changed, 23 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index a6406a7..ca480de 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -75,6 +75,9 @@ RELEASE 0.12 - XXX This allows you to build in another directory by simply changing there and pointing at the SConstruct file in another directory. + - Change the default SConscriptChdir() behavior to change to the + SConscript directory while it's being read. + From Lachlan O'Dea: - Add SharedObject() support to the masm tool. diff --git a/src/RELEASE.txt b/src/RELEASE.txt index 535384d..8ae7dfb 100644 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -25,6 +25,15 @@ RELEASE 0.12 - XXX This is the twelfth alpha release of SCons. Please consult the CHANGES.txt file for a list of specific changes since last release. + Please note the following important changes since release 0.11: + + - The default behavior of SCons is now to change to the directory in + which an SConscript file resides while reading the SConscript file. + To disable this and restore the previous behavior of staying in the + top-level directory, specify the following in your SConstruct file: + + SConscriptChdir(0) + Please note the following important changes since release 0.10: - The default suffix for shared object files when using gcc has diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index ab071e0..8dd4ef3 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -61,7 +61,7 @@ launch_dir = os.path.abspath(os.curdir) global_exports = {} # chdir flag -sconscript_chdir = 0 +sconscript_chdir = 1 def SConscriptChdir(flag): global sconscript_chdir @@ -232,7 +232,16 @@ def SConscript(*ls, **kw): # in different Repositories. For now, cross that # bridge when someone comes to it. ldir = default_fs.Dir(f.dir.get_path(sd)) - default_fs.chdir(ldir, change_os_dir=sconscript_chdir) + try: + default_fs.chdir(ldir, change_os_dir=sconscript_chdir) + except OSError: + # There was no local directory, so we should be + # able to chdir to the Repository directory. + # Note that we do this directly, not through + # default_fs.chdir(), because we still need to + # interpret the stuff within the SConscript file + # relative to where we are logically. + os.chdir(f.rfile().dir.abspath) # Append the SConscript directory to the beginning # of sys.path so Python modules in the SConscript |
