summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-02-21 17:31:10 (GMT)
committerSteven Knight <knight@baldmt.com>2002-02-21 17:31:10 (GMT)
commit53bf767e4ba2810d5880d319cc9ac2bf4d4f2590 (patch)
tree0d401d4e0051d89b89aab01071a9bd6590ec1362 /src
parent8a409f003098ddf55e86fdfc197c437a144558f5 (diff)
downloadSCons-53bf767e4ba2810d5880d319cc9ac2bf4d4f2590.zip
SCons-53bf767e4ba2810d5880d319cc9ac2bf4d4f2590.tar.gz
SCons-53bf767e4ba2810d5880d319cc9ac2bf4d4f2590.tar.bz2
Fix the --debug=pdb option on Windows.
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt2
-rw-r--r--src/engine/SCons/Script/__init__.py16
2 files changed, 9 insertions, 9 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index c30e871..4643b9a 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -71,6 +71,8 @@ RELEASE 0.05 -
- Fix the -c option so it doesn't stop removing targets if one doesn't
already exist.
+ - Fix the --debug=pdb option when run on Windows NT.
+
From Steve Leblanc:
- Add support for the -u option.
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index aa4ecb4..529729e 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -376,18 +376,16 @@ def options_init():
def opt_debug(opt, arg):
global print_tree
if arg == "pdb":
- if sys.platform == 'win32':
- lib_dir = os.path.join(sys.exec_prefix, "lib")
- else:
- lib_dir = os.path.join(sys.exec_prefix,
- "lib",
- "python" + sys.version[0:3])
- args = [ sys.executable, os.path.join(lib_dir, "pdb.py") ] + \
+ args = [ sys.executable, "pdb.py" ] + \
filter(lambda x: x != "--debug=pdb", sys.argv)
if sys.platform == 'win32':
- ret = os.spawnve(os.P_WAIT, cmd_interp, args, env)
- sys.exit(ret)
+ args[1] = os.path.join(sys.exec_prefix, "lib", "pdb.py")
+ sys.exit(os.spawnve(os.P_WAIT, args[0], args, os.environ))
else:
+ args[1] = os.path.join(sys.exec_prefix,
+ "lib",
+ "python" + sys.version[0:3],
+ "pdb.py")
os.execvpe(args[0], args, os.environ)
elif arg == "tree":
print_tree = 1