# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Emacs; see the file COPYING. If not, write to
-# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# along with GNU Emacs; see the file COPYING. If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
progname="$0"
### Print out each line we read, for debugging's sake.
### set -v
-clean_up=yes
-make_tar=yes
+clean_up=no
+make_tar=no
newer=""
while [ $# -gt 0 ]; do
case "$1" in
- ## This option tells make-dist not to delete the staging directory
- ## after it's done making the tar file.
- "--no-clean-up" )
- clean_up=no
+ ## This option tells make-dist to delete the staging directory
+ ## when done. It is useless to use this unless you make a tar file.
+ "--clean-up" )
+ clean_up=yes
;;
- ## This option tells make-dist not to make a tar file. Since it's
- ## rather pointless to build the whole staging directory and then
- ## nuke it, using this option also selects '--no-clean-up'.
- "--no-tar" )
- make_tar=no
- clean_up=no
+ ## This option tells make-dist to make a tar file.
+ "--tar" )
+ make_tar=yes
;;
## This option tells make-dist to make the distribution normally, then
## remove all files older than the given timestamp file. This is useful
fi
rm -f /tmp/el /tmp/elc
+### Check for .el files that would overflow the 14-char limit if compiled.
+long=`find lisp -name '[a-zA-Z0-9]??????????*.el' -print`
+if [ "$long" != "" ]; then
+ echo "The following .el file names are too long:"
+ echo "$long"
+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
+ autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; }
fi
-### Update getdate.c.
-(cd lib-src; make -f Makefile getdate.c YACC="bison -y")
-
echo "Updating Info files"
(cd man; make info)
echo "Updating finder-inf.el"
-(cd lisp; ../src/emacs -batch -l finder -f finder-compile-keywords)
+(cd lisp; ../src/emacs -batch -l finder -f finder-compile-keywords-make-dist)
echo "Recompiling Lisp files"
echo "Making lisp/MANIFEST"
-(cd lisp; head -1 *.el | grep '^;' | sed -e 's/;;; //' > MANIFEST)
+(cd lisp; head -1 [!=]*.el | grep '^;' | sed -e 's/;;; //' > MANIFEST)
echo "Creating staging directory: \`${tempparent}'"
echo "Creating subdirectories"
for subdir in lisp lisp/term site-lisp \
src src/m src/s src/bitmaps lib-src oldXMenu lwlib \
- nt nt/inc nt/inc/sys \
+ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet \
etc etc/e lock cpp info man msdos vms; do
mkdir ${tempdir}/${subdir}
done
ln [a-zA-Z]*.dat ../${tempdir}/lisp
## simula.el doesn't keep abbreviations in simula.defns any more.
## ln [a-zA-Z]*.defns ../${tempdir}/lisp
- ln ChangeLog Makefile makefile.nt ChangeLog.? README dired.todo ../${tempdir}/lisp
+ ln ChangeLog Makefile makefile.nt ChangeLog.? README ../${tempdir}/lisp
cd ../${tempdir}/lisp
rm -f TAGS =*
rm -f subdirs.el
echo "Making links to \`nt'"
(cd nt
- ln emacs.ico emacs.rc config.nt config.w95 [a-z]*.in [a-z]*.c ../${tempdir}/nt
+ ln emacs.ico emacs.rc config.nt [a-z]*.in [a-z]*.c ../${tempdir}/nt
ln [a-z]*.bat [a-z]*.h makefile.def makefile.nt ../${tempdir}/nt
ln TODO ChangeLog INSTALL README ../${tempdir}/nt)
(cd nt/inc/sys
ln [a-z]*.h ../../../${tempdir}/nt/inc/sys)
+echo "Making links to \`nt/inc/arpa'"
+(cd nt/inc/arpa
+ ln [a-z]*.h ../../../${tempdir}/nt/inc/arpa)
+
+echo "Making links to \`nt/inc/netinet'"
+(cd nt/inc/netinet
+ ln [a-z]*.h ../../../${tempdir}/nt/inc/netinet)
+
echo "Making links to \`msdos'"
(cd msdos
ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos
- ln mainmake sed*.inp ../${tempdir}/msdos
+ ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos
cd ../${tempdir}/msdos
rm -f =*)