--- gforth/elisp-comp 2002/12/24 14:47:24 1.2 +++ gforth/elisp-comp 2007/06/02 14:25:26 1.3 @@ -1,6 +1,9 @@ #!/bin/sh -# Copyright 1995 Free Software Foundation, Inc. -# François Pinard , 1995. +# Copyright (C) 1995, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. + +scriptversion=2005-05-14.22 + +# Franc,ois Pinard , 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 @@ -14,41 +17,73 @@ # # 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. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 "(setq load-path (cons nil load-path))" > script - $EMACS -batch -q -l script -f batch-byte-compile *.el - mv *.elc .. - - cd .. - rm -fr $tempdir +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No files. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: elisp-comp [--help] [--version] FILES... + +This script byte-compiles all `.el' files listed as FILES 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. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "elisp-comp $scriptversion" + exit $? + ;; +esac + +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.$$ + +# Cleanup the temporary directory on exit. +trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0 +trap '(exit $?); exit' 1 2 13 15 + +mkdir $tempdir +cp "$@" $tempdir + +( + cd $tempdir + echo "(setq load-path (cons nil load-path))" > script + $EMACS -batch -q -l script -f batch-byte-compile *.el || exit $? + mv *.elc .. +) || exit $? + +(exit 0); exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: