+### Find where to run Emacs.
+if [ $check = yes ];
+then
+ ### Check for .elc files with no corresponding .el file.
+ ls -1 lisp/[a-z]*.el lisp/[a-z]*/[a-z]*.el \
+ leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el
+ ls -1 lisp/[a-z]*.elc lisp/[a-z]*/[a-z]*.elc \
+ leim/[a-z]*/[a-z]*.elc > /tmp/elc
+ bogosities="`comm -13 /tmp/el /tmp/elc`"
+ if [ "${bogosities}" != "" ]; then
+ echo "The following .elc files have no corresponding .el files:"
+ echo "${bogosities}"
+ fi
+ rm -f /tmp/el /tmp/elc
+
+ ### Check for .el files with no corresponding .elc file.
+ (cd lisp; ls -1 [a-z]*.el [a-z]*/[a-z]*.el ; \
+ cd ../leim; ls -1 [a-z]*/[a-z]*.el) > /tmp/el
+ (cd lisp; ls -1 [a-z]*.elc [a-z]*/[a-z]*.elc; \
+ cd ../leim; ls -1 [a-z]*/[a-z]*.elc) | sed 's/\.elc$/.el/' > /tmp/elc
+ losers="`comm -23 /tmp/el /tmp/elc`"
+ bogosities=
+ for file in $losers; do
+ file1=`echo $file | sed -e "s|.*/||"`
+ if ! sed -n -e "/^DONTCOMPILE/,/[^\\]\$/p" lisp/Makefile.in |
+ grep -q "[ ]$file1\($\| \)"; then
+ case $file in
+ site-init.el | site-load.el | site-start.el | default.el)
+ ;;
+ term/*)
+ ;;
+ *)
+ bogosities="$file $bogosities"
+ ;;
+ esac
+ fi
+ done
+ if [ x"${bogosities}" != x"" ]; then
+ echo "The following .el files have no corresponding .elc files:"
+ echo "${bogosities}"
+ fi
+ rm -f /tmp/el /tmp/elc
+
+ ### Check for .el files that would overflow the 14-char limit if compiled.
+ long=`find lisp leim -name '[a-zA-Z0-9]??????????*.el' -print`
+ if [ "$long" != "" ]; then
+ echo "The following .el file names are too long:"
+ echo "$long"
+ fi
+fi
+
+### Make sure configure is newer than configure.in.
+if [ "x`ls -t configure configure.in | head -1`" != "xconfigure" ]; then
+ echo "\`./configure.in' is newer than \`./configure'" >&2
+ echo "Running autoconf" >&2
+ autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; }
+fi
+
+if [ $update = yes ];
+then
+ echo "Updating Info files"
+ (cd man; make -f Makefile.in srcdir=. info)
+
+ echo "Updating finder, custom and autoload data"
+ (cd lisp; make updates EMACS="$EMACS")
+
+ if test -f leim/leim-list.el; then
+ echo "Updating leim-list.el"
+ (cd leim; make leim-list.el EMACS="$EMACS")
+ fi
+
+ echo "Recompiling Lisp files"
+ $EMACS -batch -f batch-byte-recompile-directory lisp leim
+fi
+
+echo "Making lisp/MANIFEST"
+
+(cd lisp;
+ files=`echo [!=]*.el | sed -e 's/ subdirs.el / /' -e 's/ default.el / /'`
+ for dir in [!=]*; do
+ if [ -d $dir ] && [ $dir != term ] && [ $dir != CVS ] && [ $dir != RCS ]
+ then
+ echo $dir
+ thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'`
+ files="$files $thisdir"
+ fi
+ done
+ head -1 $files | grep '^;' | sed -e 's/;;; //' | sort > MANIFEST)
+