Merge branch 'missing-not-touch-just-warn'
[platform/upstream/automake.git] / t / lisp4.sh
1 #! /bin/sh
2 # Copyright (C) 2003-2012 Free Software Foundation, Inc.
3 #
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.
8 #
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.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Make sure setting ELCFILES= disable byte-compilation as documented.
18 # Report from Simon Josefsson.
19
20 required=emacs
21 . ./defs || Exit 1
22
23 cat > Makefile.am << 'EOF'
24 lisp_LISP = am-one.el am-two.el am-three.el
25 EXTRA_DIST = am-one.el am-two.el
26 ELCFILES=
27 am-three.el:
28         echo "(provide 'am-three)" > $@
29 CLEANFILES = am-three.el
30
31 test:
32         test ! -f am-one.elc
33         test ! -f am-two.elc
34         test ! -f am-three.elc
35         test ! -f elc-stamp
36
37 install-test: install
38         test -f "$(lispdir)/am-one.el"
39         test -f "$(lispdir)/am-two.el"
40         test -f "$(lispdir)/am-three.el"
41         test ! -f "$(lispdir)/am-one.elc"
42         test ! -f "$(lispdir)/am-two.elc"
43         test ! -f "$(lispdir)/am-three.elc"
44
45 not-installed:
46         find "$(lispdir)" | grep '\.el$$' && exit 1; :
47         find "$(lispdir)" | grep '\.elc$$' && exit 1; :
48 EOF
49
50 cat >> configure.ac << 'EOF'
51 AM_PATH_LISPDIR
52 AC_OUTPUT
53 EOF
54
55 echo "(require 'am-two)" > am-one.el
56 echo "(require 'am-three) (provide 'am-two)" > am-two.el
57 # am-tree.el is a built source
58
59 $ACLOCAL
60 $AUTOCONF
61 $AUTOMAKE --add-missing
62
63 cwd=$(pwd) || fatal_ "getting current working directory"
64
65 ./configure --prefix "$cwd"
66 $MAKE
67 $MAKE test
68 $MAKE install-test
69 $MAKE uninstall
70 $MAKE not-installed
71
72 # Fake the absence of emacs.
73 # *.el files should not be installed, but "make install" and
74 # "make uninstall" should continue to work.
75 ./configure EMACS=no --prefix "$cwd"
76 $MAKE
77 $MAKE test
78 $MAKE install
79 $MAKE not-installed
80 $MAKE uninstall
81
82 :