lib/Automake/Channels.pm

Branch


Log

Author Commit Date CI Message
Karl Berry fc1c3f65 2025-01-31T09:20:47 automake: just use warnings, with no => FATAL. Per Perl recommendation: https://perldoc.perl.org/warnings#Fatal-Warnings Suggested by Collin Funk: https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html And in the Perl discussion: https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302 * bin/aclocal.in: just use warnings, not making them fatal. * bin/automake.in: * contrib/tap-driver.pl: * gen-testsuite-part: * lib/Automake/ChannelDefs.pm: * lib/Automake/Channels.pm: * lib/Automake/Condition.pm: * lib/Automake/Config.in: * lib/Automake/Configure_ac.pm: * lib/Automake/DisjConditions.pm: * lib/Automake/FileUtils.pm: * lib/Automake/General.pm: * lib/Automake/Getopt.pm: * lib/Automake/Item.pm: * lib/Automake/ItemDef.pm: * lib/Automake/Language.pm: * lib/Automake/Location.pm: * lib/Automake/Options.pm: * lib/Automake/Rule.pm: * lib/Automake/RuleDef.pm: * lib/Automake/VarDef.pm: * lib/Automake/Variable.pm: * lib/Automake/Version.pm: * lib/Automake/Wrap.pm: * lib/Automake/XFile.pm: * t/ax/deltree.pl: * t/ax/extract-testsuite-summary.pl: * t/check-fd-redirect.sh: * t/tap-signal.tap: * t/tests-environment-fd-redirect.sh: * t/testsuite-summary-count-many.sh:
Paul Eggert 61075eab 2025-01-01T14:31:02 maint: make update-copyright
Yves Orton f3752617 2024-06-15T18:18:35 automake: sort keys for reproducibility. Fixes https://bugs.gnu.org/25629. * bin/aclocal.in: sort keys for reproducibility. * bin/automake.in: likewise. * contrib/tap-driver.pl: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Rule.pm: likewise. * THANKS: Add Yves. * NEWS: mention this.
Paul Eggert 1d35638b 2024-06-07T08:41:45 maint: spelling and whitespace fixes Most of these spelling fixes are just to comments and documentation. However, some affect tests as follows: * t/cond36.sh (tparse.h): Fix misspelling of dependency. * t/disthook.sh: Fix misspelling of file. * t/help3.sh: Fix misspelling of long option. * t/instdir-ltlib.sh: Fix misspellings of macro names. This causes the test to fail, so someone with libtool expertise needs to look into this. * t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
Karl Berry 5bb9bb42 2024-01-24T15:43:24 doc: typo for Channels.pm, mention files for which we are the master. * HACKING: mention files for which we are the master. * lib/Automake/ChannelDefs.pm: typo for Automake::Channels; mention that we hold the master copy of this. * lib/Automake/Channels.pm: update/add text for master copy notice. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/XFile.pm: likewise.
Paul Eggert b80b5c47 2024-01-01T11:29:06 maint: make update-copyright
Zack Weinberg 352d5f6f 2023-12-22T15:52:26 maint: sync autoconf Channels.pm and ChannelsDefs.pm. Patch from https://bugs.gnu.org/67971. The changes address <https://savannah.gnu.org/support/?110872>, about m4_warn code/documentation consistency. It should be impossible to reach report_bad_channel from code in Automake. * lib/Automake/Channels.pm (msg): If the channel argument is invalid, don't crash; report the mistake and use the `syntax' channel. (report_bad_channel): New function for reporting invalid channels. * lib/Automake/ChannelDefs.pm (usage): Clarify that the list of warning categories is exhaustive, and that ``all'', ``none'', ``no-CATEGORY'', and ``error'' are not warning categories.
Jacob Bachmeyer 0e127700 2023-02-07T22:39:29 Revert "maint: require perl 5.010 or later" This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b. Copyright-paperwork-exempt: yes
Paul Eggert 4e3744a1 2023-02-02T14:13:24 maint: require perl 5.010 or later This is needed for better treatment of high-res timestamps.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Zack Weinberg 74673d1c 2020-09-11T18:03:19 Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file.
Zack Weinberg 5cafaafd 2020-08-31T18:31:04 perl: use warnings instead of -w; consistent ordering of use, etc. Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html * bin/aclocal.in: use warnings instead of #!...-w; consistent ordering of basic "use" directives, then BEGIN block, then standard modules in ASCII order, then Automake:: modules (not sort), finally use vars. Also sort @ISA lists and use qw(...) in ASCII order. * bin/automake.in: likewise. * lib/Automake/ChannelDefs.pm: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/Config.in: likewise. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/General.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Item.pm: likewise. * lib/Automake/ItemDef.pm: likewise. * lib/Automake/Language.pm: likewise. * lib/Automake/Location.pm: likewise. * lib/Automake/Options.pm: likewise. * lib/Automake/Rule.pm: likewise. * lib/Automake/RuleDef.pm: likewise. * lib/Automake/VarDef.pm: likewise. * lib/Automake/Variable.pm: likewise. * lib/Automake/Version.pm: likewise. * lib/Automake/Wrap.pm: likewise. * lib/Automake/XFile.pm: remove unnecessary imports of Carp, DynaLoader, and File::Basename.
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Mathieu Lirzin 6cb3b835 2017-09-22T23:06:15 maint: Configure Emacs automatically with ".dir-locals.el" * .dir-locals.el: New Emacs directory configuration file. All perl files adapted.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Paul Eggert 3562e384 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Paul Eggert 199e7a44 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Mathieu Lirzin d8add592 2017-03-02T18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
Jim Meyering 1370ce5f 2017-01-01T08:34:49 maint: update copyright dates for 2017 * all files: Run this command, using update-copyright from gnulib: UPDATE_COPYRIGHT_FORCE=1 \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \ update-copyright $(git ls-files)
Stefano Lattarini 5de75f07 2015-01-05T22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a78f63c5 2014-04-21T15:10:54 maint: update copyright years We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df05a0b 2012-03-04T15:44:46 maint: require perl 5.6 throughout That version of perl is quite old already, so it should be OK to require it. More importantly, it is the older perl versions the developers can currently use for testing, thus it's safer and more honest to just require it throughout. And anyway, we were already requiring it in Automake::Getopt, which implied that both automake and aclocal wouldn't have worked in practice with an older perl version. See also the discussion related to automake bug#10925. * lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6. * lib/Automake/Channels.pm: Likewise. * lib/Automake/Condition.pm: Likewise. * lib/Automake/Configure_ac.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/General.pm: Likewise. * lib/Automake/Item.pm: Likewise. * lib/Automake/ItemDef.pm: Likewise. * lib/Automake/Location.pm: Likewise. * lib/Automake/Options.pm: Likewise. * lib/Automake/Rule.pm: Likewise. * lib/Automake/RuleDef.pm: Likewise. * lib/Automake/Struct.pm: Likewise. * lib/Automake/VarDef.pm: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/Version.pm: Likewise. * lib/Automake/Wrap.pm: Likewise. * lib/Automake/XFile.pm: Likewise.
Stefano Lattarini 3e887a13 2012-02-23T20:25:26 pm: do not quote `like this', as per GCS recommendation This patch converts the internal perl modules used by automake and aclocal to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, lib/Automake/General.pm, lib/Automake/Item.pm, lib/Automake/Rule.pm, lib/Automake/Getopt.pm, lib/Automake/Options.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and adjust quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini ea1a4174 2010-09-26T16:39:45 Merge branch 'maint' Conflicts: Makefile.am Makefile.in lib/Automake/Configure_ac.pm
Stefano Lattarini 627f0a91 2010-09-22T21:35:58 Perl modules: remove references to "Automake CVS repository". * lib/Automake/Channels.pm: Update comments to refer to "Automke's git repository" rather than to "Automake's CVS repository". * lib/Automake/Configure_ac.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/Struct.pm: Likewise. * lib/Automake/XFile.pm: Likewise. * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git branches" rather than "CVS branches".
Eric Blake 35597a75 2010-09-17T14:17:07 Merge branch 'maint'
Eric Blake 978dfcf5 2010-09-17T06:31:33 Avoid triple-space after period. * automake.in (handle_single_transform): Avoid 3 spaces at sentence end. * ChangeLog.03: Likewise. * lib/Automake/ChannelDefs.pm: Likewise. * lib/Automake/Channels.pm (_print_message): Likewise. * lib/Automake/Rule.pm (rule): Likewise. * lib/Automake/Variable.pm (var): Likewise. * lib/am/distdir.am: Likewise. * tests/insthook.test: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Ralf Wildenhues 83d7976f 2010-04-25T18:26:14 Warning and error message formatting cleanups. * aclocal.in (parse_arguments, main): Remove trailing period or newline in error or warning messages, avoid capitalization of the first word of a message. * automake.in (check_user_variables, handle_languages) (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files) (scan_autoconf_files, cond_stack_if, require_file_internal) (usage, generate_makefile, parse_arguments): Likewise. * lib/Automake/ChannelDefs.pm (set_strictness): Likewise. * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise. * lib/Automake/Options.pm (set_strictness): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define, variables_dump): Likewise. * tests/ltinstloc.test, tests/suffix11.test: Adjust expected error message. * lib/Automake/Channels.pm (setup_channel): Reword error message to be the same as in msg. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcad1df7 2010-04-20T07:47:11 Merge branch 'maint'
Stefano Lattarini 74be0c27 2010-04-17T15:40:35 Fix typo in POD documentation of Automake::Channels. * lib/Automake/Channels.pm: Fixed typo in POD documentation: @<...> was used instead of C<...>.
Ralf Wildenhues 16552859 2010-04-11T22:00:09 Print 'warnings are treated as errors' note if needed. * lib/Automake/Channels.pm: Fix typo in comment. (_print_message): If -Werror is enabled, print a 'warnings are treated as errors' note before the first such warning. * tests/warnopts.test: Adjust comment to mention expected warning. Adjust code to ignore 'warnings are treated as errors' note. * tests/location.test: Adjust expected output with -Werror. * tests/werror4.test: New test. * tests/Makefile.am: Update. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues bda8d57b 2010-04-11T21:04:13 Prepend type to warning, error, and fatal messages. For the first part of messages of types `error' or `fatal', prepend `error: ' to the message. Prepend `warning: ' to warning messages, whatever the setting of -Werror. * lib/Automake/Channels.pm (partial): Move up definition. (_format_message): Emit `header' and `footer' strings only with the first resp. last part of a set of partial messages. * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the end of the module. (Automake::ChannelDefs): Setup warning channels with header `warning: ', error and fatal messages with header `error: '. * tests/condinc2.test, tests/ltinstloc.test: Adjust expected error messages. * tests/comment5.test: Likewise. Also, include stack notes should not start with `error:'. * tests/location.test: Likewise. Also, try both -Werror and -Wno-error. * NEWS: Update. Report by Bruno Haible. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b3d9df07 2010-04-11T19:56:21 Fix per-Makefile.am setting of -Werror. Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one Makefile.am would carry over to other Makefile.am files treated afterwards by the same thread, causing inconsistent and unstable exit status values. * lib/Automake/Channels.pm (dup_channel_setup) (drop_channel_setup): Save and restore the setting of $warnings_are_errors. * tests/werror3.test: New test. * tests/Makefile.am: Adjust. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 18546c2c 2010-03-06T09:14:06 Formatting cleanups in macro comments. * automake.in, lib/Automake/Channels.pm, lib/Automake/FileUtils.pm, lib/Automake/Options.pm, lib/Automake/Variable.pm, lib/Automake/XFile.pm, m4/options.m4, m4/substnot.m4: Fix macro comment format. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 3fd0df9b 2008-10-26T20:11:12 Parallel automake: ordered output messages. * lib/Automake/Channels.pm (%_default_options): New options `ordered' default enabled, `queue', default zero (no queue), `queue_key' default undefined. (_merge_options): Ensure `ordered' channels cannot have fatal messages or backtrace output. (_enqueue, _dequeue): New functions, to push messages onto a Thread::Queue, and output messages from such a queue, suitably weeded for duplicates in the same manner as _print_message. (_print_message): If the channel is ordered and has an associated queue, then enqueue messages instead of printing them. (setup_channel_queue, pop_channel_queue): New functions, to set a Thread::Queue for channels, and to flush a queue. * lib/Automake/ChannelDefs.pm: Unset channel option `ordered' for fatal, automake, and verb channels. * automake.in (QUEUE_MESSAGE): New global constant, used as serialization key. (handle_makefiles_threaded): Create message queues for each input file; workers queue messages, and the master outputs them ordered, using the new Channels.pm functions. * tests/parallel-am.test: Also check for ordered output (in the absence of --add-missing races). * tests/parallel-am2.test: New test; check for ordered output of warning and (regular) error messages. * tests/Makefile.am: Adjust. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 937775c8 2008-10-26T19:29:25 Parallel automake execution: AUTOMAKE_JOBS. * lib/Automake/Config.in (perl_threads): New global. * automake.in: Use it. If the perl supports interpreter-based threading, then use `threads' and `Thread::Queue'. (handle_makefile, handle_makefiles_serial): New functions, factored out from main. (get_number_of_threads): New function, compute number of threads to use, based on environment variable `AUTOMAKE_JOBS' and number of independent makefiles. (handle_makefiles_threaded): New function. Spawn threads, use thread queue to distribute handling the different makefiles. Collect $exit_code values from threads. (main): Use new functions. * aclocal.in: No threads here. * configure.ac: Substitute PERL_THREADS; enabled with perl >= 5.7.2 and when ithreads are available. * bootstrap (dosubst): Likewise. * Makefile.am (do_subst): Likewise. * lib/Automake/Makefile.am (do_subst): Likewise. * lib/Automake/ChannelDefs.pm: Use `Automake::Config' and `threads'. (verb): Prepend thread ID (tid) to verbose messages. * lib/Automake/Channels.pm (msg): Before exiting, flush stderr, needed for worker threads. * lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also include the build tree path, so Config.pm is found. * tests/parallel-am.test: New test. * tests/Makefile.am: Update. * doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS. * NEWS, THANKS: Update. Report about long execution times by Joakim Tjernlund and others. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 78ed7740 2008-10-22T21:59:02 Drop unused variable. * lib/Automake/Channels.pm (@chain): Drop unused variable. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e3acdefa 2007-12-08T11:20:24 Reword the copyright notices to match what's suggested in GPLv3.
Ralf Wildenhues b9ff055d 2007-07-07T11:23:29 * COPYING, lib/COPYING: Update to GPLv3. All uses changed. * NEWS: Update.
Ralf Wildenhues 00ce7b92 2006-05-17T02:03:04 * lib/Autom4te/Configure_ac.pm (find_configure_ac): Use `$configure_in' instead of `configure.in', to preserve directory component. * lib/Automake/Configure_ac.pm: Add note that Automake owns this file. * lib/Automake/Channels.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/Struct.pm: Likewise.
Ralf Wildenhues ba6a8b00 2006-05-13T09:28:36 * lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/DisjConditions.pm, lib/Automake/Options.pm, lib/Automake/VarDef.pm, lib/Automake/Wrap.pm: Fix some typos.
Alexandre Duret-Lutz 1183efd3 2005-05-14T20:28:56 * COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.96, ChangeLog.98, HACKING, Makefile.am, NEWS, README, TODO, aclocal.in, automake.in, bootstrap, configure, configure.ac, doc/Makefile.am, doc/fdl.texi, lib/COPYING, lib/Makefile.am, lib/acinstall, lib/compile, lib/config-ml.in, lib/config.guess, lib/config.sub, lib/depcomp, lib/elisp-comp, lib/gnupload, lib/mdate-sh, lib/missing, lib/py-compile, lib/symlink-tree, lib/texinfo.tex, lib/ylwrap, lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/Config.in, lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, lib/Automake/General.pm, lib/Automake/Item.pm, lib/Automake/ItemDef.pm, lib/Automake/Location.pm, lib/Automake/Makefile.am, lib/Automake/Options.pm, lib/Automake/Rule.pm, lib/Automake/RuleDef.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/Wrap.pm, lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl, lib/Automake/tests/DisjConditions.pl, lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl, lib/Automake/tests/Wrap.pl, lib/am/Makefile.am, lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am, lib/am/clean.am, lib/am/compile.am, lib/am/configure.am, lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am, lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am, lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am, lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am, lib/am/lex.am, lib/am/library.am, lib/am/libs.am, lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am, lib/am/multilib.am, lib/am/program.am, lib/am/progs.am, lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am, lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am, lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am, m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test, tests/acloca11.test, tests/acloca12.test, tests/acloca13.test, tests/acloca14.test, tests/acloca15.test, tests/acloca16.test, tests/acloca17.test, tests/acloca18.test, tests/acloca19.test, tests/aclocal.test, tests/aclocal3.test, tests/aclocal4.test, tests/aclocal5.test, tests/aclocal6.test, tests/aclocal7.test, tests/aclocal8.test, tests/aclocal9.test, tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test, tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test, tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test, tests/all.test, tests/alloca.test, tests/alloca2.test, tests/alpha.test, tests/alpha2.test, tests/amassign.test, tests/ammissing.test, tests/ansi.test, tests/ansi10.test, tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test, tests/ansi4.test, tests/ansi5.test, tests/ansi6.test, tests/ansi7.test, tests/ansi8.test, tests/ansi9.test, tests/ar.test, tests/ar2.test, tests/asm.test, tests/autohdr.test, tests/autohdr2.test, tests/autohdr3.test, tests/autohdr4.test, tests/automake.test, tests/auxdir.test, tests/auxdir2.test, tests/auxdir3.test, tests/auxdir4.test, tests/backsl.test, tests/backsl2.test, tests/backsl3.test, tests/backsl4.test, tests/badline.test, tests/badopt.test, tests/badprog.test, tests/block.test, tests/bsource.test, tests/canon.test, tests/canon2.test, tests/canon3.test, tests/canon4.test, tests/canon5.test, tests/ccnoco.test, tests/check.test, tests/check2.test, tests/check3.test, tests/check4.test, tests/checkall.test, tests/clean.test, tests/clean2.test, tests/colneq.test, tests/colneq2.test, tests/colon.test, tests/colon2.test, tests/colon3.test, tests/colon4.test, tests/colon5.test, tests/colon6.test, tests/colon7.test, tests/comment.test, tests/comment2.test, tests/comment3.test, tests/comment4.test, tests/comment5.test, tests/comment6.test, tests/comment7.test, tests/comment8.test, tests/comment9.test, tests/compile.test, tests/compile_f90_c_cxx.test, tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test, tests/cond11.test, tests/cond13.test, tests/cond14.test, tests/cond15.test, tests/cond16.test, tests/cond17.test, tests/cond18.test, tests/cond19.test, tests/cond2.test, tests/cond20.test, tests/cond21.test, tests/cond22.test, tests/cond23.test, tests/cond24.test, tests/cond25.test, tests/cond26.test, tests/cond27.test, tests/cond28.test, tests/cond29.test, tests/cond3.test, tests/cond30.test, tests/cond31.test, tests/cond32.test, tests/cond33.test, tests/cond34.test, tests/cond35.test, tests/cond36.test, tests/cond37.test, tests/cond4.test, tests/cond5.test, tests/cond6.test, tests/cond7.test, tests/cond8.test, tests/cond9.test, tests/condd.test, tests/condhook.test, tests/condinc.test, tests/condinc2.test, tests/condlib.test, tests/condman.test, tests/condman2.test, tests/conf2.test, tests/confdeps.test, tests/conff.test, tests/conff2.test, tests/confh.test, tests/confh4.test, tests/confh5.test, tests/config.test, tests/confincl.test, tests/conflnk.test, tests/conflnk2.test, tests/conflnk3.test, tests/confsub.test, tests/confvar.test, tests/confvar2.test, tests/copy.test, tests/ctarget1.test, tests/cxx.test, tests/cxx2.test, tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test, tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test, tests/cygwin32.test, tests/dash.test, tests/defs.in, tests/defun.test, tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test, tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test, tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test, tests/depcomp.test, tests/depcomp2.test, tests/depcomp3.test, tests/depcomp4.test, tests/depcomp5.test, tests/depdist.test, tests/depend.test, tests/depend2.test, tests/depend3.test, tests/depend4.test, tests/destdir.test, tests/dirforbid.test, tests/dirlist.test, tests/discover.test, tests/distcom2.test, tests/distcom3.test, tests/distcom4.test, tests/distcom5.test, tests/distcom6.test, tests/distcom7.test, tests/distdir.test, tests/distname.test, tests/dollar.test, tests/double.test, tests/dup2.test, tests/else.test, tests/empty.test, tests/empty2.test, tests/empty3.test, tests/empty4.test, tests/exdir.test, tests/exdir2.test, tests/exeext.test, tests/exeext2.test, tests/exeext3.test, tests/exeext4.test, tests/exsource.test, tests/ext.test, tests/ext2.test, tests/extra.test, tests/extra2.test, tests/extra3.test, tests/extra4.test, tests/extra5.test, tests/extra6.test, tests/extra7.test, tests/f90only.test, tests/flibs.test, tests/fn99.test, tests/fnoc.test, tests/fo.test, tests/fonly.test, tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test, tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test, tests/gcj5.test, tests/getopt.test, tests/gettext.test, tests/gettext2.test, tests/gnits.test, tests/gnits2.test, tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test, tests/gnuwarn2.test, tests/header.test, tests/help.test, tests/hfs.test, tests/hosts.test, tests/implicit.test, tests/include.test, tests/include2.test, tests/info.test, tests/insh2.test, tests/install2.test, tests/installdir.test, tests/instdat.test, tests/instdat2.test, tests/instexec.test, tests/insthook.test, tests/instman.test, tests/instman2.test, tests/instsh.test, tests/instsh2.test, tests/instspc.test, tests/interp.test, tests/interp2.test, tests/java.test, tests/java2.test, tests/java3.test, tests/javaprim.test, tests/javasubst.test, tests/ldadd.test, tests/ldflags.test, tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test, tests/lex5.test, tests/libobj10.test, tests/libobj11.test, tests/libobj12.test, tests/libobj13.test, tests/libobj14.test, tests/libobj2.test, tests/libobj3.test, tests/libobj4.test, tests/libobj5.test, tests/libobj7.test, tests/libobj8.test, tests/library.test, tests/library2.test, tests/library3.test, tests/libtool.test, tests/libtool2.test, tests/libtool3.test, tests/libtool4.test, tests/libtool5.test, tests/libtool6.test, tests/libtool7.test, tests/libtool8.test, tests/libtool9.test, tests/license.test, tests/link_c_cxx.test, tests/link_dist.test, tests/link_f90_only.test, tests/link_f_only.test, tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test, tests/lisp2.test, tests/lisp3.test, tests/lisp4.test, tests/lisp5.test, tests/lisp6.test, tests/lisp7.test, tests/lisp8.test, tests/listval.test, tests/location.test, tests/longlin2.test, tests/longline.test, tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test, tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test, tests/make.test, tests/makej.test, tests/makevars.test, tests/man.test, tests/man2.test, tests/mclean.test, tests/mdate.test, tests/mdate2.test, tests/mdate3.test, tests/mdate4.test, tests/missing.test, tests/missing2.test, tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test, tests/mmodely.test, tests/multlib.test, tests/nobase.test, tests/nodef.test, tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test, tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test, tests/noinst.test, tests/noinstdir.test, tests/nolink.test, tests/nostdinc.test, tests/number.test, tests/obsolete.test, tests/order.test, tests/outdir.test, tests/output.test, tests/output10.test, tests/output11.test, tests/output12.test, tests/output2.test, tests/output3.test, tests/output4.test, tests/output5.test, tests/output6.test, tests/output7.test, tests/output8.test, tests/output9.test, tests/overrid.test, tests/parse.test, tests/percent.test, tests/percent2.test, tests/phony.test, tests/pluseq.test, tests/pluseq10.test, tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test, tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test, tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test, tests/ppf77.test, tests/pr2.test, tests/pr204.test, tests/pr211.test, tests/pr220.test, tests/pr224.test, tests/pr229.test, tests/pr243.test, tests/pr266.test, tests/pr279-2.test, tests/pr279.test, tests/pr287.test, tests/pr300-lib.test, tests/pr300-ltlib.test, tests/pr300-prog.test, tests/pr307.test, tests/pr401.test, tests/pr401b.test, tests/pr401c.test, tests/pr72.test, tests/pr87.test, tests/pr9.test, tests/prefix.test, tests/primary.test, tests/primary2.test, tests/primary3.test, tests/proginst.test, tests/python.test, tests/python10.test, tests/python11.test, tests/python12.test, tests/python2.test, tests/python3.test, tests/python4.test, tests/python5.test, tests/python6.test, tests/python7.test, tests/python8.test, tests/python9.test, tests/recurs.test, tests/recurs2.test, tests/regex.test, tests/remake.test, tests/remake2.test, tests/remake3.test, tests/remake4.test, tests/remake5.test, tests/req.test, tests/reqd.test, tests/reqd2.test, tests/rulepat.test, tests/scripts.test, tests/seenc.test, tests/sinclude.test, tests/space.test, tests/specflg.test, tests/specflg2.test, tests/specflg3.test, tests/specflg6.test, tests/specflg7.test, tests/specflg8.test, tests/specflg9.test, tests/spell.test, tests/spell2.test, tests/spell3.test, tests/spelling.test, tests/spy.test, tests/srcsub.test, tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test, tests/stdlib2.test, tests/strip.test, tests/subcond.test, tests/subcond2.test, tests/subcond3.test, tests/subdir.test, tests/subdir2.test, tests/subdir3.test, tests/subdir4.test, tests/subdir5.test, tests/subdir6.test, tests/subdir7.test, tests/subdir8.test, tests/subdir9.test, tests/subdirbuiltsources.test, tests/subobj.test, tests/subobj2.test, tests/subobj3.test, tests/subobj4.test, tests/subobj5.test, tests/subobj6.test, tests/subobj7.test, tests/subobj8.test, tests/subobj9.test, tests/subobjname.test, tests/subpkg.test, tests/subpkg2.test, tests/subst.test, tests/subst2.test, tests/substre2.test, tests/substref.test, tests/substtarg.test, tests/suffix.test, tests/suffix10.test, tests/suffix11.test, tests/suffix2.test, tests/suffix3.test, tests/suffix4.test, tests/suffix5.test, tests/suffix6.test, tests/suffix7.test, tests/suffix8.test, tests/suffix9.test, tests/symlink.test, tests/symlink2.test, tests/symlink3.test, tests/syntax.test, tests/tags.test, tests/tagsub.test, tests/tar.test, tests/tar2.test, tests/tar3.test, tests/target-cflags.test, tests/targetclash.test, tests/transform.test, tests/txinfo.test, tests/txinfo10.test, tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test, tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test, tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test, tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test, tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test, tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test, tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test, tests/txinfo8.test, tests/txinfo9.test, tests/unused.test, tests/vars.test, tests/vars3.test, tests/vartar.test, tests/version.test, tests/version2.test, tests/version3.test, tests/version4.test, tests/version6.test, tests/version7.test, tests/version8.test, tests/vpath.test, tests/vtexi.test, tests/vtexi2.test, tests/warnopts.test, tests/werror.test, tests/werror2.test, tests/whoami.test, tests/xsource.test, tests/yacc.test, tests/yacc2.test, tests/yacc3.test, tests/yacc4.test, tests/yacc5.test, tests/yacc6.test, tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test, tests/yaccvpath.test: Update FSF postal mail address.
Alexandre Duret-Lutz 353530b0 2004-09-10T19:29:54 * lib/Automake/Channels.pm (_print_message): Handle uniq_part with arbitrary string. * automake.in (lang_c_rewrite): Set uniq_part so that the AM_PROG_CC_C_O diagnostic is output only once for subdir objects and only once for objects with per-target flags.
Paul Eggert 636c8076 2003-09-06T05:36:57 Spelling and minor grammar fixes.
Akim Demaille ce9484c9 2002-10-31T11:55:27 * tests/location.test (Makefile.am): Strengthen. * lib/Automake/Channels.pm (_print_message): Be sure to flush $partial when the message is output. Thanks to Alexandre Duret-Lutz.
Alexandre Duret-Lutz 66198a01 2002-09-29T14:51:25 * lib/Automake/Channels.pm (%_default_options): Add 'partial'. (_format_message): Rename as ... (_format_sub_message): ... this. (_format_message): New function, extracted from ... (_print_message): ... here. Honor the 'partial' option. ($partial): New variable. * automake.in (handle_ltlibraries, check_ambiguous_conditional, rule_define): Mark partial messages.
Alexandre Duret-Lutz 5d52af28 2002-09-28T12:41:06 For PR automake/360: * lib/Automake/Location.pm: New file. * lib/Automake/Channels.pm (_print_message): Display contexts when given an Automake::Location. (msg): Clone the location. * lib/Automake/Makefile.am (dist_perllib_DATA): Add Location.pm. * tests/comment5.test: Make sure we display `included from' stacks. * automake.in: Use Automake::Location. (INTERNAL): New constant. (file_contents, file_contents_internal, define_variable, define_pretty_variable, read_am_file): Take $WHERE as argument. Adjust all callers. (scan_autoconf_traces) <$where>: Define as a Location, and use it instead of $here. (macro_define, rule_define): Make sure $WHERE is a location. Clone it before updating $var_location or $targets.
Paul Eggert 338e5e4c 2002-09-16T04:50:51 Don't use 'our', as it isn't portable to Perl 5.00503.
Alexandre Duret-Lutz fcdc5da2 2002-09-10T20:45:58 * lib/Automake/Channels.pm (_default_options): Add `backtrace'. (msg): Die with backtrace if requested. * automake.in: Enable `backtrace' on the `automake' channel.
Alexandre Duret-Lutz 4261037e 2002-08-23T12:24:48 * lib/Automake/Channels.pm (buffering, backlog): New variables. (buffer_messages, flush_messages): New functions. (@EXPORT): Add buffer_messages and flush_messages. * automake.in (generate_makefile): Call buffer_messages and flush_messages to buffer warnings until AUTOMAKE_OPTIONS has been read.
Alexandre Duret-Lutz 91c2a87f 2002-07-16T21:46:59 * lib/Automake/Channels.pm (dup_channel_setup, drop_channel_setup): New functions. (@EXPORT): Add them. * automake.in (generate_makefile): Call dup_channel_setup and drop_channel_setup. (process_option_list): Recognize --warnings and -W options. * automake.texi (Options): Document them. * tests/pluseq5.test: Check that -Wno-obsolete will disable the warning. * tests/warnopts.test: New file. * tests/Makefile.am (TESTS): Add warnopts.test.
Alexandre Duret-Lutz c037f202 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'.