Specify the number of threads to run simultaneously. If not specified,
the number of threads is the same as the number of CPU cores.
+ -v, --verbose
+ Show any build errors as boards are built
+
To see the complete list of supported options, run
$ tools/moveconfig.py -h
pass
shutil.rmtree(self.build_dir)
- def add(self, defconfig):
+ def add(self, defconfig, num, total):
"""Assign a new subprocess for defconfig and add it to the slot.
If the slot is vacant, create a new subprocess for processing the
stderr=subprocess.PIPE)
self.defconfig = defconfig
self.state = STATE_DEFCONFIG
+ self.num = num
+ self.total = total
return True
def poll(self):
COLOR_LIGHT_RED,
self.defconfig,
errmsg),
+ if self.options.verbose:
+ print >> sys.stderr, color_text(self.options.color,
+ COLOR_LIGHT_CYAN, errout)
if self.options.exit_on_error:
sys.exit("Exit on error.")
else:
if self.state == STATE_AUTOCONF:
self.parser.update_defconfig(self.defconfig)
+ print ' %d defconfigs out of %d\r' % (self.num + 1, self.total),
+ sys.stdout.flush()
+
"""Save off the defconfig in a consistent way"""
cmd = list(self.make_cmd)
cmd.append('savedefconfig')
for i in range(options.jobs):
self.slots.append(Slot(config_attrs, options, devnull, make_cmd))
- def add(self, defconfig):
+ def add(self, defconfig, num, total):
"""Add a new subprocess if a vacant slot is found.
Arguments:
Return True on success or False on failure
"""
for slot in self.slots:
- if slot.add(defconfig):
+ if slot.add(defconfig, num, total):
return True
return False
# Main loop to process defconfig files:
# Add a new subprocess into a vacant slot.
# Sleep if there is no available slot.
- for defconfig in defconfigs:
- while not slots.add(defconfig):
+ for i, defconfig in enumerate(defconfigs):
+ while not slots.add(defconfig, i, len(defconfigs)):
while not slots.available():
# No available slot: sleep for a while
time.sleep(SLEEP_TIME)
while not slots.empty():
time.sleep(SLEEP_TIME)
+ print ''
slots.show_failed_boards()
def bad_recipe(filename, linenum, msg):
help='only cleanup the headers')
parser.add_option('-j', '--jobs', type='int', default=cpu_count,
help='the number of jobs to run simultaneously')
+ parser.add_option('-v', '--verbose', action='store_true', default=False,
+ help='show any build errors as boards are built')
parser.usage += ' recipe_file\n\n' + \
'The recipe_file should describe config options you want to move.\n' + \
'Each line should contain config_name, type, default_value\n\n' + \