elisp-comp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. # Copyright (C) 1995 Free Software Foundation, Inc.
  3. # François Pinard <pinard@iro.umontreal.ca>, 1995.
  4. #
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 2, or (at your option)
  8. # any later version.
  9. #
  10. # This program is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program; if not, write to the Free Software
  17. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. # This script byte-compiles all `.el' files which are part of its
  19. # arguments, using GNU Emacs, and put the resulting `.elc' files into
  20. # the current directory, so disregarding the original directories used
  21. # in `.el' arguments.
  22. #
  23. # This script manages in such a way that all Emacs LISP files to
  24. # be compiled are made visible between themselves, in the event
  25. # they require or load-library one another.
  26. if test $# = 0; then
  27. echo 1>&2 "No files given to $0"
  28. exit 1
  29. else
  30. if test -z "$EMACS" || test "$EMACS" = "t"; then
  31. # Value of "t" means we are running in a shell under Emacs.
  32. # Just assume Emacs is called "emacs".
  33. EMACS=emacs
  34. fi
  35. tempdir=elc.$$
  36. mkdir $tempdir
  37. cp $* $tempdir
  38. cd $tempdir
  39. echo "(setq load-path (cons nil load-path))" > script
  40. $EMACS -q -batch -l script -f batch-byte-compile *.el
  41. mv *.elc ..
  42. cd ..
  43. rm -fr $tempdir
  44. fi