Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] CMake and VERBOSE variable
Date: Thu, 11 Jun 2015 22:05:03 +0200	[thread overview]
Message-ID: <5579E9EF.4070402@mind.be> (raw)
In-Reply-To: <a5c10080f12174d721c5f1ebad30b3f1@openmailbox.org>

On 06/11/15 09:37, C?dric Marie wrote:
> Hi,
> 
> Le 2015-06-11 00:00, Arnout Vandecappelle a ?crit :
>>  The reason to export is, is to pass it to sub-makes that make use of the same
>> mechanism, e.g. the kernel.
>>
>>  However, there's something to be said for exporting it only if V=1.
> 
> Is it OK to export it when defined? i.e.:
> 
> ifndef VERBOSE
>   export VERBOSE = 1
> endif

 Actually, no. It should also be exported if the user had set it like so:

make V=1 VERBOSE=3

 Therefore, it should become (with full context otherwise other readers will not
understand why there's an ifndef)

 ifeq ($(KBUILD_VERBOSE),1)
   quiet =
   Q =
 ifndef VERBOSE
   VERBOSE = 1
 endif
+export VERBOSE
 else
   quiet = quiet_
   Q = @
 endif


 However, on second thought: why do we set VERBOSE at all? It was introduced in
2007 by Bernhard Reutner-Fischer with the explanation:

set and export VERBOSE if V= was requested

 Not much of an explanation...

 A quick review of a few typical packages (linux, busybox, uClibc, u-boot,
autotools-baed) only turns up uClibc that has a not-very-well documented use of
VERBOSE. So perhaps we should just revert Bernhard's patch and completely remove
VERBOSE.

 Peter?

> 
> This is the local fix I'm using.
> 
> 
>>> NB: All other variables in that list seems to always be not empty.
> 
> Replying to myself: No, most of them are also exported empty, but it is alright.
> Only VERBOSE will have a special meaning when defined empty.

 Well, there's no way to be sure of that...

 In fact, the export of quiet Q KBUILD_VERBOSE comes directly from the kernel
(another commit from Bernhard, log "adjust infrastructure for new kconfig"). But
of course, in the kernel the build system has complete control over what will be
called with this stuff in the environment. For us that's a lot more complicated.
So I think we should get rid of all these exports, and leave it up to individual
packages to do that. Only V is something that is really generally used I think.


 Regards,
 Arnout


>>  The thing is, the working of CMAKE_NO_VERBOSE is not intuitive either (because
>> it can still be combined with VERBOSE=1).
> 
> The different kinds of verbose modes seem to be neither intuitive nor documented...
> 
> 
> Thank you,
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  reply	other threads:[~2015-06-11 20:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09  7:54 [Buildroot] CMake and VERBOSE variable Cédric Marie
2015-06-10 22:00 ` Arnout Vandecappelle
2015-06-11  7:37   ` Cédric Marie
2015-06-11 20:05     ` Arnout Vandecappelle [this message]
2015-06-18  8:29       ` Cédric Marie
2015-06-21 19:23         ` Arnout Vandecappelle
2015-06-22  9:47           ` Cédric Marie
2015-06-22 10:50             ` Samuel Martin
2015-06-22 11:26               ` Cédric Marie
2015-06-22 11:57                 ` Samuel Martin
2015-06-22 14:22                   ` Cédric Marie
2015-08-20 13:04                     ` Cédric Marie
2015-08-22 23:10                       ` Arnout Vandecappelle
2015-08-30 20:27                         ` Cédric Marie
2015-08-31  7:28                         ` Thomas Petazzoni
2015-08-31 12:35                           ` Cédric Marie
2015-08-31 22:34                             ` Arnout Vandecappelle
2015-09-05 21:18                               ` Cédric Marie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5579E9EF.4070402@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox