• Show log

    Commit

  • Hash : 9ae8a896
    Author : Zack Weinberg
    Date : 2020-09-11T16:17:41

    Consistently process -W(no-)error after all other warning options.
    
    automake and aclocal were processing ‘-W(no-)error’ whenever it
    appeared on the command line, which means that
    ‘-Werror,something-strange’ would issue a hard error, but
    ‘-Wsomething-strange,error’ would only issue a warning.
    
    It is not desirable for warnings about unknown warning categories ever to be
    treated as a hard error; that leads to problems for driver scripts like
    autoreconf, which would like to pass whatever -W options it got on its own
    command line down to all the tools and not worry about which tools understand
    which warning categories.  Also, this sort of order dependence is confusing
    for humans.
    
    Change parse_warnings to take just one option, the _complete_ list of warning
    categories seen on the command line, and to process -Werror / -Wno-error after
    processing all other warnings options.  Thus, unknown warnings categories will
    always just be a plain warning.  This does mean aclocal has to stop using
    parse_warnings as a Getopt::Long callback, but that’s not a big deal.
    
    Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the
    environment variable, but not activate warnings-are-errors mode itself.
    parse_warnings picks up the record and honors it, unless it’s overridden by
    the command line.
    
    * lib/Automake/ChannelDefs.pm ($werror): New package global (not exported).
      (parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’;
      just toggle the value of $werror.
      (parse_warnings): Do not call switch_warning immediately for
      ‘error’ / ‘no-error’; toggle $werror instead.  Call switch_warning ‘error’
      at the very end if $werror is true.  Remove unused $OPTION argument.
    * bin/automake.in: parse_warnings now takes only one argument.
    * bin/aclocal.in: Call parse_warnings after parse_options instead of
      using it as a parse_options callback.
    

  • README

  • This is Automake, a Makefile generator.  It aims to be portable and
    to conform to the GNU Coding Standards for Makefile variables and
    targets.
    
    See the INSTALL file for detailed information about how to configure
    and install Automake.
    
    Automake is a Perl script.  The input files are called Makefile.am.
    The output files are called Makefile.in; they are intended for use
    with Autoconf.  Automake requires certain things to be done in your
    configure.ac.
    
    Automake comes with extensive documentation; please refer to it for
    more details about its purpose, features, and usage patterns.
    
    This package also includes the "aclocal" program, whose purpose is
    to generate an 'aclocal.m4' based on the contents of 'configure.ac'.
    It is useful as an extensible, maintainable mechanism for augmenting
    autoconf.  It is intended that other package authors will write m4
    macros which can be automatically used by aclocal.  The documentation
    for aclocal is currently found in the Automake manual.
    
    Automake has a test suite.  Use "make check" to run it.  For more
    information, see the file t/README.
    
    Automake has a page on the web.  See:
    
    	https://www.gnu.org/software/automake/
    
    Automake also has three mailing lists:
    
      * automake@gnu.org
        For general discussions of Automake and its interactions with other
        configuration/portability tools like Autoconf or Libtool.
    
      * bug-automake@gnu.org
        Where to send bug reports and feature requests.
    
      * automake-patches@gnu.org
        Where to send patches, and discuss the automake development process
        and the design of new features.
    
    To obtain more information about these list, or to subscribe to them,
    refer to <https://www.gnu.org/software/automake/#mailinglists>
    
    New releases are announced to autotools-announce@gnu.org.  If you want to
    be informed, subscribe to that list by following the instructions at
    <https://lists.gnu.org/mailman/listinfo/autotools-announce>.
    
    For any copyright year range specified as YYYY-ZZZZ in this package,
    the range specifies every single year in that closed interval.
    
    -----
    
    Copyright (C) 1994-2020 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
    the Free Software Foundation; either version 2, or (at your option)
    any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.