summaryrefslogtreecommitdiffstats
path: root/tools/buildman/control.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/buildman/control.py')
-rw-r--r--tools/buildman/control.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index cfad535fcb..75b6498e65 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -14,6 +14,8 @@ import gitutil
import patchstream
import terminal
import toolchain
+import command
+import subprocess
def GetPlural(count):
"""Returns a plural 's' if count is not 1"""
@@ -108,6 +110,15 @@ def DoBuildman(options, args):
sys.exit(1)
# Work out what subset of the boards we are building
+ board_file = os.path.join(options.git, 'boards.cfg')
+ if not os.path.exists(board_file):
+ print 'Could not find %s' % board_file
+ status = subprocess.call([os.path.join(options.git,
+ 'tools/genboardscfg.py')])
+ if status != 0:
+ print >> sys.stderr, "Failed to generate boards.cfg"
+ sys.exit(1)
+
boards = board.Boards()
boards.ReadBoards(os.path.join(options.git, 'boards.cfg'))
why_selected = boards.SelectBoards(args)
@@ -144,10 +155,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
@@ -157,6 +174,8 @@ def DoBuildman(options, args):
else:
builder.force_build = options.force_build
builder.force_build_failures = options.force_build_failures
+ builder.force_reconfig = options.force_reconfig
+ builder.in_tree = options.in_tree
# Work out which boards to build
board_selected = boards.GetSelectedDict()