[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