summaryrefslogtreecommitdiff
path: root/src/engine/SCons/Script/SConscript.py
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2017-10-20 13:42:45 -0700
committerGitHub <noreply@github.com>2017-10-20 13:42:45 -0700
commit45d8610e424ab53faa519e39d04592dcbcb93b09 (patch)
tree41986d1296089a17984af09fe07dce00eb691c01 /src/engine/SCons/Script/SConscript.py
parent9d1dbea5f930d2c86430ddc58eadaa24d0b47803 (diff)
parentf335e6b2af2f554da43d4ae7896bc8fa3a487be7 (diff)
downloadscons-git-45d8610e424ab53faa519e39d04592dcbcb93b09.tar.gz
Merge pull request #16 from bdbaddog/add_sconscript_timing
Add printing time processing each SConscript when --debug=time is specified on command line
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
-rw-r--r--src/engine/SCons/Script/SConscript.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 8fea9c4da..db6552ce0 100644
--- a/src/engine/SCons/Script/SConscript.py
+++ b/src/engine/SCons/Script/SConscript.py
@@ -44,12 +44,15 @@ import SCons.Script.Main
import SCons.Tool
import SCons.Util
+from . import Main
+
import collections
import os
import os.path
import re
import sys
import traceback
+import time
class SConscriptReturn(Exception):
pass
@@ -247,11 +250,17 @@ def _SConscript(fs, *files, **kw):
try:
try:
# _file_ = SCons.Util.to_str(_file_)
+ if Main.print_time:
+ time1 = time.time()
exec(compile(_file_.read(), _file_.name, 'exec'),
call_stack[-1].globals)
except SConscriptReturn:
pass
finally:
+ if Main.print_time:
+ time2 = time.time()
+ print('SConscript:%s took %0.3f ms' % (f.get_abspath(), (time2 - time1) * 1000.0))
+
if old_file is not None:
call_stack[-1].globals.update({__file__:old_file})
else: