summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-04-05 03:28:51 (GMT)
committerSteven Knight <knight@baldmt.com>2002-04-05 03:28:51 (GMT)
commit863885a0df1f83b7e5b29f0370a865b4da330e24 (patch)
tree8733e9467a47c940d64b4940c21a763a9278af3e /src/engine/SCons/Script
parent3df4ee57235d30950d07b0b498387d5e16e67e6d (diff)
downloadSCons-863885a0df1f83b7e5b29f0370a865b4da330e24.zip
SCons-863885a0df1f83b7e5b29f0370a865b4da330e24.tar.gz
SCons-863885a0df1f83b7e5b29f0370a865b4da330e24.tar.bz2
Fix various problems with --profile (Anthony Roach)
Diffstat (limited to 'src/engine/SCons/Script')
-rw-r--r--src/engine/SCons/Script/__init__.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 143fa19..126eb6b 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -156,6 +156,7 @@ print_dtree = 0
climb_up = 0
target_top = None
exit_status = 0 # exit status, assume success by default
+profiling = 0
# utility functions
@@ -530,9 +531,12 @@ def options_init():
help = "Print internal environments/objects.")
def opt_profile(opt, arg):
- sys.argv = filter(lambda x: x[0:10] != "--profile=", sys.argv)
- import profile
- profile.run('SCons.Script.main()', arg)
+ global profiling
+ if not profiling:
+ profiling = 1
+ import profile
+ profile.run('SCons.Script.main()', arg)
+ sys.exit(exit_status)
Option(func = opt_profile,
long = ['profile'], arg = 'FILE',