From f16706ad3be5e682e253316ff7d76022fb700433 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Wed, 26 Feb 2003 20:53:47 +0000 Subject: [PATCH] * 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. --- ChangeLog | 7 +++++ NEWS | 4 +++ automake.in | 2 +- automake.texi | 17 ++++++------ stamp-vti | 2 +- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/lisp5.test | 66 +++++++++++++++++++++++++++++++++++++++++++++++ version.texi | 2 +- 9 files changed, 90 insertions(+), 12 deletions(-) create mode 100755 tests/lisp5.test diff --git a/ChangeLog b/ChangeLog index 078d8b0c..d528ed47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2003-02-26 Alexandre Duret-Lutz + * 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. + * automake.in (handle_emacs_lisp): Don't build *.elc files if ELCFILES was set empty. * tests/lisp4.test: New file. diff --git a/NEWS b/NEWS index 0974445f..c946cb41 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,10 @@ New in 1.7a: * 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. diff --git a/automake.in b/automake.in index b4f94d3a..20c4c15f 100755 --- a/automake.in +++ b/automake.in @@ -4033,7 +4033,7 @@ sub handle_data { &am_install_var ('-noextra', '-candist', 'data', 'DATA', 'data', 'sysconf', 'sharedstate', 'localstate', - 'pkgdata', 'noinst', 'check'); + 'pkgdata', 'lisp', 'noinst', 'check'); } # Handle TAGS. diff --git a/automake.texi b/automake.texi index 27dc0bd2..5e7fe47b 100644 --- a/automake.texi +++ b/automake.texi @@ -3794,19 +3794,18 @@ primary are @samp{lisp_} and @samp{noinst_}. Note that if @code{lisp_LISP} is defined, then @file{configure.in} must run @code{AM_PATH_LISPDIR} (@pxref{Macros}). -@vindex 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 +@code{lisp_LISP}. -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 diff --git a/stamp-vti b/stamp-vti index d3020080..aa7bf9a4 100644 --- a/stamp-vti +++ b/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 23 February 2003 +@set UPDATED 26 February 2003 @set UPDATED-MONTH February 2003 @set EDITION 1.7a @set VERSION 1.7a diff --git a/tests/Makefile.am b/tests/Makefile.am index 393bddfb..2439a3b9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -258,6 +258,7 @@ lisp.test \ lisp2.test \ lisp3.test \ lisp4.test \ +lisp5.test \ listval.test \ location.test \ ltdeps.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index fc98e205..aeeb6473 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -352,6 +352,7 @@ lisp.test \ lisp2.test \ lisp3.test \ lisp4.test \ +lisp5.test \ listval.test \ location.test \ ltdeps.test \ diff --git a/tests/lisp5.test b/tests/lisp5.test new file mode 100755 index 00000000..c354b885 --- /dev/null +++ b/tests/lisp5.test @@ -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 diff --git a/version.texi b/version.texi index d3020080..aa7bf9a4 100644 --- a/version.texi +++ b/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 23 February 2003 +@set UPDATED 26 February 2003 @set UPDATED-MONTH February 2003 @set EDITION 1.7a @set VERSION 1.7a -- 2.43.5