[Buildroot] [PATCH RFC] core: enable per-package log files

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Oct 18 06:57:48 UTC 2017


Hello,

On Wed, 18 Oct 2017 01:11:54 +0200, Arnout Vandecappelle wrote:

>  I mean that maybe the user doesn't want to gather the output with -Orecurse or
> -Otarget but really wants -Onone. If you hardcode -Orecurse in the Makefile,
> it's impossible for a user who does want to see output immediately.

Yes, hence my idea of BR2_PARALLEL_BUILD to preserve the existing
behavior when it is disabled. However, the .config is not included in
the top-level make invocation, only in the sub-make.

So, here is my plan:

 * Introduce BR2_PARALLEL_BUILD

 * Make the sub-make invocation mandatory. Right now it's only if the
   umask is not correct or if O is not a canonical path. Let's just
   always recurse into a sub-make, it costs essentially nothing.

 * Do a grep ^BR2_PARALLEL_BUILD=y in the config file in the top-level
   make to decide whether we pass -Orecurse to the sub-make invocation.
   If .config doesn't exist, then we don't pass -Orecurse because it
   means we're about to configure Buildroot and we anyway don't care
   about -Orecurse.

Thoughts?

I'm not sure how to handle the MESSAGE macro. One suggestion you made
was to output directly to the tty. But a big drawback of that is that
if you redirect the build output (make 2>&1 | tee logfile) then the
messages displayed by the MESSAGE macro will no longer be stored in the
logfile, which is super annoying: I always use them to navigate in the
logfile to the appropriate place. So I believe directly writing to the
tty in the MESSAGE macro is not a good option.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the buildroot mailing list