2 # Copyright (C) 2003-2012 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)
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 <http://www.gnu.org/licenses/>.
17 # Test that compiling interdependent elisp files works.
22 cat > Makefile.am
<< 'EOF'
23 lisp_LISP
= am-one.el am-two.el am-three.el
24 EXTRA_DIST
= am-one.el am-two.el
26 echo "(provide 'am-three)" > $@
27 CLEANFILES
= am-three.el
30 cat >> configure.ac
<< 'EOF'
35 echo "(require 'am-two)" > am-one.el
36 echo "(require 'am-three) (provide 'am-two)" > am-two.el
37 # am-three.el is a built source
41 $AUTOMAKE --add-missing
43 .
/configure
--prefix="$(pwd)/_inst"
52 # Make sure we can recover from a deletion.
57 # Test installation/deinstallation.
61 find _inst
# For debugging.
63 # Keep thin in sync with m4/lispdir.m4.
64 for dir
in lib
/emacs lib
/xemacs
share
/emacs
share
/xemacs
:; do
65 if test $dir = :; then
67 elif test -d _inst
/$dir/site-lisp
; then
72 test -f _inst
/$dir/site-lisp
/am-one.el
73 test -f _inst
/$dir/site-lisp
/am-one.elc
74 test -f _inst
/$dir/site-lisp
/am-two.el
75 test -f _inst
/$dir/site-lisp
/am-two.elc
76 test -f _inst
/$dir/site-lisp
/am-three.el
77 test -f _inst
/$dir/site-lisp
/am-three.elc
80 find _inst |
$EGREP '\.elc?$' && exit 1
82 # Make sure we build all files when any of them change.
83 # (We grep a message to make sure the compilation happens.)
84 unique
=0a3346e2af8a689b85002b53df09142a
86 echo "(message \"$unique\")(provide 'am-three)" > am-three.el
87 $MAKE >output
2>&1 ||
{ cat output
; exit 1; }
91 # It should also work for VPATH-builds.