automake-patches
[Top][All Lists]
Advanced

[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





reply via email to

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