summaryrefslogtreecommitdiff
path: root/tools/buildman/buildman.py
Commit message (Collapse)AuthorAgeLines
* buildman: Set up bsettings outside the control moduleSimon Glass2014-09-09-0/+2
| | | | | | | Move the bsettings code back to the main buildman.py file, so we can do something different when testing. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Add a functional testSimon Glass2014-09-09-12/+5
| | | | | | | | | | | | | Buildman currently lacks testing in many areas, including its use of git, make and many command-line flags. Add a functional test which covers some of these areas. So far it does a fake 'build' of all boards for the current source tree. This version reads the real ~/.buildman and boards.cfg files. Future work will improve this. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Move full help code into the control moduleSimon Glass2014-09-09-6/+0
| | | | | | | There is no good reason to keep this code separate. Move it into control.py so it is easier to test. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Move the command line code into its own fileSimon Glass2014-09-09-71/+2
| | | | | | | | We want to be able to issue parser commands from within buildman for test purposes. Move the parser code into its own file so we don't end up needing the buildman and test modules to reference each other. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Add an option to show which boards caused which errorsSimon Glass2014-09-05-0/+2
| | | | | | | | | | | | | | | | | Add a -l option to display a list of offending boards against each error/warning line. The information will be shown in brackets as below: 02: wip sandbox: + sandbox arm: + seaboard +(sandbox) arch/sandbox/cpu/cpu.c: In function 'timer_get_us': +(sandbox) arch/sandbox/cpu/cpu.c:40:9: warning: unused variable 'i' [-Wunused-variable] +(seaboard) board/nvidia/seaboard/seaboard.c: In function 'pin_mux_mmc': +(seaboard) board/nvidia/seaboard/seaboard.c:36:9: warning: unused variable 'fred' [-Wunused-variable] +(seaboard) int fred; +(seaboard) ^ Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Implement an option to exclude boards from the buildSimon Glass2014-09-05-0/+3
| | | | | | | | | | | | Some boards are known to be broken and it is convenient to be able to exclude them from the build. Add an --exclude option to specific boards to exclude. This uses the same matching rules as the normal 'include' arguments, and is a comma- separated list of regular expressions. Suggested-by: York Sun <yorksun@freescale.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Set the return code to indicate build resultSimon Glass2014-09-05-1/+2
| | | | | | | | When buildman finds errors/warnings when building, set the return code to indicate this. Suggested-by: York Sun <yorksun@freescale.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: refactor help messageMasahiro Yamada2014-08-22-1/+1
| | | | | | | | | | | | "buildman [options]" is displayed by default. Append the rest of help messages to parser.usage instead of replacing it. Besides, "-b <branch>" is not mandatory since commit fea5858e. Drop it from the usage. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* buildman: Add an option to specify the buildman config fileSimon Glass2014-08-13-0/+2
| | | | | | | | Add a new --config-file option (-G) to specify a different configuration file from the default ~/.buildman. Reported-by: Tom Rini <trini@ti.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Add verbose option to display errors as they happenSimon Glass2014-08-13-0/+2
| | | | | | | | | | | Normally buildman operates in two passes - one to do the build and another to summarise the errors. Add a verbose option (-v) to display build problems as they happen. With -e also given, this will display errors too. When building the current source tree (rather than a list of commits in a branch), both -v and -e are enabled automatically. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Sort command line optionsSimon Glass2014-08-13-6/+6
| | | | | | These options have got slightly out of order. Fix them. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Support in-tree buildsSimon Glass2014-07-28-0/+3
| | | | | | | | | | | | At present buildman always builds out-of-tree, that is it uses a separate output directory from the source directory. Normally this is what you want, but it is important that in-tree builds work also. Some Makefile changes may break this. Add a -i option to tell buildman to use in-tree builds, so that it is easy to test this feature. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Add -C option to force a reconfigure for each commitSimon Glass2014-07-28-0/+3
| | | | | | | | | | | | | | Normally buildman wil try to configure U-Boot for a particular board on the first commit that it builds in a series. Subsequent commits are built without reconfiguring which normally works. Where it doesn't, buildman automatically reconfigures and retries. To fully emulate the way MAKEALL works, we should have an option to disable this optimisation. Add a -C option to cause buildman to always reconfigure on each commit. Signed-off-by: Simon Glass <sjg@chromium.org>
* buildman: Add -F flag to retry failed buildsSimon Glass2014-07-23-0/+3
| | | | | | | | | | | | | | | | | | | | Generally a build failure with a particular commit cannot be fixed except by changing that commit. Changing the commit will automatically cause buildman to retry when you run it again: buildman sees that the commit hash is different and that it has no previous build result for the new commit hash. However sometimes the build failure is due to a toolchain issue or some other environment problem. In that case, retrying failed builds may yield a different result. Add a flag to retry failed builds. This differs from the force rebuild flag (-f) in that it will not rebuild commits which are already marked as succeeded. Series-to: u-boot Change-Id: Iac4306df499d65ff0888b1c60f06fc162a6faad8
* buildman: make output dir configurableDaniel Schwierzeck2014-04-18-0/+3
| | | | | | | | Add an option to specify the output directory to override the default path '../'. This is useful for building in a ramdisk. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* buildman: Use env to pick the python from $PATHJagannadha Sutradharudu Teki2013-10-15-1/+1
| | | | | | | | | | | python used in buildman doesn't need to be placed in /usr/bin/python, So use env to ensure that the interpreter will pick the python from environment. Usefull with several versions of python's installed on system. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com> Acked-by: Simon Glass <sjg@chromium.org>
* buildman: Allow make flags to be specified for each boardSimon Glass2013-10-01-0/+13
| | | | | | | | | | | There are a few make options such as BUILD_TAG which can be provided when building U-Boot. Provide a way for buildman to pass these flags to make also. The flags should be in a [make-flags] section and arranged by target name (the 'target' column in boards.cfg. See the README for more details. Signed-off-by: Simon Glass <sjg@chromium.org>
* Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-24-17/+1
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* buildman - U-Boot multi-threaded builder and summary toolSimon Glass2013-04-04-0/+126
This tool handles building U-Boot to check that you have not broken it with your patch series. It can build each individual commit and report which boards fail on which commits, and which errors come up. It also shows differences in image sizes due to particular commits. Buildman aims to make full use of multi-processor machines. Documentation and caveats are in tools/buildman/README. Signed-off-by: Simon Glass <sjg@chromium.org>