diff options
author | Matthew Kennedy <mkennedy@gentoo.org> | 2003-11-03 10:01:22 +0000 |
---|---|---|
committer | Matthew Kennedy <mkennedy@gentoo.org> | 2003-11-03 10:01:22 +0000 |
commit | 6edc791ea0c9086d1c30bc9e48d4cefea4b92854 (patch) | |
tree | 903f106ce0eaac87a58c3372b5db136907c63a54 /eclass/elisp-common.eclass | |
parent | add metadata.xml (diff) | |
download | gentoo-2-6edc791ea0c9086d1c30bc9e48d4cefea4b92854.tar.gz gentoo-2-6edc791ea0c9086d1c30bc9e48d4cefea4b92854.tar.bz2 gentoo-2-6edc791ea0c9086d1c30bc9e48d4cefea4b92854.zip |
add an alternate compilation function
Diffstat (limited to 'eclass/elisp-common.eclass')
-rw-r--r-- | eclass/elisp-common.eclass | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index 42685d27c3f7..d87498e9b05e 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.2 2003/10/06 06:38:33 mkennedy Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.3 2003/11/03 10:01:22 mkennedy Exp $ # # Copyright 2002-2003 Matthew Kennedy <mkennedy@gentoo.org> # Copyright 2003 Jeremy Maitin-Shepard <jbms@attbi.com> @@ -54,6 +54,65 @@ EOF einfo "" } +# The following Emacs Lisp compilation routine is taken from GNU +# autotools. + +elisp-comp() { +# Copyright 1995 Free Software Foundation, Inc. +# François Pinard <pinard@iro.umontreal.ca>, 1995. +# +# This program 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. +# +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This script byte-compiles all `.el' files which are part of its +# arguments, using GNU Emacs, and put the resulting `.elc' files into +# the current directory, so disregarding the original directories used +# in `.el' arguments. +# +# This script manages in such a way that all Emacs LISP files to +# be compiled are made visible between themselves, in the event +# they require or load-library one another. + + if test $# = 0; then + echo 1>&2 "No files given to $0" + exit 1 + else + if test -z "$EMACS" || test "$EMACS" = "t"; then + # Value of "t" means we are running in a shell under Emacs. + # Just assume Emacs is called "emacs". + EMACS=emacs + fi + + tempdir=elc.$$ + mkdir $tempdir + cp $* $tempdir + cd $tempdir + + echo "(add-to-list 'load-path \"../\")" > script + $EMACS -batch -q --no-site-file --no-init-file -l script -f batch-byte-compile *.el + mv *.elc .. + + cd .. + rm -fr $tempdir + fi +} + # Local Variables: *** # mode: shell-script *** # tab-width: 4 *** |