From d2ce658de527af4eaa193ccb7c4d881e02a31257 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 1 Dec 2014 17:34:07 -0700 Subject: 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 --- tools/buildman/builder.py | 4 +++- tools/buildman/builderthread.py | 3 ++- tools/buildman/cmdline.py | 2 ++ tools/buildman/control.py | 3 ++- 4 files changed, 9 insertions(+), 3 deletions(-) (limited to 'tools/buildman') diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py index 93d048b..1b0ad99 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 a803481..efb62f1 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 e884e19..e8a6dad 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 a7c5822..720b978 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 -- cgit v1.1