summaryrefslogtreecommitdiff
path: root/tools/buildman
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-12-01 17:34:07 -0700
committerSimon Glass <sjg@chromium.org>2015-01-14 21:16:54 -0800
commitd2ce658de527af4eaa193ccb7c4d881e02a31257 (patch)
tree190ac2823919ddc859631a21f677f4d4b8e781ff /tools/buildman
parent827e37b55869933951e7e7db3693d4df001fd609 (diff)
buildman: Add an option to write the full build output
Normally buildman runs with 'make -s' meaning that only errors and warnings appear in the log file. Add a -V option to run make in verbose mode, and with V=1, causing a full build log to be created. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/buildman')
-rw-r--r--tools/buildman/builder.py4
-rw-r--r--tools/buildman/builderthread.py3
-rw-r--r--tools/buildman/cmdline.py2
-rw-r--r--tools/buildman/control.py3
4 files changed, 9 insertions, 3 deletions
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 93d048b5682..1b0ad992759 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -175,7 +175,7 @@ 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):
+ no_subdirs=False, full_path=False, verbose_build=False):
"""Create a new Builder object
Args:
@@ -193,6 +193,7 @@ class Builder:
source for a single board
full_path: Return the full path in CROSS_COMPILE and don't set
PATH
+ verbose_build: Run build with V=1 and don't use 'make -s'
"""
self.toolchains = toolchains
self.base_dir = base_dir
@@ -220,6 +221,7 @@ class Builder:
self._error_lines = 0
self.no_subdirs = no_subdirs
self.full_path = full_path
+ self.verbose_build = verbose_build
self.col = terminal.Color()
diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index a803481458b..efb62f16d70 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -197,7 +197,8 @@ class BuilderThread(threading.Thread):
src_dir = os.getcwd()
else:
args.append('O=build')
- args.append('-s')
+ if not self.builder.verbose_build:
+ args.append('-s')
if self.builder.num_jobs is not None:
args.extend(['-j', str(self.builder.num_jobs)])
config_args = ['%s_defconfig' % brd.target]
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index e884e190e3a..e8a6dadd1c7 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -82,6 +82,8 @@ def ParseArgs():
default=False, help='Show boards with unknown build result')
parser.add_option('-v', '--verbose', action='store_true',
default=False, help='Show build results while the build progresses')
+ parser.add_option('-V', '--verbose-build', action='store_true',
+ default=False, help='Run make with V=1, showing all output')
parser.add_option('-x', '--exclude', dest='exclude',
type='string', action='append',
help='Specify a list of boards to exclude, separated by comma')
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index a7c58227f0b..720b978b238 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -248,7 +248,8 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
builder = Builder(toolchains, output_dir, options.git_dir,
options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
show_unknown=options.show_unknown, step=options.step,
- no_subdirs=options.no_subdirs, full_path=options.full_path)
+ no_subdirs=options.no_subdirs, full_path=options.full_path,
+ verbose_build=options.verbose_build)
builder.force_config_on_failure = not options.quick
if make_func:
builder.do_make = make_func