test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / t / aclocal-m4-sinclude.sh
blobe630fa1eb2d67c4a346afce12e0efcc72749f8f8
1 #! /bin/sh
2 # Copyright (C) 2003-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 # Make sure changes to m4_included files also cause aclocal.m4 to change.
19 . test-init.sh
21 cat > configure.ac << 'END'
22 AC_INIT([m4sinclude], [1.0])
23 AM_INIT_AUTOMAKE
24 m4_include([somefile.m4])
25 AC_CONFIG_FILES([Makefile])
26 AC_OUTPUT
27 END
29 cat >Makefile.am <<'EOF'
30 check-local:
31 test -f "$(srcdir)/somefile.m4"
32 test -f "$(srcdir)/m4/version1.m4"
33 test -f "$(srcdir)/m4/otherfile.m4"
34 EOF
36 mkdir m4
38 echo MACRO1 >somefile.m4
39 echo 'AC_PREREQ([2.58])' >m4/otherfile.m4
41 cat >m4/version1.m4 <<EOF
42 AC_DEFUN([MACRO1])
43 AC_DEFUN([MACRO2])
44 m4_sinclude(m4/otherfile.m4)
45 EOF
47 cat >m4/version2.m4 <<EOF
48 AC_DEFUN([MACRO1])
49 EOF
51 $ACLOCAL -I m4
52 grep version2 aclocal.m4
53 grep version1 aclocal.m4 && exit 1
55 $sleep
56 echo MACRO2 >somefile.m4
58 $ACLOCAL -I m4
59 grep version2 aclocal.m4 && exit 1
60 grep version1 aclocal.m4
62 $sleep
63 # aclocal.m4 should change if we touch otherfile.m4
64 touch m4/otherfile.m4
65 $ACLOCAL -I m4
66 is_newest aclocal.m4 m4/otherfile.m4
68 $AUTOCONF
69 $AUTOMAKE
70 ./configure
71 $MAKE distcheck