buildman: Add an option to just create the config

Normally buildman does a full build of a board. This includes creating the
u-boot.cfg file which contains all the configuration options. Buildman uses
this file with the -K option, to show differences in effective configuration
for each commit.

Doing a full build of U-Boot just to create the u-boot.cfg file is wasteful.
Add a -D option which causes buildman to only create the configuration. This
is enough to support use of -K and can be done much more quickly (typically
5-10 times faster).

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2016-11-13 14:25:51 -07:00
parent 1bd876301b
commit b50113f373
4 changed files with 17 additions and 7 deletions

View file

@ -207,7 +207,8 @@ class Builder:
def __init__(self, toolchains, base_dir, git_dir, num_threads, num_jobs,
gnu_make='make', checkout=True, show_unknown=True, step=1,
no_subdirs=False, full_path=False, verbose_build=False,
incremental=False, per_board_out_dir=False):
incremental=False, per_board_out_dir=False,
config_only=False):
"""Create a new Builder object
Args:
@ -230,6 +231,7 @@ class Builder:
mrproper when configuring
per_board_out_dir: Build in a separate persistent directory per
board rather than a thread-specific directory
config_only: Only configure each build, don't build it
"""
self.toolchains = toolchains
self.base_dir = base_dir
@ -257,6 +259,7 @@ class Builder:
self.no_subdirs = no_subdirs
self.full_path = full_path
self.verbose_build = verbose_build
self.config_only = config_only
self.col = terminal.Color()