summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2003-11-03 10:01:22 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2003-11-03 10:01:22 +0000
commit6edc791ea0c9086d1c30bc9e48d4cefea4b92854 (patch)
tree903f106ce0eaac87a58c3372b5db136907c63a54 /eclass/elisp-common.eclass
parentadd metadata.xml (diff)
downloadgentoo-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.eclass61
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 ***