[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, next, updated. v1.10b-23-g2
From: |
Ralf Wildenhues |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, next, updated. v1.10b-23-g2c74a34 |
Date: |
Tue, 14 Apr 2009 06:09:00 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=2c74a34058ecf5f0c07c3f0908a13613d465f956
The branch, next has been updated
via 2c74a34058ecf5f0c07c3f0908a13613d465f956 (commit)
from 2e959a815c6f144441a59761a2b4dc51d28ec776 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2c74a34058ecf5f0c07c3f0908a13613d465f956
Author: Ralf Wildenhues <address@hidden>
Date: Mon Apr 13 23:17:39 2009 +0200
silent-rules reorganization, --enable-silent-rules switch.
This patch introduces a configure-time option to set the default
verbosity. Since configure now needs to know whether the
`silent-rules' automake option was set, the latter can only be
set within AM_INIT_AUTOMAKE, or with a new AM_SILENT_RULES macro
but not any more through AUTOMAKE_OPTIONS or the automake
command line option `--silent-rules'.
* automake.in (define_verbose_var): Define the default verbose
variable in terms of `$(AM_DEFAULT_VERBOSITY)'.
(handle_configure): Do not pass `--silent-rules' to automake.
(scan_autoconf_traces): Trace `AM_SILENT_RULES'. If seen,
enable global `silent-rules' option.
(usage): Do not document `--silent-rules'.
(parse_arguments): Do not accept `--silent-rules'.
* doc/automake.texi (Options): Overhaul. Document
AM_SILENT_RULES, --enable-silent-rules, --disable-silent-rules,
AM_DEFAULT_VERBOSITY. Show an example for user-added variables
for less verbose output.
(Invoking Automake): Remove documentation for `--silent-rules'.
(Public Macros): Document `AM_SILENT_RULES'.
* NEWS: Update.
* lib/Automake/Options.pm (_process_option_list): Accept
`silent-rules' only as option in configure.ac.
* m4/init.m4 (AM_INIT_AUTOMAKE): If the `silent-rules' option
was enabled, require `AM_SILENT_RULES'; move AM_BACKSLASH
initialization to ...
* m4/silent.m4 (AM_SILENT_RULES): ... this new file, new macro.
Deal with `--enable-silent-rules' switch; define
AM_DEFAULT_VERBOSITY.
* m4/Makefile.am (dist_m4data_DATA): Add silent.m4.
* tests/dollarvar.test: Remove tests for `--silent-rules', use
`AM_SILENT_RULES'.
* tests/flavor.test: Remove test for `--silent-rules'.
* tests/silent.test: Use `AM_SILENT_RULES' instead of
`AUTOMAKE_OPTIONS = silent-rules'; use `--enable-silent-rules'.
* tests/silent2.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent5.test: Likewise.
* tests/silent6.test: Likewise. Test `AM_SILENT_RULES' as well
as `AM_INIT_AUTOMAKE([silent-rules])' instead of
`--silent-rules'.
* tests/silent7.test: Use `AM_SILENT_RULES' instead of
`AUTOMAKE_OPTIONS = silent-rules'; ensure the latter is rejected.
Test combinations of --enable-silent-rules and
--disable-silent-rules with `make V=0' and `make V=1'.
Suggestion for configure-time switch by Bob Friesenhahn.
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 48 +++++++++++++++++++++++++++++
NEWS | 8 +++++
automake.in | 15 ++++-----
configure | 2 -
doc/automake.texi | 76 +++++++++++++++++++++++++++++++++++++---------
lib/Automake/Options.pm | 8 ++++-
m4/Makefile.am | 3 +-
m4/Makefile.in | 1 +
m4/init.m4 | 4 +--
m4/silent.m4 | 27 ++++++++++++++++
tests/dollarvar.test | 15 ++-------
tests/flavor.test | 2 +-
tests/silent.test | 6 ++--
tests/silent2.test | 6 ++--
tests/silent3.test | 6 ++--
tests/silent4.test | 6 ++--
tests/silent5.test | 6 ++--
tests/silent6.test | 49 ++++++++++++++++-------------
tests/silent7.test | 34 ++++++++++++++++++---
19 files changed, 238 insertions(+), 84 deletions(-)
create mode 100644 m4/silent.m4
diff --git a/ChangeLog b/ChangeLog
index 0737903..5d872ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,53 @@
2009-04-13 Ralf Wildenhues <address@hidden>
+ silent-rules reorganization, --enable-silent-rules switch.
+ This patch introduces a configure-time option to set the default
+ verbosity. Since configure now needs to know whether the
+ `silent-rules' automake option was set, the latter can only be
+ set within AM_INIT_AUTOMAKE, or with a new AM_SILENT_RULES macro
+ but not any more through AUTOMAKE_OPTIONS or the automake
+ command line option `--silent-rules'.
+ * automake.in (define_verbose_var): Define the default verbose
+ variable in terms of `$(AM_DEFAULT_VERBOSITY)'.
+ (handle_configure): Do not pass `--silent-rules' to automake.
+ (scan_autoconf_traces): Trace `AM_SILENT_RULES'. If seen,
+ enable global `silent-rules' option.
+ (usage): Do not document `--silent-rules'.
+ (parse_arguments): Do not accept `--silent-rules'.
+ * doc/automake.texi (Options): Overhaul. Document
+ AM_SILENT_RULES, --enable-silent-rules, --disable-silent-rules,
+ AM_DEFAULT_VERBOSITY. Show an example for user-added variables
+ for less verbose output.
+ (Invoking Automake): Remove documentation for `--silent-rules'.
+ (Public Macros): Document `AM_SILENT_RULES'.
+ * NEWS: Update.
+ * lib/Automake/Options.pm (_process_option_list): Accept
+ `silent-rules' only as option in configure.ac.
+ * m4/init.m4 (AM_INIT_AUTOMAKE): If the `silent-rules' option
+ was enabled, require `AM_SILENT_RULES'; move AM_BACKSLASH
+ initialization to ...
+ * m4/silent.m4 (AM_SILENT_RULES): ... this new file, new macro.
+ Deal with `--enable-silent-rules' switch; define
+ AM_DEFAULT_VERBOSITY.
+ * m4/Makefile.am (dist_m4data_DATA): Add silent.m4.
+ * tests/dollarvar.test: Remove tests for `--silent-rules', use
+ `AM_SILENT_RULES'.
+ * tests/flavor.test: Remove test for `--silent-rules'.
+ * tests/silent.test: Use `AM_SILENT_RULES' instead of
+ `AUTOMAKE_OPTIONS = silent-rules'; use `--enable-silent-rules'.
+ * tests/silent2.test: Likewise.
+ * tests/silent3.test: Likewise.
+ * tests/silent4.test: Likewise.
+ * tests/silent5.test: Likewise.
+ * tests/silent6.test: Likewise. Test `AM_SILENT_RULES' as well
+ as `AM_INIT_AUTOMAKE([silent-rules])' instead of
+ `--silent-rules'.
+ * tests/silent7.test: Use `AM_SILENT_RULES' instead of
+ `AUTOMAKE_OPTIONS = silent-rules'; ensure the latter is rejected.
+ Test combinations of --enable-silent-rules and
+ --disable-silent-rules with `make V=0' and `make V=1'.
+ Suggestion for configure-time switch by Bob Friesenhahn.
+
manual: Add note about parallelism and tests ordering.
* doc/automake.texi (Simple Tests using parallel-tests):
Dependencies between test logs work for tests with known
diff --git a/NEWS b/NEWS
index 64756fe..db639f9 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,14 @@ New in 1.10c:
- The new `parallel-tests' targets `recheck' and `recheck-html' will not run
any tests that have not run yet.
+ - The `silent-rules' mode introduces a configure-time `--enable-silent-rules'
+ option to specify the default build verbosity; it can still be overridden
+ with an explicit `make V=[0|1]'. The configure switch necessitated to
+ remove the automake command-line switch `--silent-rules' and
per-Makefile.am
+ settings `AUTOMAKE_OPTIONS = silent-rules', so the feature needs to be
+ enabled in configure.ac now, either by adding the `silent-rules' option
+ to `AM_INIT_AUTOMAKE', or by calling the new `AM_SILENT_RULES' macro.
+
Bugs fixed in 1.10c:
* Long standing bugs:
diff --git a/automake.in b/automake.in
index 10927a1..137b8da 100755
--- a/automake.in
+++ b/automake.in
@@ -1144,7 +1144,7 @@ sub define_verbose_var ($$)
{
# Using `$V' instead of `$(V)' breaks IRIX make.
define_variable ($var, '$(' . $pvar . '_$(V))', INTERNAL);
- define_variable ($pvar . '_', $val, INTERNAL);
+ define_variable ($pvar . '_', '$(' . $pvar .
'_$(AM_DEFAULT_VERBOSITY))', INTERNAL);
define_variable ($pvar . '_0', $val, INTERNAL);
}
}
@@ -4197,8 +4197,7 @@ sub handle_configure ($$$@)
@configuredeps);
my $automake_options = '--' . (global_option 'cygnus' ? 'cygnus' :
$strictness_name)
- . (global_option 'no-dependencies' ? ' --ignore-deps'
: '')
- . (global_option 'silent-rules' ? ' --silent-rules' :
'');
+ . (global_option 'no-dependencies' ? ' --ignore-deps'
: '');
$output_rules .= file_contents
('configure',
@@ -5212,6 +5211,7 @@ sub scan_autoconf_traces ($)
AM_INIT_AUTOMAKE => 0,
AM_MAINTAINER_MODE => 0,
AM_PROG_CC_C_O => 0,
+ AM_SILENT_RULES => 0,
_AM_SUBST_NOTMAKE => 1,
_AM_COND_IF => 1,
_AM_COND_ELSE => 1,
@@ -5405,6 +5405,10 @@ sub scan_autoconf_traces ($)
{
$seen_cc_c_o = $where;
}
+ elsif ($macro eq 'AM_SILENT_RULES')
+ {
+ set_global_option ('silent-rules', $where);
+ }
elsif ($macro eq '_AM_COND_IF')
{
cond_stack_if ('', $args[1], $where);
@@ -8158,9 +8162,6 @@ Dependency tracking:
-i, --ignore-deps disable dependency tracking code
--include-deps enable dependency tracking code
-Verbosity of generated rules:
- --silent-rules enable silent build rules
-
Flavors:
--cygnus assume program is part of Cygnus-style tree
--foreign set strictness to foreign
@@ -8272,8 +8273,6 @@ sub parse_arguments ()
'o|output-dir=s' => \$output_directory,
'a|add-missing' => \$add_missing,
'c|copy' => \$copy_missing,
- 'silent-rules' => sub { set_global_option ('silent-rules',
- $cli_where); },
'v|verbose' => sub { setup_channel 'verb', silent => 0; },
'W|warnings=s' => \&parse_warnings,
# These long options (--Werror and --Wno-error) for backward
diff --git a/configure b/configure
index 15ad6fd..e73a0bd 100755
--- a/configure
+++ b/configure
@@ -614,7 +614,6 @@ PERL_THREADS
PERL
pkgvdatadir
APIVERSION
-AM_BACKSLASH
am__untar
am__tar
AMTAR
@@ -2336,7 +2335,6 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR}
xf -'
-AM_BACKSLASH='\'
# The API version is the base version. We must guarantee
diff --git a/doc/automake.texi b/doc/automake.texi
index 453fff9..0094fa0 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -2559,10 +2559,6 @@ Ordinarily each @file{Makefile.in} is created in the
directory of the
corresponding @file{Makefile.am}. This option is deprecated and will be
removed in a future release.
address@hidden --silent-rules
address@hidden --silent-rules
-Enable the @option{silent-rules} option globally (@pxref{Options}).
-
@item -v
@itemx --verbose
@opindex -v
@@ -3889,6 +3885,10 @@ variable. The default @var{compiler-search-list} is
@samp{upcc upc}.
This macro will abort @command{configure} if no Unified Parallel C
compiler is found.
address@hidden AM_SILENT_RULES
address@hidden AM_SILENT_RULES
+Enable the machinery for less verbose build output (@pxref{Options}).
+
@item AM_WITH_DMALLOC
@acindex AM_WITH_DMALLOC
@cindex @command{dmalloc}, support for
@@ -9022,8 +9022,8 @@ letter; it should be omitted for non-alpha releases.
@item @option{silent-rules}
@cindex Option, @option{silent-rules}
@opindex silent-rules
-Enable silent build rules. This will cause many build rules to output a
-status line of the form
+Enable less verbose build rules. This can be used to let build rules
+output a status line of the form
@example
GEN @var{output-file}
@@ -9031,12 +9031,38 @@ status line of the form
@noindent
instead of printing the command that will be executed to update
address@hidden It will also silence @command{libtool} output.
address@hidden It can also silence @command{libtool} output.
+
+To enable less verbose build rules, both the developer and the user
+of the package have to take a number of steps. The developer needs
+to do either of the following:
+
address@hidden @bullet
address@hidden
+Add the @option{silent-rules} option as argument to @code{AM_INIT_AUTOMAKE}.
address@hidden
+Call the @code{AM_SILENT_RULES} macro from within the @file{configure.ac}
+file.
address@hidden itemize
address@hidden default verbosity for silent-rules
+If the developer has done either of the above, then the user of the
+package may influence the verbosity at @command{configure} run time as
+well as at @command{make} run time:
+
address@hidden @bullet
address@hidden
address@hidden --enable-silent-rules
address@hidden --disable-silent-rules
+Passing @option{--enable-silent-rules} to @command{configure} will cause
+build rules to be less verbose; the option @option{--disable-silent-rules}
+is the default and will cause normal verbose output.
address@hidden
@vindex @code{V}
-The verbosity can be influenced at @command{make} run time by setting the
-variable @code{V}: @samp{make V=0} is equivalent to @code{V} being unset,
-while @samp{make V=1} will produce verbose output.
+At @command{make} run time, the default chosen at @command{configure}
+time may be overridden: @code{make V=1} will produce verbose output,
address@hidden V=0} less verbose output.
address@hidden itemize
For portability to different @command{make} implementations, package authors
are advised to not set the variable @code{V} inside the @file{Makefile.am}
@@ -9053,11 +9079,31 @@ expansion, which are in turn enabled by
@option{-Wportability}
@vindex @code{AM_V_GEN}
@vindex @code{AM_V_at}
-To extend the silent mode to your own rules, you can use the predefined
-variable @code{AM_V_GEN} as a prefix to commands that should output a
-status line in silent mode, and @code{AM_V_at} as a prefix to commands
-that should not output anything in silent mode. With @code{V=1}, these
-variables will expand to empty strings.
address@hidden @code{AM_DEFAULT_VERBOSITY}
+To extend the silent mode to your own rules, you have two choices:
+
address@hidden @bullet
address@hidden
+You can use the predefined variable @code{AM_V_GEN} as a prefix to
+commands that should output a status line in silent mode, and
address@hidden as a prefix to commands that should not output anything
+in silent mode. When output is to be verbose, both of these variables
+will expand to the empty string.
address@hidden
+You can add your own variables, so strings of your own choice are shown.
+The following snippet shows how you would define your own equivalent of
address@hidden:
+
address@hidden
+pkg_verbose = $(pkg_verbose_$(V))
+pkg_verbose_ = $(pkg_verbose_$(AM_DEFAULT_VERBOSITY))
+pkg_verbose_0 = @@echo GEN $@@;
+
+foo: foo.in
+ $(pkg_verbose)cp $(srcdir)/foo.in $@@
address@hidden example
address@hidden itemize
+
@item @option{std-options}
@cindex Options, @option{std-options}
diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm
index 5e05792..ea4e6bb 100644
--- a/lib/Automake/Options.pm
+++ b/lib/Automake/Options.pm
@@ -265,7 +265,7 @@ sub _process_option_list (\%$@)
|| $_ eq 'readme-alpha' || $_ eq 'check-news'
|| $_ eq 'subdir-objects' || $_ eq 'nostdinc'
|| $_ eq 'no-exeext' || $_ eq 'no-define'
- || $_ eq 'std-options' || $_ eq 'silent-rules'
+ || $_ eq 'std-options'
|| $_ eq 'color-tests' || $_ eq 'parallel-tests'
|| $_ eq 'cygnus' || $_ eq 'no-dependencies')
{
@@ -276,6 +276,12 @@ sub _process_option_list (\%$@)
delete $options->{$_};
$options->{'filename-length-max'} = [$_, $1];
}
+ elsif ($_ eq 'silent-rules')
+ {
+ error ($where,
+ "option `$_' must be an argument of AM_INIT_AUTOMAKE")
+ if $where->get !~ /^configure\./;
+ }
elsif ($_ eq 'tar-v7' || $_ eq 'tar-ustar' || $_ eq 'tar-pax')
{
error ($where,
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 9f5e1c2..0ce26d1 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -3,7 +3,7 @@
## Makefile for Automake m4.
## Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2006,
-## 2008 Free Software Foundation, Inc.
+## 2008, 2009 Free Software Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -52,6 +52,7 @@ python.m4 \
regex.m4 \
runlog.m4 \
sanity.m4 \
+silent.m4 \
strip.m4 \
substnot.m4 \
tar.m4 \
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 9635c07..75c0909 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -197,6 +197,7 @@ python.m4 \
regex.m4 \
runlog.m4 \
sanity.m4 \
+silent.m4 \
strip.m4 \
substnot.m4 \
tar.m4 \
diff --git a/m4/init.m4 b/m4/init.m4
index 5978502..365c9ac 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -100,9 +100,7 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[define([AC_PROG_OBJC],
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
diff --git a/m4/silent.m4 b/m4/silent.m4
new file mode 100644
index 0000000..6d2a1a2
--- /dev/null
+++ b/m4/silent.m4
@@ -0,0 +1,27 @@
+## -*- Autoconf -*-
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# 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
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
diff --git a/tests/dollarvar.test b/tests/dollarvar.test
index 8dc54f7..ea042b5 100755
--- a/tests/dollarvar.test
+++ b/tests/dollarvar.test
@@ -48,18 +48,11 @@ grep 'Makefile.am:7' stderr
# On the other hand, if we allow `silent-rules' mode, then we need to
# allow recursive variable expansion, too.
-# This should work with the `--silent-rules' command line switch.
-AUTOMAKE_fails -Wportability --silent-rules
-grep 'Makefile.am:2' stderr
-grep 'Makefile.am:3' stderr
-grep 'Makefile.am:4' stderr
-grep 'Makefile.am:5' stderr
-grep 'Makefile.am:6' stderr && Exit 1
-grep 'Makefile.am:7' stderr && Exit 1
-
-# This should work with AUTOMAKE_OPTIONS.
-echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
+# This should work with the AM_SILENT_RULES macro.
+$sleep
+echo 'AM_SILENT_RULES' >> configure.in
+$ACLOCAL --force
AUTOMAKE_fails -Wportability
grep 'Makefile.am:2' stderr
grep 'Makefile.am:3' stderr
diff --git a/tests/flavor.test b/tests/flavor.test
index 6c4756b..c9ea970 100755
--- a/tests/flavor.test
+++ b/tests/flavor.test
@@ -37,7 +37,7 @@ END
$ACLOCAL
$AUTOCONF
# Order flavors so that all needed files are installed early.
-for flavor in --gnits --gnu --foreign --cygnus --ignore-deps --silent-rules
+for flavor in --gnits --gnu --foreign --cygnus --ignore-deps
do
$AUTOMAKE --add-missing $flavor
./configure --enable-maintainer-mode
diff --git a/tests/silent.test b/tests/silent.test
index b39d49c..4eb11d5 100755
--- a/tests/silent.test
+++ b/tests/silent.test
@@ -25,6 +25,7 @@ set -e
mkdir sub
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
@@ -32,7 +33,6 @@ AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules
# Need generic and non-generic rules.
bin_PROGRAMS = foo bar
bar_CFLAGS = $(AM_CFLAGS)
@@ -40,7 +40,7 @@ SUBDIRS = sub
EOF
cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules subdir-objects
+AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
bin_PROGRAMS = baz bla
bla_CFLAGS = $(AM_CFLAGS)
@@ -60,7 +60,7 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure
+./configure --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c' stdout && Exit 1
diff --git a/tests/silent2.test b/tests/silent2.test
index a1149f4..a208151 100755
--- a/tests/silent2.test
+++ b/tests/silent2.test
@@ -27,6 +27,7 @@ set -e
mkdir sub
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
@@ -34,7 +35,6 @@ AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules
# Need generic and non-generic rules.
bin_PROGRAMS = foo bar
bar_CFLAGS = $(AM_CFLAGS)
@@ -42,7 +42,7 @@ SUBDIRS = sub
EOF
cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules subdir-objects
+AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
bin_PROGRAMS = baz bla
bla_CFLAGS = $(AM_CFLAGS)
@@ -62,7 +62,7 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure am_cv_CC_dependencies_compiler_type=gcc
+./configure am_cv_CC_dependencies_compiler_type=gcc --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c' stdout && Exit 1
diff --git a/tests/silent3.test b/tests/silent3.test
index 5e2ecda..c1266b7 100755
--- a/tests/silent3.test
+++ b/tests/silent3.test
@@ -26,6 +26,7 @@ set -e
mkdir sub
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
@@ -34,7 +35,6 @@ AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules
# Need generic and non-generic rules.
lib_LTLIBRARIES = libfoo.la libbar.la
libbar_la_CFLAGS = $(AM_CFLAGS)
@@ -42,7 +42,7 @@ SUBDIRS = sub
EOF
cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules subdir-objects
+AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
lib_LTLIBRARIES = libbaz.la libbla.la
libbla_la_CFLAGS = $(AM_CFLAGS)
@@ -63,7 +63,7 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure
+./configure --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c' stdout && Exit 1
diff --git a/tests/silent4.test b/tests/silent4.test
index 7ed8922..7f96f60 100755
--- a/tests/silent4.test
+++ b/tests/silent4.test
@@ -27,6 +27,7 @@ set -e
mkdir sub
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
AM_PROG_CC_C_O
@@ -35,7 +36,6 @@ AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules
# Need generic and non-generic rules.
lib_LTLIBRARIES = libfoo.la libbar.la
libbar_la_CFLAGS = $(AM_CFLAGS)
@@ -43,7 +43,7 @@ SUBDIRS = sub
EOF
cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules subdir-objects
+AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
lib_LTLIBRARIES = libbaz.la libbla.la
libbla_la_CFLAGS = $(AM_CFLAGS)
@@ -64,7 +64,7 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure am_cv_CC_dependencies_compiler_type=gcc
+./configure am_cv_CC_dependencies_compiler_type=gcc --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c' stdout && Exit 1
diff --git a/tests/silent5.test b/tests/silent5.test
index 90e21b9..08c22d8 100755
--- a/tests/silent5.test
+++ b/tests/silent5.test
@@ -24,6 +24,7 @@ set -e
mkdir sub
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_F77
@@ -35,7 +36,6 @@ AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules
# Need generic and non-generic rules.
bin_PROGRAMS = foo bar
bar_CFLAGS = $(AM_CFLAGS)
@@ -47,7 +47,7 @@ BUILT_SOURCES = foo6.h
EOF
cat > sub/Makefile.am <<'EOF'
-AUTOMAKE_OPTIONS = silent-rules subdir-objects
+AUTOMAKE_OPTIONS = subdir-objects
# Need generic and non-generic rules.
bin_PROGRAMS = baz bla
bla_CFLAGS = $(AM_CFLAGS)
@@ -103,7 +103,7 @@ $AUTOCONF
# configure once for fastdep, once for non-fastdep
for config_args in '' am_cv_CC_dependencies_compiler_type=gcc
do
- ./configure $config_args
+ ./configure $config_args --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep ' -c' stdout && Exit 1
diff --git a/tests/silent6.test b/tests/silent6.test
index b0cacc8..1f6a718 100755
--- a/tests/silent6.test
+++ b/tests/silent6.test
@@ -21,19 +21,14 @@
set -e
cat >>configure.in <<'EOF'
-# Layering violation: this conditional should be decided
-# by the package author, not the user. We just do it here
-# for testing convenience.
-AM_CONDITIONAL([SILENT], [test "$silent_rules" = yes])
+AM_SILENT_RULES
AC_OUTPUT
EOF
cat > Makefile.am <<'EOF'
-if SILENT
my_verbose = $(my_verbose_$(V))
-my_verbose_ = $(my_verbose_0)
+my_verbose_ = $(my_verbose_$(AM_DEFAULT_VERBOSITY))
my_verbose_0 = @echo GEN $@;
-endif
all-local: foo
@@ -46,10 +41,10 @@ EOF
: >foo.in
$ACLOCAL
-$AUTOMAKE --add-missing --silent-rules
+$AUTOMAKE --add-missing
$AUTOCONF
-./configure silent_rules=yes
+./configure --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep 'GEN foo' stdout
@@ -63,7 +58,7 @@ grep 'cp ' stdout
$MAKE distclean
-./configure silent_rules=no
+./configure --disable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep 'GEN foo' stdout && Exit 1
@@ -71,26 +66,36 @@ grep 'cp ' stdout
$MAKE distclean
+$sleep
# Things should also work with -Wall in AM_INIT_AUTOMAKE.
cat > configure.in <<'END'
AC_INIT([silent6], [1.0])
AM_INIT_AUTOMAKE([-Wall])
-AM_CONDITIONAL([SILENT], [:])
AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
END
$ACLOCAL
-AUTOMAKE_fails --force
-$AUTOMAKE --force -Wno-error
-grep ' --silent-rules' Makefile.in && Exit 1
-$AUTOMAKE --force --silent-rules
-grep ' --silent-rules' Makefile.in
-$AUTOMAKE --force -Wno-all -Wportability --silent-rules
-grep ' --silent-rules' Makefile.in
-
-echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
-$AUTOMAKE --force
+AUTOMAKE_fails
+$AUTOMAKE -Wno-error
+
+# AM_SILENT_RULES should turn off the warning
+$sleep
+echo 'AM_SILENT_RULES' >> configure.in
+$ACLOCAL
+$AUTOMAKE
+grep 'AM_V_GEN' Makefile.in
+$AUTOMAKE --force -Wno-all -Wportability
+grep 'AM_V_GEN' Makefile.in
+
+# The `silent-rules' option to AM_INIT_AUTOMAKE should work likewise.
+$sleep
+cat > configure.in <<'END'
+AC_INIT([silent6], [1.0])
+AM_INIT_AUTOMAKE([silent-rules])
+AC_CONFIG_FILES([Makefile])
+END
+$ACLOCAL
+$AUTOMAKE
grep 'AM_V_GEN' Makefile.in
$AUTOMAKE --force -Wno-all -Wportability
grep 'AM_V_GEN' Makefile.in
diff --git a/tests/silent7.test b/tests/silent7.test
index 68a0e89..cca2644 100755
--- a/tests/silent7.test
+++ b/tests/silent7.test
@@ -21,6 +21,7 @@
set -e
cat >>configure.in <<'EOF'
+AM_SILENT_RULES
AC_OUTPUT
EOF
@@ -42,19 +43,31 @@ $ACLOCAL
$AUTOMAKE --add-missing
$AUTOCONF
-./configure
+./configure --disable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep 'GEN.*foo' stdout && Exit 1
grep 'cp ' stdout
grep 'echo ' stdout
-$MAKE distclean
+$MAKE clean
+$MAKE V=1 >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep 'GEN.*foo' stdout && Exit 1
+grep 'cp ' stdout
+grep 'echo ' stdout
-echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
-$AUTOMAKE
+$MAKE clean
+$MAKE V=0 >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep 'GEN.*foo' stdout
+grep 'cp ' stdout && Exit 1
+grep 'echo ' stdout && Exit 1
+
+
+$MAKE distclean
-./configure
+./configure --enable-silent-rules
$MAKE >stdout || { cat stdout; Exit 1; }
cat stdout
grep 'GEN.*foo' stdout
@@ -62,10 +75,21 @@ grep 'cp ' stdout && Exit 1
grep 'echo ' stdout && Exit 1
$MAKE clean
+$MAKE V=0 >stdout || { cat stdout; Exit 1; }
+cat stdout
+grep 'GEN.*foo' stdout
+grep 'cp ' stdout && Exit 1
+grep 'echo ' stdout && Exit 1
+
+$MAKE clean
$MAKE V=1 >stdout || { cat stdout; Exit 1; }
cat stdout
grep 'GEN.*foo' stdout && Exit 1
grep 'cp ' stdout
grep 'echo ' stdout
+# Ensure that setting `silent-rules' in a Makefile.am produces an error.
+echo 'AUTOMAKE_OPTIONS = silent-rules' >> Makefile.am
+AUTOMAKE_fails --force
+
:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, next, updated. v1.10b-23-g2c74a34,
Ralf Wildenhues <=