test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / t / libobj13.sh
blobce42f27903da453c593801c0497984d128582206
1 #! /bin/sh
2 # Copyright (C) 2002-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 # Test if a file can be mentioned in LTLIBOBJS and explicitly.
18 # (Like libobj12.sh, but for Libtool libraries.)
20 required='libtoolize'
21 . test-init.sh
23 cat >> configure.ac << 'END'
24 AC_PROG_CC
25 AM_PROG_AR
26 AC_PROG_LIBTOOL
27 AC_LIBOBJ([foo])
28 AC_OUTPUT
29 END
31 cat > Makefile.am << 'END'
32 noinst_LTLIBRARIES = libfoo.la libbar.la
34 libfoo_la_SOURCES =
35 libfoo_la_LIBADD = @LTLIBOBJS@
37 libbar_la_SOURCES = foo.c
38 END
40 : > foo.c
42 $ACLOCAL
43 : > ltmain.sh
44 $AUTOMAKE --add-missing
46 # This however should be diagnosed, since foo.c is in @LIBOBJS@.
47 echo 'libfoo_la_SOURCES += foo.c' >> Makefile.am
48 AUTOMAKE_fails
49 grep 'foo\.c.*explicitly mentioned' stderr