import multiprocessing
import os
import shutil
+import subprocess
import sys
-import board
-import bsettings
-from builder import Builder
-import gitutil
-import patchstream
-import terminal
-from terminal import Print
-import toolchain
-import command
-import subprocess
+from buildman import board
+from buildman import bsettings
+from buildman import toolchain
+from buildman.builder import Builder
+from patman import command
+from patman import gitutil
+from patman import patchstream
+from patman import terminal
+from patman.terminal import Print
def GetPlural(count):
"""Returns a plural 's' if count is not 1"""
for warning in board_warnings:
print(col.Color(col.YELLOW, warning))
-def ShowToolchainInfo(boards, toolchains, print_arch, print_prefix):
+def ShowToolchainPrefix(boards, toolchains):
"""Show information about a the tool chain used by one or more boards
- The function checks that all boards use the same toolchain.
+ The function checks that all boards use the same toolchain, then prints
+ the correct value for CROSS_COMPILE.
Args:
boards: Boards object containing selected boards
toolchains: Toolchains object containing available toolchains
- print_arch: True to print ARCH value
- print_prefix: True to print CROSS_COMPILE value
Return:
None on success, string error message otherwise
return 'Supplied boards must share one toolchain'
return False
tc = tc_set.pop()
- if print_arch:
- print(tc.GetEnvArgs(toolchain.VAR_ARCH))
- if print_prefix:
- print(tc.GetEnvArgs(toolchain.VAR_CROSS_COMPILE))
+ print(tc.GetEnvArgs(toolchain.VAR_CROSS_COMPILE))
return None
def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
print()
return 0
+ if options.incremental:
+ print(col.Color(col.RED,
+ 'Warning: -I has been removed. See documentation'))
+ if not options.output_dir:
+ if options.work_in_output:
+ sys.exit(col.Color(col.RED, '-w requires that you specify -o'))
+ options.output_dir = '..'
+
# Work out what subset of the boards we are building
if not boards:
if not os.path.exists(options.output_dir):
if not len(selected):
sys.exit(col.Color(col.RED, 'No matching boards found'))
- if options.print_arch or options.print_prefix:
- err = ShowToolchainInfo(boards, toolchains, options.print_arch,
- options.print_prefix)
+ if options.print_prefix:
+ err = ShowToolchainPrefix(boards, toolchains)
if err:
sys.exit(col.Color(col.RED, err))
return 0
show_unknown=options.show_unknown, step=options.step,
no_subdirs=options.no_subdirs, full_path=options.full_path,
verbose_build=options.verbose_build,
- incremental=options.incremental,
+ mrproper=options.mrproper,
per_board_out_dir=options.per_board_out_dir,
config_only=options.config_only,
squash_config_y=not options.preserve_config_y,
commits = None
Print(GetActionSummary(options.summary, commits, board_selected,
- options))
+ options))
# We can't show function sizes without board details at present
if options.show_bloat:
options.show_detail = True
- builder.SetDisplayOptions(options.show_errors, options.show_sizes,
- options.show_detail, options.show_bloat,
- options.list_error_boards,
- options.show_config,
- options.show_environment)
+ builder.SetDisplayOptions(
+ options.show_errors, options.show_sizes, options.show_detail,
+ options.show_bloat, options.list_error_boards, options.show_config,
+ options.show_environment, options.filter_dtb_warnings,
+ options.filter_migration_warnings)
if options.summary:
builder.ShowSummary(commits, board_selected)
else:
fail, warned = builder.BuildBoards(commits, board_selected,
options.keep_outputs, options.verbose)
if fail:
- return 128
+ return 100
elif warned and not options.ignore_warnings:
- return 129
+ return 101
return 0