Commit c037f202602bf50f4e82a7f63d4624c3256df7f7

Alexandre Duret-Lutz 2002-07-06T10:21:36

* 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'.