automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: silent build rules


From: Eric Blake
Subject: Re: silent build rules
Date: Tue, 14 Apr 2009 06:12:55 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Ralf Wildenhues on 4/14/2009 12:09 AM:
> Hello Bob, Eric, all,

Hello Ralf,

>> This is an approach that I am happy with.  I would not want to deny  
>> anyone access to silent rules if they want it (and I will am likely use 
>> it for my own developer builds), but feel that traditional verbose  
>> should continue to be the default.  Without traditional verbose being  
>> the default then GNU packages suddenly start to build differently, and  
>> the user is much less likely to be able to diagnose a problem by  
>> themselves without consuming time from the package maintainer.
> 
> This patch introduces such an --enable-silent-rules switch.  However, it
> has additional restrictions over the above semantics: I had to drop (2)
> completely, and (1) works only when adding `silent-rules' as argument to
> AM_INIT_AUTOMAKE in configure.ac, not in AUTOMAKE_OPTIONS in
> Makefile.am.

Looks like you got what we wanted!  Thanks for doing this.  The patch
seemed fine by my review, but did raise a question in my mind:

>  
> address@hidden AM_SILENT_RULES
> address@hidden AM_SILENT_RULES
> +Enable the machinery for less verbose build output (@pxref{Options}).

Are you going to document the (optional) argument that specifies the default?

>  
> +
> +# AM_SILENT_RULES([DEFAULT])
> +# --------------------------
> +# Enable less verbose build rules; with the default set to DEFAULT
> +# (`yes' being less verbose, `no' or empty being verbose).
> +AC_DEFUN([AM_SILENT_RULES],
> +[AC_ARG_ENABLE([silent-rules],
> +[  --enable-silent-rules          less verbose build output (undo: `make 
> V=1')
> +  --disable-silent-rules         verbose build output (undo: `make V=0')])
> +case $enable_silent_rules in
> +yes) AM_DEFAULT_VERBOSITY=0;;
> +no)  AM_DEFAULT_VERBOSITY=1;;
> +*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
> +esac

If so, is it worth trying to trim the AC_ARG_ENABLE output to only mention
the non-default case?  That is:

AM_SILENT_RULES        => outputs 2 lines for --{en,dis}able-silent-rules
AM_SILENT_RULES([yes]) => outputs 1 line for --disable-silent-rules
AM_SILENT_RULES([no])  => outputs 1 line for --enable-silent-rules

And if so, should AM_INIT_AUTOMAKE(..., [silent-rules]) continue to behave
like AM_SILENT_RULES([no])?

Or, if we really don't want developers to be able to change the default to
silent build, which leads to backwards incompatible output unless the user
provides an explicit --disable-silent-rules or V=1, then we should not
accept an optional arg to AM_SILENT_RULES.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknkfccACgkQ84KuGfSFAYDPCwCbBhsBysR3H8xH1hQJ3hyfhe0n
v/EAoKHk12KMgB8jvDmN09+05cLXcBwp
=x1xY
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]