automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Refactoring elisp compilation


From: Jack Kelly
Subject: Refactoring elisp compilation
Date: Sat, 14 Jul 2012 22:18:28 +1000

Hi automakers,

I had a crack at refactoring the elisp compilation, getting rid of
elisp-comp and compiling files via a suffix rule. Patch is attached.

I am not submitting this for inclusion yet, I want to generate some
discussion first. I have the following concerns:

1. I would like to add silent-rules support, but it's not completely
straightforward. The call to file_contents is buried within
&am_install_var. I'm thinking of adding another option to
am_install_var that adds a silent var to the file_contents call.
Something like am_install_var( '-silent_var=FOO', ...), which would
result in a call to define_verbose_tagvar('FOO') and AM_V_FOO =>
verbose_flag('FOO') in the file_contents call.

2. If I implement (1) above, it's still not straightforward. The rules
will be invoked even if $(EMACS) = "no", so the suffix rule guards
against that, becoming a no-op if $(EMACS) = no. That will be
rechecked by on every invocation of "make", for every file in
$(ELCFILES). Perhaps an AM_CONDITIONAL in AM_PATH_LISPDIR is the way
to fix this? Existing tests shoudn't break because they set EMACS=no
either at configure time or in configure.ac.

3. On my Ubuntu system at least (and probably debian systems as well),
each call to emacs puts out a few messages of the form "Loading
00debian-vars...". This isn't too bad, just unsightly. Any shell/elisp
wizards have a suggestion?

4. Instead of invoking emacs for all files at once, a new emacs is now
started for each .el file. This might make incremental builds faster,
one-time builds slower, both or neither. Does anyone know of projects
with a significant amount of elisp that I could test on?

Comments extremely welcome.

-- Jack

Attachment: 0001-Removes-elisp-comp-and-implements-elisp-compilation-.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]