test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / t / lisp5.sh
blob5e41e719312e3308e85599fa6fb45539287b80eb
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 # Same as 'lisp4.sh', but using the now-recommended way to install
18 # non-bytecompiled *.el files.
20 required=emacs
21 . test-init.sh
23 cat > Makefile.am << 'EOF'
24 lisp_DATA = am-one.el am-two.el am-three.el
25 EXTRA_DIST = am-one.el am-two.el
26 am-three.el:
27 echo "(provide 'am-three)" > $@
28 CLEANFILES = am-three.el
30 test:
31 test ! -f am-one.elc
32 test ! -f am-two.elc
33 test ! -f am-three.elc
35 install-test: install
36 test -f "$(lispdir)/am-one.el"
37 test -f "$(lispdir)/am-two.el"
38 test -f "$(lispdir)/am-three.el"
39 test ! -f "$(lispdir)/am-one.elc"
40 test ! -f "$(lispdir)/am-two.elc"
41 test ! -f "$(lispdir)/am-three.elc"
43 not-installed:
44 find "$(lispdir)" | grep '\.el$$' && exit 1; :
45 find "$(lispdir)" | grep '\.elc$$' && exit 1; :
46 EOF
48 cat >> configure.ac << 'EOF'
49 AM_PATH_LISPDIR
50 AC_OUTPUT
51 EOF
53 echo "(require 'am-two)" > am-one.el
54 echo "(require 'am-three) (provide 'am-two)" > am-two.el
55 # am-tree.el is a built source
57 $ACLOCAL
58 $AUTOCONF
59 $AUTOMAKE --add-missing
61 cwd=$(pwd) || fatal_ "getting current working directory"
63 ./configure --prefix "$cwd"
64 $MAKE
65 $MAKE test
66 $MAKE install-test
67 $MAKE uninstall
68 $MAKE not-installed
70 # Fake the absence of emacs.
71 # *.el files SHOULD be installed by "make install" (and uninstalled
72 # by "make uninstall").
73 ./configure EMACS=no --prefix "$cwd"
74 $MAKE
75 $MAKE test
76 $MAKE install-test
77 $MAKE uninstall
78 $MAKE not-installed