buildman: make sure to invoke GNU Make
Since the command name 'make' may not be GNU Make on some platforms such as FreeBSD, buildman should call scripts/show-gnu-make to get the command name for GNU MAKE (and error out if it is not found). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Jeroen Hofstee <jeroen@myspectrum.nl>
This commit is contained in:
parent
e18fd9405c
commit
9979692383
@ -576,7 +576,7 @@ class Builder:
|
||||
self.func_sizes = func_sizes
|
||||
|
||||
def __init__(self, toolchains, base_dir, git_dir, num_threads, num_jobs,
|
||||
checkout=True, show_unknown=True, step=1):
|
||||
gnu_make='make', checkout=True, show_unknown=True, step=1):
|
||||
"""Create a new Builder object
|
||||
|
||||
Args:
|
||||
@ -585,6 +585,7 @@ class Builder:
|
||||
git_dir: Git directory containing source repository
|
||||
num_threads: Number of builder threads to run
|
||||
num_jobs: Number of jobs to run at once (passed to make as -j)
|
||||
gnu_make: the command name of GNU Make.
|
||||
checkout: True to check out source, False to skip that step.
|
||||
This is used for testing.
|
||||
show_unknown: Show unknown boards (those not built) in summary
|
||||
@ -596,6 +597,7 @@ class Builder:
|
||||
self.threads = []
|
||||
self.active = True
|
||||
self.do_make = self.Make
|
||||
self.gnu_make = gnu_make
|
||||
self.checkout = checkout
|
||||
self.num_threads = num_threads
|
||||
self.num_jobs = num_jobs
|
||||
@ -700,7 +702,7 @@ class Builder:
|
||||
args: Arguments to pass to make
|
||||
kwargs: Arguments to pass to command.RunPipe()
|
||||
"""
|
||||
cmd = ['make'] + list(args)
|
||||
cmd = [self.gnu_make] + list(args)
|
||||
result = command.RunPipe([cmd], capture=True, capture_stderr=True,
|
||||
cwd=cwd, raise_on_error=False, **kwargs)
|
||||
return result
|
||||
|
@ -14,6 +14,7 @@ import gitutil
|
||||
import patchstream
|
||||
import terminal
|
||||
import toolchain
|
||||
import command
|
||||
|
||||
def GetPlural(count):
|
||||
"""Returns a plural 's' if count is not 1"""
|
||||
@ -144,10 +145,16 @@ def DoBuildman(options, args):
|
||||
if not options.step:
|
||||
options.step = len(series.commits) - 1
|
||||
|
||||
gnu_make = command.Output(os.path.join(options.git,
|
||||
'scripts/show-gnu-make')).rstrip()
|
||||
if not gnu_make:
|
||||
print >> sys.stderr, 'GNU Make not found'
|
||||
sys.exit(1)
|
||||
|
||||
# Create a new builder with the selected options
|
||||
output_dir = os.path.join(options.output_dir, options.branch)
|
||||
builder = Builder(toolchains, output_dir, options.git_dir,
|
||||
options.threads, options.jobs, checkout=True,
|
||||
options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
|
||||
show_unknown=options.show_unknown, step=options.step)
|
||||
builder.force_config_on_failure = not options.quick
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user