maint: Update HACKING
[automake.git] / t / warnings-precedence.sh
blobd4237d49e18836968a420346a51699e562239f64
1 #! /bin/sh
2 # Copyright (C) 2011-2017 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
17 # On the command line, in AM_INIT_AUTOMAKE, and in AUTOMAKE_OPTIONS,
18 # warnings specified later should take precedence over those specified
19 # earlier.
21 . test-init.sh
23 # We want (almost) complete control over automake options.
24 AUTOMAKE="$am_original_AUTOMAKE -Werror"
26 cat > Makefile.am <<'END'
27 FOO := bar
28 AUTOMAKE_OPTIONS =
29 END
31 set_warnings ()
33 set +x
34 sed <$2 >$2-t -e "s|^\\(AUTOMAKE_OPTIONS\\) *=.*|\\1 = $1|" \
35 -e "s|^\\(AM_INIT_AUTOMAKE\\).*|\\1([$1])|"
36 mv -f $2-t $2
37 set -x
38 cat $2
41 ok ()
43 $AUTOMAKE $*
46 ko ()
48 AUTOMAKE_fails $*
49 grep '^Makefile\.am:1:.*:=.*not portable' stderr
52 # Files required in gnu strictness.
53 touch README INSTALL NEWS AUTHORS ChangeLog COPYING
55 $ACLOCAL
56 ok -Wportability -Wno-portability
57 ko -Wno-portability -Wportability
59 set_warnings '' Makefile.am
60 set_warnings '-Wportability -Wno-portability' configure.ac
61 rm -rf autom4te*.cache
62 $ACLOCAL
64 set_warnings '-Wno-portability -Wportability' configure.ac
65 rm -rf autom4te*.cache
66 $ACLOCAL
69 set_warnings '' configure.ac
70 rm -rf autom4te*.cache
71 $ACLOCAL
72 set_warnings '-Wportability -Wno-portability' Makefile.am
74 set_warnings '-Wno-portability -Wportability' Makefile.am