diff options
author | Steven Knight <knight@baldmt.com> | 2002-09-30 16:53:47 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-09-30 16:53:47 (GMT) |
commit | 752502105f63c91ee1f87cc35b83634c6bc42c3b (patch) | |
tree | 0b603afdbd7d32b8aa3e7482dc72badf69345874 /src/engine | |
parent | f6141b3f503c8f78fca191bfd59d9785cd81bf10 (diff) | |
download | SCons-752502105f63c91ee1f87cc35b83634c6bc42c3b.zip SCons-752502105f63c91ee1f87cc35b83634c6bc42c3b.tar.gz SCons-752502105f63c91ee1f87cc35b83634c6bc42c3b.tar.bz2 |
Add output to tell people when we're reading SConscript files versus when we're building targets.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/SCons/Script/SConscript.py | 11 | ||||
-rw-r--r-- | src/engine/SCons/Script/__init__.py | 32 |
2 files changed, 29 insertions, 14 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index a8ce5d7..9ecd3d7 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -1,4 +1,4 @@ -"""engine.SCons.SConscript +"""SCons.Script.SConscript This module defines the Python API provided to SConscript and SConstruct files. @@ -47,8 +47,10 @@ import os.path import string import sys +def do_nothing(text): pass +HelpFunction = do_nothing + default_targets = [] -print_help = 0 arguments = {} launch_dir = os.path.abspath(os.curdir) @@ -216,10 +218,7 @@ def Local(*targets): t.set_local() def Help(text): - if print_help: - print text - print "Use scons -H for help about command-line options." - sys.exit(0) + HelpFunction(text) def BuildDir(build_dir, src_dir, duplicate=1): SCons.Node.FS.default_fs.BuildDir(build_dir, src_dir, duplicate) diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index f0ac039..9fd1327 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -1,4 +1,4 @@ -"""engine.SCons.script +"""SCons.Script This file implements the main() function used by the scons script. @@ -179,6 +179,9 @@ profiling = 0 max_drift = None repositories = [] +# Exceptions for this module +class PrintHelp(Exception): + pass # utility functions @@ -503,9 +506,11 @@ def options_init(): help = "Read FILE as the top-level SConstruct file.") def opt_help(opt, arg): - global help_option + global help_option help_option = 'h' - SCons.Script.SConscript.print_help = 1 + def raisePrintHelp(text): + raise PrintHelp, text + SCons.Script.SConscript.HelpFunction = raisePrintHelp Option(func = opt_help, short = 'h', long = ['help'], @@ -939,11 +944,20 @@ def _main(): for rep in repositories: SCons.Node.FS.default_fs.Repository(rep) - start_time = time.time() - for script in scripts: - SCons.Script.SConscript.SConscript(script) - global sconscript_time - sconscript_time = time.time() - start_time + print "scons: Reading SConscript files ..." + try: + start_time = time.time() + for script in scripts: + SCons.Script.SConscript.SConscript(script) + global sconscript_time + sconscript_time = time.time() - start_time + except PrintHelp, text: + print "scons: done reading SConscript files." + print text + print "Use scons -H for help about command-line options." + sys.exit(0) + + print "scons: done reading SConscript files." SCons.Node.FS.default_fs.chdir(SCons.Node.FS.default_fs.Top) @@ -1011,6 +1025,7 @@ def _main(): calc = SCons.Sig.default_calc + print "scons: Building targets ..." taskmaster = SCons.Taskmaster.Taskmaster(nodes, task_class, calc) jobs = SCons.Job.Jobs(num_jobs, taskmaster) @@ -1018,6 +1033,7 @@ def _main(): try: jobs.run() finally: + print "scons: done building targets." SCons.Sig.write() def main(): |