diff options
author | Satoshi Taoka <taoka@FreeBSD.org> | 1999-09-06 19:40:54 +0000 |
---|---|---|
committer | Satoshi Taoka <taoka@FreeBSD.org> | 1999-09-06 19:40:54 +0000 |
commit | cb722e947d5d015423a25c1679d6eda558257793 (patch) | |
tree | 54ca72c6555e91398b68c12507ea53f3ec377c69 /misc/man.el/files/byte-compile | |
parent | Import of gif2png. (diff) |
Modified for XEmacs
Added a script to byte-compile
PR: 13389
Submitted by: maintainer
Notes
Notes:
svn path=/head/; revision=21326
Diffstat (limited to '')
-rw-r--r-- | misc/man.el/files/byte-compile | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/misc/man.el/files/byte-compile b/misc/man.el/files/byte-compile new file mode 100644 index 000000000000..6f589cb7a25f --- /dev/null +++ b/misc/man.el/files/byte-compile @@ -0,0 +1,131 @@ +#!/bin/sh + +PREFIX=${PREFIX:-/usr/local} +WRKDIR=${WRKDIR:-`pwd`} + +tmprfx=`basename $0` + +Usage="\ +byte_compile [options] emacs_name port_name [files] + -l load_el : load *.el file when byte-compile + -h : show this message + emacs_name : should be one of below + \"emacs\", \"emacs20\", \"mule\", \"xemacs19\", \"xemacs20\", + \"xemacs21\", \"xemacs-mule\" + port_name : port name(replaced *.el when files not specified) + files : *.el files should be compiled" + +while [ -z "`getopts "l: h" opt > /tmp/${tmprfx}:getopt_err.log`" \ + -a X"${opt}" != "X?" ]; do + case ${opt} in + l) + load_el=${OPTARG} + break + ;; + h) + echo "${Usage}" + exit 1 + ;; + *) + ;; + esac +# echo "opt=${opt},OPTARG=${OPTARG}" +done + +if [ -s /tmp/${tmprfx}:getopt_err.log ]; then + cat /tmp/${tmprfx}:getopt_err.log + rm -f /tmp/${tmprfx}:getopt_err.log + exit 1 +fi +rm -f /tmp/${tmprfx}:getopt_err.log + +shift `expr ${OPTIND} - 1` + +if [ -z "$1" -o -z "$2" ]; then + echo "${Usage}" + exit 1 +fi + +emacs_name=$1 +shift +port_name=$1 + +if [ $# -le 1 ]; then + files=${port_name}.el +else + files=`echo $* | sed -e "s/${port_name} *//"` +fi + +#echo "emacs_name=${emacs_name}" +#echo "port_name=${port_name}" +#echo "files=${files}" +#echo "load_el=${load_el}" +#exit 1 + +case ${emacs_name} in + emacs) + load_path=${PREFIX}/share/emacs/19.34/${load_el} + emacscmd=emacs + ;; + emacs20) + load_path=${PREFIX}/share/emacs/20.3/${load_el} + emacscmd=emacs20 + ;; + mule) + load_path=${PREFIX}/share/mule/19.34/${load_el} + emacscmd=mule + ;; + xemacs19) + load_path=${PREFIX}/lib/xemacs-19.16/${load_el} + emacscmd=xemacs + ;; + xemacs20) + load_path=${PREFIX}/lib/xemacs-20.4/${load_el} + emacscmd=xemacs + ;; + xemacs21) + load_path=${PREFIX}/lib/xemacs-21.1.4/${load_el} + pkg_path=${PREFIX}/lib/xemacs/site-packages + emacscmd=xemacs + ;; + xemacs-mule) + load_path=${PREFIX}/lib/xemacs/xemacs-packages/lisp/${load_el} + pkg_path=${PREFIX}/lib/xemacs/site-packages + emacscmd=xemacs + ;; + *) + echo "${Usage}" + exit 1 + ;; +esac +if [ -n "${load_el}" ]; then + echo "(setq load-path (cons \"${load_path}\" load-path))" > /tmp/${tmprfx}:load.el +fi +cp ${pkg_path}/pkginfo/MANIFEST.${port_name} ${pkg_path}/pkginfo/MANIFEST.${port_name}.bak +for f in ${files}; do + if [ -f ${WRKDIR}/${f} ]; then + if [ -n "${load_el}" ]; then + ${emacscmd} -batch -l /tmp/${tmprfx}:load.el -q -no-site-file \ + -f batch-byte-compile ${WRKDIR}/${f} + else + ${emacscmd} -batch -q -no-site-file -f batch-byte-compile ${WRKDIR}/${f} + fi + if [ $? -eq 0 -a -d ${pkg_path}/lisp/${port_name} ]; then + rm -f ${pkg_path}/lisp/${port_name}/${f}.elc + ln -s ${WRKDIR}/${f}.elc ${pkg_path}/lisp/${port_name}/${f}.elc + cp ${pkg_path}/pkginfo/MANIFEST.${port_name} /tmp/${tmprfx}:tempfile + grep -v "${f}.elc" /tmp/${tmprfx}:tempfile \ + > ${pkg_path}/pkginfo/MANIFEST.${port_name} + echo "lisp/${port_name}/${f}.elc" >> ${pkg_path}/pkginfo/MANIFEST.${port_name} + else + cp ${pkg_path}/pkginfo/MANIFEST.${port_name} /tmp/${tmprfx}:tempfile + grep -v "${f}.elc" /tmp/${tmprfx}:tempfile \ + > ${pkg_path}/pkginfo/MANIFEST.${port_name} + rm -f ${pkg_path}/lisp/${port_name}/${f}.elc + fi + else + echo "\"${WRKDIR}/${f}\": file not found!" + fi +done + +rm -f /tmp/${tmprfx}:load.el ${pkg_path}/pkginfo/MANIFEST.${port_name}.bak |