]> sourceware.org Git - automake.git/commitdiff
* automake.in (handle_emacs_lisp): Don't build *.elc files
authorAlexandre Duret-Lutz <adl@gnu.org>
Wed, 26 Feb 2003 20:11:17 +0000 (20:11 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Wed, 26 Feb 2003 20:11:17 +0000 (20:11 +0000)
if ELCFILES was set empty.
* tests/lisp4.test: New file.
* tests/Makefile.am (TESTS): Add lisp4.test.
Reported by Simon Josefsson.

ChangeLog
THANKS
automake.in
tests/Makefile.am
tests/Makefile.in
tests/lisp4.test [new file with mode: 0755]

index 690fccf89294d72a513449dd278bcde45de3d799..078d8b0c545bbc9c419cbc08461f5ef9a66a8fab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2003-02-26  Alexandre Duret-Lutz  <adl@gnu.org>
 
+       * 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.
+
        * tests/lex3.test, tests/lex5.test: Require flex.
        Reported by Leo Davis.
 
diff --git a/THANKS b/THANKS
index cc4df1ef592c9af2c05e3d75de1e7d92b63c33d4..6b89aa59642252939fb3501f7a02ca1e75d304fc 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -192,6 +192,7 @@ Sergey Vlasov               vsu@mivlgu.murom.ru
 Seth Alves             alves@hungry.com
 Shuhei Amakawa         sa264@cam.ac.uk
 Shigio Yamaguchi       shigio@tamacom.com
+Simon Josefsson                jas@extundo.com
 Simon Richter          sjr@debian.org
 Stepan Kasal           kasal@math.cas.cz
 Steve M. Robbins       steve@nyongwa.montreal.qc.ca
index 674ffd167e7f8b3f12aebe54bb0d4937caf24bd0..b4f94d3af8c59aa8150cc03bf24db0a984c0b61e 100755 (executable)
@@ -5106,15 +5106,22 @@ sub handle_emacs_lisp
 
   # Generate .elc files.
   my @elcfiles = map { $_->[1] . 'c' } @elfiles;
+
   define_pretty_variable ('ELCFILES', TRUE, INTERNAL, @elcfiles);
   define_pretty_variable ('am__ELFILES', TRUE, INTERNAL,
                          map { $_->[1] } @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 ($elfiles[0][0], "Emacs Lisp sources seen", TRUE,
                     'EMACS', 'lispdir');
index 284117a882e1daeda28ce071b110b050f12f6307..393bddfb1271b6c82e270fb92e0170f5192965e3 100644 (file)
@@ -257,6 +257,7 @@ link_f_only.test \
 lisp.test \
 lisp2.test \
 lisp3.test \
+lisp4.test \
 listval.test \
 location.test \
 ltdeps.test \
index 71994a3a33d27a0d6f5648ec0e696aa298220d46..fc98e205fbe1ab6b50da9117ab7ab0d3b17311e3 100644 (file)
@@ -351,6 +351,7 @@ link_f_only.test \
 lisp.test \
 lisp2.test \
 lisp3.test \
+lisp4.test \
 listval.test \
 location.test \
 ltdeps.test \
diff --git a/tests/lisp4.test b/tests/lisp4.test
new file mode 100755 (executable)
index 0000000..6ae43a3
--- /dev/null
@@ -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
This page took 0.039138 seconds and 5 git commands to generate.