* lib/Automake/Channels.pm: New file.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add Channels.pm.
* automake.in: Use Automake::Channels and register some channels
for errors and warnings.
($exit_status): Remove, replaced by Channels::$exit_code.
(%required_variables): Remove, Channels will filter-out duplicates
itself.
(initialize_per_input): Call reset_local_duplicates.
(prog_error): Adjust to all `msg'.
(setup_warnings): New functions.
(parse_arguments): Accept -W CATEGORY and --warnings=CATEGORY,
call setup_warnings.
(usage): Update usage text accordingly.
(macro_dump, macros_dump): Return the dump as a string instead
of printing it.
(am_install_var) <$warned_about_extra>: Remove, Channels will
filter-out duplicates itself.
(set_strictness): Turn on/off channels for each stricness.
(err, fatal, err_var, err_target, err_am, err_ac, msg_var,
msg_target, msg_am, msg_ac, reject_var, reject_target, verb):
New functions, to replace ...
(print_error, am_error, file_error, macro_error, target_error,
conf_error, file_warning): ... these functions. Remove them.
Update all the code to use the new functions. The rough
correspondance is
am_error -> err_am
file_error -> err
macro_error -> err_var
target_error -> err_target
conf_error -> err_ac
die -> fatal
macro_error if defined -> reject_var
target_error if defined -> reject_target
verbose -> verb
* automake.texi (Invoking Automake): Document -W and --warnings.
Remove the documentation for --Werror and --Wno-error.
* tests/defs: Use -Werror, no --Werror.
* tests/exeext2.test: Test that the error message
is enabled with -Wobsolete.
* tests/output5.test: Rewrite to test that Automake complains
when there is no Makefile specified. (The original test was
succeeding for the wrong reason.)
* tests/seenc.test: Don't use --Wno-error, there is no reason now
that -Werror doesn't stop after the first error.
* tests/subobj.test: Use --add-missing, and check that
`compile' is installed and that Automake says so.
* tests/subobj2.test: Don't create `compile'.
15 files changed: