summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 21:29:52 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 21:29:52 +0200
commitfc21a888343751b9fbd2bc35fe1ffc96f4f310f2 (patch)
tree9dbe9e88f231dbeb51f37eb0f40f5b4d66877d49
parentb6e6409a68595fec2c9bf484b36f0a498bd18d87 (diff)
parent0451b0bc8bc991dc4f19d43a7aad82a0a509758e (diff)
downloadautomake-fc21a888343751b9fbd2bc35fe1ffc96f4f310f2.tar.gz
Merge branch 'fix-pr11806' into maint
* fix-pr11806: lisp: better support of VPATH builds
-rw-r--r--lib/am/lisp.am3
-rwxr-xr-xlib/elisp-comp4
-rwxr-xr-xt/lisp-pr11806.sh51
-rw-r--r--t/list-of-tests.mk1
4 files changed, 56 insertions, 3 deletions
diff --git a/lib/am/lisp.am b/lib/am/lisp.am
index ba5c92a90..050d7dc47 100644
--- a/lib/am/lisp.am
+++ b/lib/am/lisp.am
@@ -36,7 +36,8 @@ elc-stamp: $(LISP)
done; \
## Finally call elisp-comp for all files.
shift; \
- EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \
+ abs_srcdir="$(abs_srcdir)" EMACS="$(EMACS)" $(SHELL) \
+ $(elisp_comp) "$$@" || exit 1; \
else : ; fi
@mv -f elc-temp $@
diff --git a/lib/elisp-comp b/lib/elisp-comp
index 7766db46b..5e888bd94 100755
--- a/lib/elisp-comp
+++ b/lib/elisp-comp
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright (C) 1995-2012 Free Software Foundation, Inc.
-scriptversion=2010-02-06.18; # UTC
+scriptversion=2012-07-05.17; # UTC
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1995.
#
@@ -75,7 +75,7 @@ cp "$@" $tempdir
(
cd $tempdir
- echo "(setq load-path (cons nil load-path))" > script
+ echo "(setq load-path (cons nil (cons \"$abs_srcdir\" load-path)))" > script
$EMACS -batch -q -l script -f batch-byte-compile *.el || exit $?
mv *.elc ..
) || exit $?
diff --git a/t/lisp-pr11806.sh b/t/lisp-pr11806.sh
new file mode 100755
index 000000000..c372ea5db
--- /dev/null
+++ b/t/lisp-pr11806.sh
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Compiling .el files that requires each other in a VPATH build.
+# See automake bug#11806.
+
+required=emacs
+. ./defs || exit 1
+
+cat >> configure.ac << 'END'
+AM_PATH_LISPDIR
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lisp_LISP = foo.el
+lisp_DATA = bar.el
+END
+
+echo "(require 'bar)" > foo.el
+echo "(provide 'bar)" > bar.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f foo.elc
+cd ..
+
+./configure
+$MAKE
+test -f foo.elc
+
+:
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index d5b7891b3..53b2439bd 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -640,6 +640,7 @@ t/lisp6.sh \
t/lisp7.sh \
t/lisp8.sh \
t/lispdry.sh \
+t/lisp-pr11806.sh \
t/listval.sh \
t/location.sh \
t/longline.sh \