summaryrefslogtreecommitdiff
path: root/tools/buildman/README
AgeCommit message (Collapse)Author
2022-11-22buildman: Convert documentation to rSTSimon Glass
Convert the buildman documentation to rST format and include it in the 'build' section. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2022-08-05buildman: Drop a TODO that is doneSimon Glass
Buildman now uses worktrees when available, instead of doing a full clone. This was done in this commit: 76de29fc4f buildman: Use git worktrees instead of git clones when possible Drop the TODO. Signed-off-by: Simon Glass <[email protected]>
2022-08-05buildman: Return an error if there are maintainer warningsSimon Glass
Detect warnings about missing maintain info and return result code 2 in that case. Signed-off-by: Simon Glass <[email protected]>
2022-08-05buildman: Incorporate the genboardscfg.py toolSimon Glass
Bring this tool into buildman, so we don't have to run it separately. The board.cfg file is still produced as part of the build, to save time when doing another build in the same working directory. If it is out of date with respect to the Kconfig, it is updated. Time to regenerate on a recent single-thread machine is 4.6s (1.3s on a 32-thread machine), so we do need some sort of cache if we want buildman to be useful on incremental builds. We could use Python's pickle format but: - it seems useful to allow boards.cfg to be regenerated, at least for a while, in case other tools use it - it is possible to grep the file easily, e.g. to find boards which use a particular SoC (similar to 'buildman -nv <soc>' Signed-off-by: Simon Glass <[email protected]> Suggested-by: Tom Rini <[email protected]>
2022-08-05buildman: Support running from an IDESimon Glass
Add a flag to allow buildman to behave properly for use from an IDE. This shows error/warning output on stderr and drops all summary and progress information. This should normally only be used when building a single board. Fix up a confusing comment for GetResultSummary() while we are here, since we want to use the Outcome object to access the unprocessed error lines from the build. Signed-off-by: Simon Glass <[email protected]>
2022-04-25nds32: Remove the architectureTom Rini
As removal of nds32 has been ack'd for the Linux kernel, remove support here as well. Cc: Rick Chen <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2022-02-08buildman: Allow adjusting board config on the flySimon Glass
Add a -a option to specify changes to the config before the build commences. For example buildman -a ~CONFIG_CMDLINE disables CONFIG_CMDLINE before doing the build. This makes it easier to try things out as well as to write tests without creating a new board or manually manging the .config file. Signed-off-by: Simon Glass <[email protected]>
2021-09-04net: Rename SPL_NET_SUPPORT to SPL_NETSimon Glass
Rename this option so that CONFIG_IS_ENABLED can be used with it. Signed-off-by: Simon Glass <[email protected]>
2021-09-04mmc: Rename MMC_SUPPORT to MMCSimon Glass
Rename these options so that CONFIG_IS_ENABLED can be used with them. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> [trini: Fixup some incorrect renames] Signed-off-by: Tom Rini <[email protected]>
2021-07-28Rename SPL_USB_HOST_SUPPORT to SPL_USB_HOSTSimon Glass
Rename this option so that CONFIG_IS_ENABLED can be used with it. Signed-off-by: Simon Glass <[email protected]>
2021-03-04buildman: Support single-threaded operationSimon Glass
At present even if only a single thread is in use, buildman still uses threading. For some debugging it is helpful to do everything in the main process. Allow -T0 to support this. Signed-off-by: Simon Glass <[email protected]>
2020-07-28buildman: Show the build rate at the endSimon Glass
It is interesting to note the number of builds completed per second to track machine performance and build speed. Add a 'rate' value at the end of the build to show this. Signed-off-by: Simon Glass <[email protected]>
2020-04-26buildman: Make sure that -o is given with -wSimon Glass
It is a bad idea to use the default output directory ('..') with -w since it does a build in that directory and writes various files these. Require that -o is given to avoid this problem. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Change the exit codesSimon Glass
The current exit codes of 128 and 129 are useful in that they do not conflict with those returned by tools, but they are not actually valid. It seems better to pick some codes which work with 'bit bisect run'. Update them to 100 (for errors) and 101 (for warnings). Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Update the TODO itemsSimon Glass
A few of these have been done. Drop those and add some new ideas. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Add an option to ignore migration warningsSimon Glass
These are becoming more common now. They cause boards to show warnings which can be mistaking for compiler warnings. Add a buildman option to ignore them. This option works only with the summary option (-s). It does not affect the build process. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Add an option to ignore device-tree warningsSimon Glass
Unfortunately the plague of device-tree warnings has not lifted. These warnings infiltrate almost every build, adding noise and confusion. Add a buildman option to ignore them. This option works only with the summary option (-s). It does not affect the build process. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Make -I the defaultSimon Glass
At present buildman defaults to running 'mrproper' on every thread before it starts building commits for each board. This can add a delay of about 5 seconds to the start of the process, since the tools and other invariants must be rebuilt. In particular, a build without '-b', to build current source, runs much slower without -I, since any existing build is removed, thus losing the possibility of an incremental build. Partly this behaviour was to avoid strange build-system problems caused by running 'make defconfig' for one board and then one with a different architecture. But these problems were fixed quite a while ago. The -I option (which disabled mrproper) was introduced four years ago and does not seem to cause any problems with builds. So make -I the default and deprecate the option. To allow use of 'mrproper', add a new -m flag. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Update workflow documentation with more detailSimon Glass
Make a few additions and change some wording in the workflow documentation. Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Add the abbreviation for --boardsSimon Glass
This option may be frequency used, so mention that it can be abbreviated to --bo Signed-off-by: Simon Glass <[email protected]>
2020-04-21buildman: Update the 'theory of operation' a littleSimon Glass
Make a few updates to this important section of the documentation, to make things clearer. Signed-off-by: Simon Glass <[email protected]>
2020-04-10buildman: Drop the -a optionSimon Glass
There is no point in setting the ARCH environment variable since the U-Boot build system no-longer uses it. It seems safe to drop this feature since it was only recently added. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2020-04-10buildman: Allow ignoring warnings in the return codeSimon Glass
Sometimes we don't want buildman to return failure if it seems warnings. Add a -W option to support this. If buildman detects warnings (and no errors) it will return an exit code of 0 (success). Note that the definition of 'warnings' includes the migration warnings produced by U-Boot, such as: ===================== WARNING ====================== This board does not use CONFIG_DM_MMC. Please update ... ==================================================== Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2020-04-10bulidman: Add support for a simple buildSimon Glass
It is useful to run a simple build and put all the output in a single directory. Add a -w option to support this. Signed-off-by: Simon Glass <[email protected]>
2019-12-10buildman: Add options to get the arch and toolchain infoSimon Glass
Sometimes it is useful for external tools to use buildman to provide the toolchain information. Add an -a option which shows the value to use for the ARCH environment variable, and -A which does the same for CROSS_COMPILE Signed-off-by: Simon Glass <[email protected]>
2019-07-24buildman: fix invocation examples typosBaruch Siach
Also, make command line example indentation consistent. Signed-off-by: Baruch Siach <[email protected]>
2019-01-14buildman: Add support for building with clangSimon Glass
Add a -O option which allows building with clang. Signed-off-by: Simon Glass <[email protected]>
2019-01-14buildman: Drop comment about Ctrl-C problemSimon Glass
This bug is now fixed, so drop this comment. Signed-off-by: Simon Glass <[email protected]>
2018-11-14buildman: Add a --boards option to specify particular boards to buildSimon Glass
At present 'buildman sandbox' will build all 5 boards for the sandbox architecture rather than the single board 'sandbox'. The only current way to exclude sandbox_spl, sandbox_noblk, etc. is to use -x which is a bit clumbsy. Add a --boards option to allow individual build targets to be specified. Signed-off-by: Simon Glass <[email protected]>
2018-06-07buildman: Add support for environment delta in summaryAlex Kiernan
When summarising the builds, add the -U option to emit delta lines for the default environment built into U-Boot at each commit. Signed-off-by: Alex Kiernan <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2017-07-06avr32: Retire AVR32 for goodAndy Shevchenko
AVR32 is gone. It's already more than two years for no support in Buildroot, even longer there is no support in GCC (last version is heavily patched 4.2.4). Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully). There is no good point to keep this support in U-Boot either. Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]>
2017-02-08buildman: Allow showing the list of boards with -nSimon Glass
As well as showing the number of boards, allow showing the actual list of boards that would be built, if -v is provided. Signed-off-by: Simon Glass <[email protected]>
2017-01-28buildman: Update link to the most recent prebuilt ARC toolachinAlexey Brodkin
To troubleshoot unexpected bhavior during building and what's more important during execution it is strongly recommended to use recent ARC toolchain, and so we're now referring to arc-2016.09 which is the latest as of today. Signed-off-by: Alexey Brodkin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-12-02buildman: Squash useless output from -KSimon Glass
When using #define CONFIG_SOME_OPTION, the value it set to '1'. When using defconfig (i.e. CONFIG_SOME_OPTION=y) the value is set to 'y'. This results in differences showing up with -K. These differences are seldom useful. Adjust buildman to suppress these differences by default. Signed-off-by: Simon Glass <[email protected]>
2016-12-02buildman: Add documentation for CONFIG checkingSimon Glass
The -K option is not mentioned in the README at present. Add some notes to describe how this is used. Signed-off-by: Simon Glass <[email protected]>
2016-10-09tools: buildman: Add compiler wrapperYork Sun
Now we can use compiler wrapper such as ccache or distcc for buildman. Signed-off-by: York Sun <[email protected]> CC: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]>
2016-07-31buildman: Add a quick-start noteSimon Glass
For those who just want to build a board, it is useful to see a quick hint right at the start of the documentation. Add a few commands showing how to download toolchains and build a board. Signed-off-by: Simon Glass <[email protected]>
2016-07-31buildman: Tidy up the README a littleSimon Glass
Tidy up some problems found by a recent review. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-05-17buildman: allow more incremental buildingStephen Warren
One use-case for buildman is to continually run it interactively after each small step in a large refactoring operation. This gives more immediate feedback than making a number of commits and then going back and testing them. For this to work well, buildman needs to be extremely fast. At present, a couple issues prevent it being as fast as it could be: 1) Each time buildman runs "make %_defconfig", it runs "make mrproper" first. This throws away all previous build results, requiring a from-scratch build. Optionally avoiding this would speed up the build, at the cost of potentially causing or missing some build issues. 2) A build tree is created per thread rather than per board. When a thread switches between building different boards, this often causes many files to be rebuilt due to changing config options. Using a separate build tree for each board would avoid this. This does put more strain on the system's disk cache, but it is worth it on my system at least. This commit adds two command-line options to implement the changes described above; -I ("--incremental") turns of "make mrproper" and -P ("--per-board-out-dir") creats a build directory per board rather than per thread. Tested: ./tools/buildman/buildman.py tegra ./tools/buildman/buildman.py -I -P tegra ./tools/buildman/buildman.py -b tegra_dev tegra ./tools/buildman/buildman.py -b tegra_dev -I -P tegra ... each once after deleting the buildman result/work directory, and once "incrementally" after a previous identical invocation. Signed-off-by: Stephen Warren <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Simon Glass <[email protected]> # v1 Tested-by: Simon Glass <[email protected]> # v1 Acked-by: Simon Glass <[email protected]>
2016-03-17buildman: Clarify the use of -VSimon Glass
This option outputs to the log file, not to the terminal. Clarify that in the help, and add a mention of it in the README. Signed-off-by: Simon Glass <[email protected]> Reported-by: Stephen Warren <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2016-03-17buildman: Add a way to specific a full toolchain prefixSimon Glass
At present buildman allows you to specify the directory containing the toolchain, but not the actual toolchain prefix. If there are multiple toolchains in a single directory, this can be inconvenient. Add a new 'toolchain-prefix' setting to the settings file, which allows the full prefix (or path to the C compiler) to be specified. Update the documentation to match. Suggested-by: Stephen Warren <[email protected]> Reviewed-by: Joe Hershberger <[email protected]> Signed-off-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]>
2016-02-24tools: Update openrisc toolchain informationBin Meng
Since commit 87da2690ab81b5f29f83dc85c55f933e6ef414bc "openrisc: updating build tools naming convention", openrisc kernel.org toolchain is out of date and cannot build U-Boot. Update buildman and moveconfig tools to refer to the new one. Signed-off-by: Bin Meng <[email protected]>
2015-12-10buildman: README: add links for toolchains not available on kernel.orgThomas Chou
Add links for toolchains not available on kernel.org. The sh4 toolchains from kernel.org dose not work for some boards, so use the sh from Sourcery. Signed-off-by: Thomas Chou <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-07-28buildman: Correct '--fetch-arch' command documentationBin Meng
The doc wrongly put sandbox in the '--fetch-arch' command. Remove it. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-04-23buildman: Add gcc 4.9.0 with Microblaze toolchainMichal Simek
Also read gcc 4.9.0 at kernel.org which also have Microblaze toolchain. Signed-off-by: Michal Simek <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]> Fixed unit test failure by updating the test: Signed-off-by: Simon Glass <[email protected]>
2015-03-30ARM: tegra: rename colibri_t20 board/configuration/device-treeMarcel Ziswiler
In accordance with our other modules supported by U-Boot and as agreed upon for Apalis/Colibri T30 get rid of the carrier board in the board/ configuration/device-tree naming. While at it also bring the prompt more in line with our other products. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-01-14buildman: Add the option to download toolchains from kernel.orgSimon Glass
The site at https://www.kernel.org/pub/tools/crosstool/ is a convenient repository of toolchains which can be used for U-Boot. Add a feature to download and install a toolchain for a selected architecture automatically. It isn't clear how long this site will stay in the current place and format, but we should be able to rely on bug reports if it changes. Suggested-by: Marek VaĊĦut <[email protected]> Suggested-by: Fabio Estevam <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2015-01-14buildman: Allow architecture to alias to multiple toolchainsSimon Glass
Some archs have need than one alias, so support a list of alises in the ..buildman file. Signed-off-by: Simon Glass <[email protected]>
2015-01-14buildman: Add documentation about the .buildman fileSimon Glass
This file is only partially documented. Add some more details. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Wolfgang Denk <[email protected]>