On Sat, Jun 30, 2012 at 11:19 AM, Makoto Fujiwara <mak...@ki.nu> wrote: > With your advice for VPATH issue, I am now using attached patch, > thanks a lot, > --- lib/elisp-comp.orig 2012-01-31 20:41:18.000000000 +0900 > +++ lib/elisp-comp 2012-04-13 22:14:39.000000000 +0900 > @@ -62,6 +62,7 @@ > fi > > tempdir=elc.$$ > +currdir=`pwd` > > # Cleanup the temporary directory on exit. > trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0 > @@ -72,7 +73,7 @@ > > ( > cd $tempdir > - echo "(setq load-path (cons nil load-path))" > script > + echo "(setq load-path (cons \"$currdir\" (cons nil load-path)))" > script > $EMACS -batch -q -l script -f batch-byte-compile *.el || exit $? > mv *.elc .. > ) || exit $?
Hi, Unfortunately your patch doesn't quite work, because in a VPATH build the build dir is not the sourcedir, so when you set $currdir, you are setting the wrong path. I'm not sure of the best way to fix this. The rules for calling elisp-comp could be updated so that $(abs_srcdir) is passed along: abs_srcdir="$(abs_srcdir)" EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ , which is then added to load-path. elisp-comp would still need a patch, but that's ok. As to providing test cases, something like this should work: configure.ac: AC_INIT([foo], [bar], [b...@quux.net]) AM_INIT_AUTOMAKE([foreign]) AM_PATH_LISPDIR AC_CONFIG_FILES([Makefile]) AC_OUTPUT Makefile.am: lisp_LISP = foo.el lisp_DATA = bar.el foo.el: (require 'bar) bar.el: (provide 'bar) Once elisp-comp (and whatever else) is fixed, this setup should survive a ./configure && make in both a normal and VPATH build. (Aside: my copyright paperwork should still be in order. Email me off-list if it is not.) -- Jack