[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automake 1.7.3 released
From: |
Alexandre Duret-Lutz |
Subject: |
Re: Automake 1.7.3 released |
Date: |
Wed, 26 Feb 2003 21:10:16 +0100 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) |
>>> "adl" == Alexandre Duret-Lutz <address@hidden> writes:
>>> "Simon" == Simon Josefsson <address@hidden> writes:
Simon> Alexandre Duret-Lutz <address@hidden> writes:
>>> * elisp files are now built all at once instead of one by one. Besides
>>> incurring a speed-up, this is required to support interdependent elisp
>>> files.
Simon> Setting ELCFILES= no longer stop byte compilation.
adl> Thanks for the report. I'll look at fixing this. By the
adl> meantime it should be enough to add `elc-stamp:' to your
adl> Makefile.am.
I'm installing the following fix on HEAD and branch-1-7.
2003-02-26 Alexandre Duret-Lutz <address@hidden>
* automake.in (handle_emacs_lisp): Don't build *.elc files
if ELCFILES was set empty.
* tests/lisp4.test: New file.
* tests/Makefile.am (TESTS): Add lisp4.test.
Reported by Simon Josefsson.
Index: THANKS
===================================================================
RCS file: /cvs/automake/automake/THANKS,v
retrieving revision 1.186.2.22
diff -u -r1.186.2.22 THANKS
--- THANKS 26 Feb 2003 12:17:25 -0000 1.186.2.22
+++ THANKS 26 Feb 2003 20:08:21 -0000
@@ -192,6 +192,7 @@
Seth Alves address@hidden
Shuhei Amakawa address@hidden
Shigio Yamaguchi address@hidden
+Simon Josefsson address@hidden
Simon Richter address@hidden
Stepan Kasal address@hidden
Steve M. Robbins address@hidden
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1365.2.35
diff -u -r1.1365.2.35 automake.in
--- automake.in 25 Feb 2003 17:31:16 -0000 1.1365.2.35
+++ automake.in 26 Feb 2003 20:08:32 -0000
@@ -5099,11 +5099,17 @@
define_pretty_variable ('am__ELFILES', '', @elfiles);
- # It's important that all depends on elc-stamp so that
- # all .elc files get recompiled whenever a .el changes.
- # It's important that all depends on $(ELCFILES) so that
- # we can recover if any of them is deleted.
- push (@all, 'elc-stamp', '$(ELCFILES)');
+ # Do not depend on the build rules if ELCFILES is empty.
+ # This is necessary because overriding ELCFILES= is a documented
+ # idiom to disable byte-compilation.
+ if (variable_value ('ELCFILES'))
+ {
+ # It's important that all depends on elc-stamp so that
+ # all .elc files get recompiled whenever a .el changes.
+ # It's important that all depends on $(ELCFILES) so that
+ # we can recover if any of them is deleted.
+ push (@all, 'elc-stamp', '$(ELCFILES)');
+ }
require_variables ("$am_file.am", "Emacs Lisp sources seen", 'TRUE',
'EMACS', 'lispdir');
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.443.2.21
diff -u -r1.443.2.21 Makefile.am
--- tests/Makefile.am 25 Feb 2003 17:31:16 -0000 1.443.2.21
+++ tests/Makefile.am 26 Feb 2003 20:08:35 -0000
@@ -253,6 +253,7 @@
lisp.test \
lisp2.test \
lisp3.test \
+lisp4.test \
listval.test \
ltdeps.test \
ltlibobjs.test \
Index: tests/lisp4.test
===================================================================
RCS file: tests/lisp4.test
diff -N tests/lisp4.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/lisp4.test 26 Feb 2003 20:08:37 -0000
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 GNU Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Make sure setting ELCFILES= disable byte-compilation as documented.
+# Report from Simon Josefsson.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+lisp_LISP = am-one.el am-two.el am-three.el
+EXTRA_DIST = am-one.el am-two.el
+ELCFILES=
+am-three.el:
+ echo "(provide 'am-three)" > $@
+CLEANFILES = am-three.el
+
+install-test: install
+ test -f $(lispdir)/am-one.el
+ test -f $(lispdir)/am-two.el
+ test -f $(lispdir)/am-three.el
+ test ! -f $(lispdir)/am-one.elc
+ test ! -f $(lispdir)/am-two.elc
+ test ! -f $(lispdir)/am-three.elc
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+# am-tree.el is a built source
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure --prefix "`pwd`"
+
+$MAKE
+
+test ! -f am-one.elc
+test ! -f am-two.elc
+test ! -f am-three.elc
+test ! -f elc-stamp
+
+$MAKE install-test
--
Alexandre Duret-Lutz
Re: Automake 1.7.3 released,
Alexandre Duret-Lutz <=
FYI: lisp_DATA, Alexandre Duret-Lutz, 2003/02/26
FYI: document dist_lisp_LISP (Was: Re: Automake 1.7.3 released), Alexandre Duret-Lutz, 2003/02/26