Mercurial > hg > xemacs-beta
diff lib-src/update-autoloads.sh @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | ac2d302a0011 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib-src/update-autoloads.sh Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,62 @@ +#!/bin/sh +### update-autoloads.sh --- update loaddefs.el as necessary + +# Author: Jamie Zawinski <jwz@lucid.com> +# Maintainer: Ben Wing <ben.wing@Eng.Sun.COM> +# Created: ? +# Version: 1.0 +# Modified: 94/07/13 16:18:44 +# Keywords: recompile .el .elc + +### Commentary: +## Recompile all .elc files that need recompilation. Requires a working +## version of 'xemacs'. Correctly handles the case where the .elc files +## are missing; thus you can execute 'rm lisp/*/*.elc' before running +## this script. Run this from the parent directory of 'src', 'lisp', +## and 'etc'. (If this is a Sun workspace, you can run it from +## 'era-specific' instead.) + +set -eu + +# This means we're running in a Sun workspace +if [ -d ../era-specific ]; then + cd ../editor +fi + +# get to the right directory +if [ ! -d ./lisp ]; then + if [ -d ../lisp ]; then + cd .. + else + echo $0: neither ./lisp/ nor ../lisp/ exist + exit 1 + fi +fi + +EMACS=./src/xemacs +echo " (using $EMACS)" + +export EMACS + +# fuckin' sysv, man... +if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then + echon() + { + /bin/echo $* '\c' + } +else + echon() + { + echo -n $* + } +fi + +REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS` + +echo "Recompiling in `pwd|sed 's|^/tmp_mnt||'`" +echo " with $REAL..." + +src/xemacs -batch -q -f batch-update-autoloads \ + `ls lisp | egrep -v \ + "COPYING|README|SCCS|egg|eterm|its|mule|paths.el|quail|version.el|vms" \ + | xargs -i echo lisp/\{\}`