Fix the case where the number of jobs is less than the

number of threads.  In that case make the number of threads
equal to the number of jobs and launch one jobs on each
thread.  This makes things work like make -j.

llvm-svn: 127045
This commit is contained in:
David Greene 2011-03-04 23:02:52 +00:00
parent 94626fc599
commit 125709b0ea

View File

@ -650,7 +650,8 @@ class Builder(threading.Thread):
def configure(self, component, srcdir, builddir, flags, env):
self.logger.debug("Configure " + str(flags))
self.logger.debug("Configure " + str(flags) + " " + str(srcdir) + " -> "
+ str(builddir))
configure_files = dict(
llvm=[(srcdir + "/configure", builddir + "/Makefile")],
@ -721,8 +722,16 @@ branch_abbrev = get_path_abbrevs(set(options.branch))
work_queue = queue.Queue()
for t in range(options.threads):
jobs = options.jobs // options.threads
jobs = options.jobs // options.threads
if jobs == 0:
jobs = 1
numthreads = options.threads
if jobs < numthreads:
numthreads = jobs
jobs = 1
for t in range(numthreads):
builder = Builder(work_queue, jobs,
build_abbrev, source_abbrev, branch_abbrev,
options)