bug-automake
[Top][All Lists]
Advanced

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

FYI: lisp_DATA


From: Alexandre Duret-Lutz
Subject: FYI: lisp_DATA
Date: Wed, 26 Feb 2003 21:51:56 +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> 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.

 adl> In the future I think we'd better tell people who don't want
 adl> byte compilation to use lisp_DATA instead of lisp_LISP.  That
 adl> looks better than overriding an internal variable like ELCFILES.
 adl> (Of course that means _DATA should *not* refuse to install files
 adl> in lispdir, as it does now.)

[...]

I'm checking this in, on HEAD.

2003-02-26  Alexandre Duret-Lutz  <address@hidden>

        * automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
        instead of lisp_LISP when they don't want byte-compilation.  
        Don't mention ELCFILES anymore.
        * automake.in (handle_data): Allow lisp_DATA.
        * tests/lisp5.test: New file.
        * tests/Makefile.am (TESTS): Add lisp5.test.

Index: NEWS
===================================================================
RCS file: /cvs/automake/automake/NEWS,v
retrieving revision 1.204
diff -u -r1.204 NEWS
--- NEWS        24 Feb 2003 22:09:21 -0000      1.204
+++ NEWS        26 Feb 2003 20:42:04 -0000
@@ -44,6 +44,10 @@
 * elisp sources are compiled all at once, instead of one by one.
   This allows interdependencies and speeds up compilation.
 
+* lisp_DATA is now allowed.  If you are using the empty ELCFILES idiom
+  to disable byte-compilation of lisp_LISP files, it is recommanded that
+  you switch to using lisp_DATA.  ELCFILES is no longer documented.
+
 * AM_PROG_CC_STDC is now empty.  The content of this macro was
   merged in AC_PROG_CC.  If your code uses $am_cv_prog_cc_stdc,
   you should adjust it to use $ac_cv_prog_cc_stdc instead.
Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1436
diff -u -r1.1436 automake.in
--- automake.in 26 Feb 2003 20:11:18 -0000      1.1436
+++ automake.in 26 Feb 2003 20:42:17 -0000
@@ -4033,7 +4033,7 @@
 {
     &am_install_var ('-noextra', '-candist', 'data', 'DATA',
                     'data', 'sysconf', 'sharedstate', 'localstate',
-                    'pkgdata', 'noinst', 'check');
+                    'pkgdata', 'lisp', 'noinst', 'check');
 }
 
 # Handle TAGS.
Index: automake.texi
===================================================================
RCS file: /cvs/automake/automake/automake.texi,v
retrieving revision 1.324
diff -u -r1.324 automake.texi
--- automake.texi       23 Feb 2003 18:51:57 -0000      1.324
+++ automake.texi       26 Feb 2003 20:42:25 -0000
@@ -3794,19 +3794,18 @@
 @code{lisp_LISP} is defined, then @file{configure.in} must run
 @code{AM_PATH_LISPDIR} (@pxref{Macros}).
 
address@hidden ELCFILES
+Automake will byte-compile all Emacs Lisp source files using the Emacs
+found by @code{AM_PATH_LISPDIR}, if any was found.  If you wish to
+avoid byte-compiling, use @code{lisp_DATA} instead of
address@hidden
 
-By default Automake will byte-compile all Emacs Lisp source files using
-the Emacs found by @code{AM_PATH_LISPDIR}.  If you wish to avoid
-byte-compiling, simply define the variable @code{ELCFILES} to be empty.
 Byte-compiled Emacs Lisp files are not portable among all versions of
 Emacs, so it makes sense to turn this off if you expect sites to have
 more than one version of Emacs installed.  Furthermore, many packages
-don't actually benefit from byte-compilation.  Still, we recommend that
-you leave it enabled by default.  It is probably better for sites with
-strange setups to cope for themselves than to make the installation less
-nice for everybody else.
-
+don't actually benefit from byte-compilation.  Still, we recommend
+that you byte-compile your Emacs Lisp sources.  It is probably better
+for sites with strange setups to cope for themselves than to make the
+installation less nice for everybody else.
 
 @node gettext, Libtool, Emacs Lisp, Other GNU Tools
 @section Gettext
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.474
diff -u -r1.474 Makefile.am
--- tests/Makefile.am   26 Feb 2003 20:11:18 -0000      1.474
+++ tests/Makefile.am   26 Feb 2003 20:42:28 -0000
@@ -258,6 +258,7 @@
 lisp2.test \
 lisp3.test \
 lisp4.test \
+lisp5.test \
 listval.test \
 location.test \
 ltdeps.test \
Index: tests/lisp5.test
===================================================================
RCS file: tests/lisp5.test
diff -N tests/lisp5.test
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/lisp5.test    26 Feb 2003 20:42:29 -0000
@@ -0,0 +1,66 @@
+#! /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.
+
+# Same as lisp4.test, but using the now-recommanded way to install
+# non-bytecompiled *.el files.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+lisp_DATA = am-one.el am-two.el am-three.el
+EXTRA_DIST = am-one.el am-two.el
+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]