GNU bug report logs -
#7441
1.11.1: Emacs files in subdirs
Previous Next
Reported by: Akim Demaille <akim.demaille <at> gmail.com>
Date: Fri, 19 Nov 2010 09:22:01 UTC
Severity: normal
Tags: patch
Found in version 1.11.1
Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7441 in the body.
You can then email your comments to 7441 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
owner <at> debbugs.gnu.org, bug-automake <at> gnu.org
:
bug#7441
; Package
automake
.
(Fri, 19 Nov 2010 09:22:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Akim Demaille <akim.demaille <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-automake <at> gnu.org
.
(Fri, 19 Nov 2010 09:22:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi all,
When passing _LISP files with a path, Automake produces schizophrenic Makefiles that expects the elc files to have the same path too, but produces elc files in `.'.
---- Makefile.am
dist_lisp_LISP = build-aux/rebox.el build-aux/tiger.el build-aux/leopard.el
---- Makefile.in
LISP = $(dist_lisp_LISP)
am__ELFILES = build-aux/leopard.el build-aux/rebox.el \
build-aux/tiger.el
am__ELCFILES = $(am__ELFILES:.el=.elc)
ELCFILES = $(LISP:.el=.elc)
...
elc-stamp: $(LISP)
@echo 'WARNING: Warnings can be ignored. :-)'
@rm -f elc-temp && touch elc-temp
if test "$(EMACS)" != no; then \
set x; \
list='$(LISP)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
set x "$$@" "$$d$$p"; shift; \
done; \
shift; \
EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \
else : ; fi
@mv -f elc-temp $@
So basically, it expects that build-aux/rebox.el be compiled into build-aux/rebox.elc (which is also what I expected, à la subdir-objects), but it compiles the files as:
$(elisp_comp) $(srcdir)/build-aux/rebox.el
and elisp_comp, in that case, produces ./rebox.elc.
So:
1. there are compilations at each make because it can't see the elc files it expects.
2. it fails to install the compiled files
3. it fails to clean them
Thanks!
Information forwarded
to
owner <at> debbugs.gnu.org, bug-automake <at> gnu.org
:
bug#7441
; Package
automake
.
(Fri, 19 Nov 2010 10:06:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 7441 <at> debbugs.gnu.org (full text, mbox):
Hi Akim,
* Akim Demaille wrote on Fri, Nov 19, 2010 at 10:14:31AM CET:
>
> When passing _LISP files with a path, Automake produces schizophrenic
> Makefiles that expects the elc files to have the same path too, but
> produces elc files in `.'.
Yes. I asked the necessary questions a while ago:
<http://thread.gmane.org/gmane.comp.sysutils.automake.general/11057/focus=69380>
answers are still needed.
Thanks,
Ralf
Information forwarded
to
owner <at> debbugs.gnu.org, bug-automake <at> gnu.org
:
bug#7441
; Package
automake
.
(Fri, 19 Nov 2010 10:32:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 7441 <at> debbugs.gnu.org (full text, mbox):
Le 19 nov. 2010 à 11:10, Ralf Wildenhues a écrit :
> Hi Akim,
Hi Ralf,
> Yes. I asked the necessary questions a while ago:
> <http://thread.gmane.org/gmane.comp.sysutils.automake.general/11057/focus=69380>
>
> answers are still needed.
Sorry for the noise :( Thanks for looking into it!
Information forwarded
to
bug-automake <at> gnu.org
:
bug#7441
; Package
automake
.
(Sat, 04 Aug 2012 14:09:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 7441 <at> debbugs.gnu.org (full text, mbox):
* NEWS (Elisp byte-compilation): Here. Also notice that the recent
changes have fixed the long-standing (almost two years old!) automake
bug#7441.
Signed-off-by: Stefano Lattarini <stefano.lattarini <at> gmail.com>
---
With this patch, I believe the recent work on Elisp support is mature
enough for inclusion in master. I will proceed to the merge soon enough.
If you have doubts or objections, speak up soon!
Thanks,
Stefano
NEWS | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/NEWS b/NEWS
index d2fc46d..5884e78 100644
--- a/NEWS
+++ b/NEWS
@@ -44,6 +44,30 @@ New in 1.13:
- All the "old alias" macros in 'm4/obsolete.m4' have been removed.
+* Elisp byte-compilation:
+
+ - The byte compilation of '.el' files into '.elc' files is now done
+ with a suffix rule. This has simplified the compilation process, and
+ more importantly made it less brittle. The downside is that emacs is
+ now invoked once for each '.el' files, which cause some noticeable
+ slowdowns. These should however be mitigated on multicore machines
+ (which are becoming the norm today) if concurrent make ("make -j")
+ is used.
+
+ - Elisp files placed in a subdirectory are now byte-compiled to '.elc'
+ files in the same subdirectory; for example, byte-compiling of file
+ 'sub/foo.el' file will result in 'sub/foo.elc' rather than in
+ 'foo.elc'. This behaviour is backward-incompatible with older
+ Automake versions, but it is more natural and more sane. See also
+ automake bug#7441.
+
+ - The Emacs invocation performing byte-compilation of '.el' files honors
+ the $(AM_ELCFLAGS) and $(ELCFLAGS) variables; as typical, the former
+ one is developer-reserved and the latter one user-reserved.
+
+ - The 'elisp-comp' script, once provided by Automake, has been rendered
+ obsoleted by the just-described changes, and thus removed.
+
* Changes to Automake-generated testsuite harnesses:
- The parallel testsuite harness (previously only enabled by the
--
1.7.12.rc0
Information forwarded
to
bug-automake <at> gnu.org
:
bug#7441
; Package
automake
.
(Sun, 05 Aug 2012 09:51:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 7441 <at> debbugs.gnu.org (full text, mbox):
tags 7441 + patch
close 7441
thanks
On 08/04/2012 04:05 PM, Stefano Lattarini wrote:
> With these patched, I believe the recent work on Elisp support is mature
> enough for inclusion in master. I will proceed to the merge soon enough.
> If you have doubts or objections, speak up soon!
>
> Thanks,
> Stefano
>
> -*-*-*-
>
> Stefano Lattarini (3):
> elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
> coverage: byte-compiling elisp files in different subdirectories
> news: document all the recent elisp-related changes and improvements
>
> NEWS | 24 +++++++++++++
> doc/automake.texi | 5 ++-
> lib/am/lisp.am | 1 +
> t/lisp-flags.sh | 41 ++++++++++++++++++++++
> t/lisp-subdir-mix.sh | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> t/list-of-tests.mk | 2 ++
> 6 files changed, 168 insertions(+), 1 deletion(-)
> create mode 100755 t/lisp-flags.sh
> create mode 100755 t/lisp-subdir-mix.sh
>
Pushed to master now. And closing automake bug#7441 finally.
Regards,
Stefano
Added tag(s) patch.
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sun, 05 Aug 2012 09:51:03 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
7441 <at> debbugs.gnu.org and Akim Demaille <akim.demaille <at> gmail.com>
Request was from
Stefano Lattarini <stefano.lattarini <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sun, 05 Aug 2012 09:51:03 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 02 Sep 2012 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 295 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.