Use more than one core in deployment script.
Try to detect the number of cores in the system and use that value for make -j. Gives a noticable speedup depending on the system (OS X doesn't seem to benefit from it). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28859 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8205e54abd
commit
ee3fc61a48
1 changed files with 12 additions and 1 deletions
|
@ -59,6 +59,13 @@ except ImportError:
|
||||||
print "Fatal: This script requires the which package to run."
|
print "Fatal: This script requires the which package to run."
|
||||||
print " See http://code.google.com/p/which/."
|
print " See http://code.google.com/p/which/."
|
||||||
sys.exit(-5)
|
sys.exit(-5)
|
||||||
|
cpus = 1
|
||||||
|
try:
|
||||||
|
import multiprocessing
|
||||||
|
cpus = multiprocessing.cpu_count()
|
||||||
|
print "Info: %s cores found." % cpus
|
||||||
|
except ImportError:
|
||||||
|
print "Warning: multiprocessing module not found. Assuming 1 core."
|
||||||
|
|
||||||
# == Global stuff ==
|
# == Global stuff ==
|
||||||
# Windows nees some special treatment. Differentiate between program name
|
# Windows nees some special treatment. Differentiate between program name
|
||||||
|
@ -223,7 +230,11 @@ def qmake(qmake="qmake", projfile=project, wd=".", static=True):
|
||||||
def build(wd="."):
|
def build(wd="."):
|
||||||
# make
|
# make
|
||||||
print "Building ..."
|
print "Building ..."
|
||||||
output = subprocess.Popen([make], stdout=subprocess.PIPE, cwd=wd)
|
command = [make]
|
||||||
|
if cpus > 1:
|
||||||
|
command.append("-j")
|
||||||
|
command.append(str(cpus))
|
||||||
|
output = subprocess.Popen(command, stdout=subprocess.PIPE, cwd=wd)
|
||||||
while True:
|
while True:
|
||||||
c = output.stdout.readline()
|
c = output.stdout.readline()
|
||||||
sys.stdout.write(".")
|
sys.stdout.write(".")
|
||||||
|
|
Loading…
Reference in a new issue