summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-12-10 18:17:13 (GMT)
committerSteven Knight <knight@baldmt.com>2002-12-10 18:17:13 (GMT)
commiteec2b45582390844927b2332ebd7b2dda05045a4 (patch)
tree2ea1ae0e48c647d330e968aa590d9602082eddd9 /src/engine/SCons/Script/__init__.py
parent0199971b2f990483892023a98e0203de85212105 (diff)
downloadSCons-eec2b45582390844927b2332ebd7b2dda05045a4.zip
SCons-eec2b45582390844927b2332ebd7b2dda05045a4.tar.gz
SCons-eec2b45582390844927b2332ebd7b2dda05045a4.tar.bz2
Add functions for getting and setting the number of jobs. (Anthony Roach)
Diffstat (limited to 'src/engine/SCons/Script/__init__.py')
-rw-r--r--src/engine/SCons/Script/__init__.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 338b98f..a0c2f7d 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -178,6 +178,7 @@ exit_status = 0 # exit status, assume success by default
profiling = 0
repositories = []
sig_module = None
+num_jobs = 1 # this is modifed by SConscript.SetJobs()
def print_it(text):
print text
@@ -190,6 +191,12 @@ class PrintHelp(Exception):
# utility functions
+def get_num_jobs(options):
+ if hasattr(options, 'num_jobs'):
+ return options.num_jobs
+ else:
+ return num_jobs
+
def get_all_children(node): return node.all_children(None)
def get_derived_children(node):
@@ -604,8 +611,6 @@ class OptParser(OptionParser):
opt, arglist = OptionParser.parse_args(self, args, values)
if opt.implicit_deps_changed or opt.implicit_deps_unchanged:
opt.implicit_cache = 1
- if not hasattr(opt, "num_jobs"):
- setattr(opt, "num_jobs", 1)
return opt, arglist
@@ -626,6 +631,7 @@ def _main():
# it's OK if there's no SCONSFLAGS
pass
parser = OptParser()
+ global options
options, args = parser.parse_args(all_args)
if options.help_msg:
@@ -835,7 +841,7 @@ def _main():
display("scons: Building targets ...")
taskmaster = SCons.Taskmaster.Taskmaster(nodes, task_class, calc)
- jobs = SCons.Job.Jobs(options.num_jobs, taskmaster)
+ jobs = SCons.Job.Jobs(get_num_jobs(options), taskmaster)
try:
jobs.run()