test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / t / aminit-moreargs-deprecation.sh
blob9b19474ef1a4f0716a27fdaee16f2d40e604c0f6
1 #! /bin/sh
2 # Copyright (C) 2012-2024 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 # Check that automake warns against old-style usages of AM_INIT_AUTOMAKE
18 # (i.e., calls with two or three arguments).
20 . test-init.sh
22 warn_rx='AM_INIT_AUTOMAKE.* two-.* three-arguments form.*deprecated'
24 cat > configure.ac <<'END'
25 AC_INIT([Makefile.am])
26 AM_INIT_AUTOMAKE([twoargs], [1.0])
27 AC_CONFIG_FILES([Makefile])
28 AC_OUTPUT
29 END
31 $ACLOCAL
33 do_check()
35 rm -rf autom4te*.cache
36 for cmd in "$AUTOCONF" "$AUTOMAKE"; do
37 $cmd -Werror -Wnone -Wobsolete 2>stderr && { cat stderr; exit 1; }
38 cat stderr >&2
39 grep "^configure\.ac:2:.*$warn_rx" stderr
40 $cmd -Werror -Wall -Wno-obsolete || exit 1
41 done
44 : > Makefile.am
45 do_check
47 sed "/^AM_INIT_AUTOMAKE/s|)$|, [NODEFINE])|" configure.ac > t
48 diff configure.ac t && fatal_ "failed to edit configure.ac"
49 mv -f t configure.ac
50 do_check