silent rules: support for them is always active now
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 1 May 2012 12:23:04 +0000 (14:23 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 1 May 2012 14:03:37 +0000 (16:03 +0200)
commit14141f258ac8d5d14b9479eaf2bb82189bd17bf5
treef4e87c843698005bc6e5a2e108bf5829e580e2b5
parentf3f85d2ecfecd78b6346a613b9ef7da3bc173202
silent rules: support for them is always active now

Before this change, support for silent rules was optional and activated
only if the 'silent-rules' option was specified.

The rationale behind that behaviour was that the silent-rules machinery
originally only worked with make implementations supporting nested
variables expansions, which isn't (or wasn't) a POSIX-specified features;
so that packages wanting to be "extra-portable" couldn't use the
silent-rules machinery at all.

But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
"silent-rules: fallback for makes without nested vars" (motivated
by automake bugs #9928 and #10237), Makefiles generated when the
'silent-rules' option is enabled can work also with those make
implementations that don't support nested variables expansion (albeit
the configure-time selected verbosity cannot be overridden at make
runtime in such case).

In light of that, and since silent rules are disabled by default even
when the 'silent-rules' option is given (unless the developer explicitly
makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
configure.ac), we can now have the support for silent rules always
enabled.

The 'silent-rules' option will thus become a no-op, but will reaming a
valid option for the time being, for better backward-compatibility.

A collateral effect of this change is that the use of the 'silent-rules'
option will not anymore automatically disable the warnings in the
'portability-recursive' category.

The present change is basically a backport of the Automake-NG commit
'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
them is always active now".  Stemmed by this thread on the Automake-NG
list:
<http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>

* automake.in: Enable silent-rules machinery unconditionally.  Reword
some comments.  Do not switch off warnings in the category
'portability-recursive' anymore if the 'silent-rules' option is
given.
* m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
* lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
Do not bother anymore checking that it is set in 'configure.ac'.
* t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
* t/silent2.sh: Likewise.
* t/silent3.sh: Likewise.
* t/silent4.sh: Likewise.
* t/silent8.sh: Likewise.
* t/silent9.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-many-generic.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/silentcxx-gcc.sh: Likewise.
* t/silentcxx.sh: Likewise.
* t/silentf77.sh: Likewise.
* t/silentf90.sh: Likewise.
* t/help-silent.sh: Likewise.
* t/silent-configsite.sh: Likewise, and other minor adjustments.
* t/silent7.sh: Likewise.  Also, extend to check that silent rules
are disabled by default, and remove obsoleted checks about the
'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
* t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
Call automake with '-Wno-portability-recursive'.  Remove other
obsoleted checks.
* t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
'configure.ac' to disable warning in the 'portability-recursive'
category anymore.
* t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
* t/silent-amopts.sh: Remove as obsolete.
* t/silent-nowarn.sh: Likewise.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
* doc/automake.texi: Update and simplify accordingly.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
30 files changed:
NEWS
automake.in
configure.ac
doc/automake.texi
lib/Automake/Options.pm
m4/init.m4
t/compile_f_c_cxx.sh
t/dollarvar.sh
t/help-silent.sh
t/list-of-tests.mk
t/silent-amopts.sh [deleted file]
t/silent-configsite.sh
t/silent-lex.sh
t/silent-many-gcc.sh
t/silent-many-generic.sh
t/silent-nowarn.sh [deleted file]
t/silent-yacc-headers.sh
t/silent-yacc.sh
t/silent.sh
t/silent2.sh
t/silent3.sh
t/silent4.sh
t/silent6.sh
t/silent7.sh
t/silent8.sh
t/silent9.sh
t/silentcxx-gcc.sh
t/silentcxx.sh
t/silentf77.sh
t/silentf90.sh