Hash :
b67240eb
Author :
Date :
2010-12-20T12:10:56
Warnings win over strictness on command line. This change ensures that, on the command line at least, explicitly defined warnings always take precedence over implicit strictness implied warnings. Related to Automake bug#7669 a.k.a. PR/547. * automake.in (parse_arguments): Parse warnings only after the strictness level has been processed. * tests/gnuwarn.test: Update, plus miscellaneous improvements. * tests/warnings-win-over-strictness.test: New test. * tests/Makefile.am (TESTS): Update.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#! /bin/sh
# Copyright (C) 2002, 2003, 2011 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 <http://www.gnu.org/licenses/>.
# Check that Automake warns about user variables being overridden.
. ./defs || Exit 1
# We need (almost) complete control over automake options.
AUTOMAKE="$original_AUTOMAKE -Werror"
cat >> configure.in << 'END'
AC_PROG_CC
AC_OUTPUT
END
# Needed by --gnu.
: > NEWS
: > README
: > AUTHORS
: > ChangeLog
cat > Makefile.am << 'END'
CFLAGS += -I..
LDFLAGS = -lfoo
CXXFLAGS = -Wall
bin_PROGRAMS = bar
END
$ACLOCAL
# Don't warn in foreign mode
$AUTOMAKE --add-missing --foreign
# Warn in gnu mode
AUTOMAKE_fails --add-missing --gnu
grep '^Makefile\.am:1:.*CFLAGS' stderr
grep '^Makefile\.am:2:.*LDFLAGS' stderr
# No reason to warn about CXXFLAGS since it's not used.
grep CXXFLAGS stderr && Exit 1
# Don't warn if -Wno-gnu.
$AUTOMAKE --gnu -Wno-gnu
: