| Index: third_party/scons/scons-local/SCons/Script/SConscript.py
|
| ===================================================================
|
| --- third_party/scons/scons-local/SCons/Script/SConscript.py (revision 7505)
|
| +++ third_party/scons/scons-local/SCons/Script/SConscript.py (working copy)
|
| @@ -28,7 +28,7 @@
|
| # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| #
|
|
|
| -__revision__ = "src/engine/SCons/Script/SConscript.py 3603 2008/10/10 05:46:45 scons"
|
| +__revision__ = "src/engine/SCons/Script/SConscript.py 3842 2008/12/20 22:59:52 scons"
|
|
|
| import SCons
|
| import SCons.Action
|
| @@ -279,7 +279,20 @@
|
| fs.chdir(frame.prev_dir, change_os_dir=0)
|
| rdir = frame.prev_dir.rdir()
|
| rdir._create() # Make sure there's a directory there.
|
| - os.chdir(rdir.get_abspath())
|
| + try:
|
| + os.chdir(rdir.get_abspath())
|
| + except OSError, e:
|
| + # We still couldn't chdir there, so raise the error,
|
| + # but only if actions are being executed.
|
| + #
|
| + # If the -n option was used, the directory would *not*
|
| + # have been created and we should just carry on and
|
| + # let things muddle through. This isn't guaranteed
|
| + # to work if the SConscript files are reading things
|
| + # from disk (for example), but it should work well
|
| + # enough for most configurations.
|
| + if SCons.Action.execute_actions:
|
| + raise e
|
|
|
| results.append(frame.retval)
|
|
|
|
|