tags 11806 + patch thanks On 07/01/2012 01:03 AM, Jack Kelly wrote: > On Sat, Jun 30, 2012 at 11:19 AM, Makoto Fujiwara 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], [baz@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. > Thanks. I've condensed a patch from you explanation (see attachment). I will push it shortly if there are no objections. > (Aside: my copyright paperwork should still be in order. Email me > off-list if it is not.) > I don't have an account on fencepost, so I can't check this, sorry. Since your part of the changes are short enough to be classified as "tiny change", I've just added a 'Copyright-paperwork-exempt' field to the patch to get the easiest way out. > -- Jack Thanks, Stefano