[U-Boot] [PATCH V2] buildman: allow more incremental building

Simon Glass sjg at chromium.org
Mon Apr 25 20:55:16 CEST 2016


Hi,

On 25 April 2016 at 10:41, Stephen Warren <swarren at wwwdotorg.org> wrote:
>
> On 04/11/2016 10:48 AM, Stephen Warren wrote:
>>
>> From: Stephen Warren <swarren at nvidia.com>
>>
>> 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 <swarren at nvidia.com>
>> Reviewed-by: Tom Rini <trini at konsulko.com>
>> Acked-by: Simon Glass <sjg at chromium.org> # v1
>> Tested-by: Simon Glass <sjg at chromium.org> # v1
>> ---
>> v2: Add README updates.
>
>
> Simon, does this version look good?
>

It does to me. Perhaps I'll add this again:

Acked-by: Simon Glass <sjg at chromium.org>

It's in Tom's queue but I can pick if up if you like.

Regards,
Simon


More information about the U-Boot mailing list