X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/dcf3ff7f919ac71eb2b7d4786e264b8af4d98c92..69a7a14df4b6356fe7c0fe54a33e79428a5c2abc:/make-dist diff --git a/make-dist b/make-dist index 645046d3c3..a2bc7b4da8 100755 --- a/make-dist +++ b/make-dist @@ -6,7 +6,7 @@ #### be distributed. This means that if you add a file with an odd name, #### you should make sure that this script will include it. -# Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # @@ -74,6 +74,28 @@ while [ $# -gt 0 ]; do "--compress") default_gzip="compress" ;; + + "--snapshot") + clean_up=yes + make_tar=yes + update=no + check=no + ;; + + "--help") + echo "Usage: ${progname} [options]" + echo "" + echo " --clean-up delete staging directories when done" + echo " --compress use compress instead of gzip" + echo " --newer=TIME don't include files older than TIME" + echo " --no-check don't check for bad file names etc." + echo " --no-update don't recompile or do analogous things" + echo " --snapshot same as --clean-up --no-update --tar --no-check" + echo " --tar make a tar file" + echo "" + exit 0 + ;; + * ) echo "${progname}: Unrecognized argument: $1" >&2 exit 1 @@ -95,6 +117,7 @@ fi ### that the shell is running in an Emacs window.) if [ $update = yes ]; then + unset EMACS_UNIBYTE if [ -f src/emacs ]; then EMACS=`pwd`/src/emacs @@ -155,9 +178,9 @@ 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]*.el leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/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]*.elc leim/[a-z]*/[a-z]*.elc > /tmp/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:" @@ -167,14 +190,15 @@ then ### 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]*.el [a-z]*/[a-z]*.el) > /tmp/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]*.elc [a-z]*/[a-z]*.elc) | sed 's/\.elc$/.el/' > /tmp/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 ! grep -q "dontcompilefiles:.* $file1\($\| \)" lisp/Makefile; then + 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) ;; @@ -210,19 +234,17 @@ 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") - (cd lisp; make updates EMACS=$EMACS) - - echo "Updating leim-list.el" - - (cd leim; make leim-list.el 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 @@ -231,7 +253,8 @@ 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 != RCS ]; then + if [ -d $dir ] && [ $dir != term ] && [ $dir != CVS ] && [ $dir != RCS ] + then echo $dir thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'` files="$files $thisdir" @@ -259,13 +282,13 @@ mkdir ${tempdir} ### README while the rest of the tar file is still unpacking. Whoopee. echo "Making links to top-level files" ln GETTING.GNU.SOFTWARE INSTALL README BUGS move-if-change ${tempdir} -ln ChangeLog Makefile.in configure configure.in ${tempdir} +ln ChangeLog Makefile.in configure configure.in aclocal.m4 ${tempdir} ln config.bat make-dist update-subdirs vpath.sed ${tempdir} ### Copy these files; they're cross-filesystem symlinks. cp mkinstalldirs ${tempdir} cp config.sub ${tempdir} cp config.guess ${tempdir} -cp install.sh ${tempdir} +cp install-sh ${tempdir} echo "Updating version number in README" (cd ${tempdir} @@ -286,7 +309,7 @@ for subdir in lisp site-lisp leim real-leim real-leim/CXTERM-DIC \ done echo "Initializing \`leim' subdirectory" -cp leim-Makefile.in ${tempdir}/leim/Makefile.in +cp leim/Makefile.in ${tempdir}/leim echo "Making links to \`lisp' and its subdirectories" ### Don't distribute TAGS, =*.el files, site-init.el, site-load.el, or default.el. @@ -296,7 +319,8 @@ echo "Making links to \`lisp' and its subdirectories" 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 ../${tempdir}/lisp + ln ChangeLog Makefile.in makefile.nt ChangeLog.? ../${tempdir}/lisp + test -f README && ln README ../${tempdir}/lisp (cd ../${tempdir}/lisp rm -f TAGS =* rm -f site-init site-init.el site-init.elc @@ -308,7 +332,7 @@ echo "Making links to \`lisp' and its subdirectories" ## Find all subdirs of lisp dir for file in `find . -type d -print`; do case $file in - . | .. | */Old | */RCS | */=*) + . | .. | */Old | */CVS | */RCS | */=*) ;; *) if [ -d $file ]; then @@ -334,7 +358,7 @@ echo "Making links to \`lisp' and its subdirectories" echo "Making links to \`leim' and its subdirectories for the LEIM distribution" ### Don't distribute TAGS, or =*.el files. (cd leim - ln Makefile.in makefile.nt ../${tempdir}/real-leim + ln makefile.nt ../${tempdir}/real-leim ln ChangeLog README ../${tempdir}/real-leim ln CXTERM-DIC/*.tit ../${tempdir}/real-leim/CXTERM-DIC @@ -342,6 +366,8 @@ echo "Making links to \`leim' and its subdirectories for the LEIM distribution" ln skk/*.el skk/*.elc ../${tempdir}/real-leim/skk ln quail/*.el quail/*.elc ../${tempdir}/real-leim/quail + cp ../leim-Makefile.in ../${tempdir}/real-leim/Makefile.in + cd ../${tempdir}/real-leim rm -f TAGS =* */=*) @@ -401,7 +427,7 @@ echo "Making links to \`lib-src'" (cd lib-src ln [a-zA-Z]*.[chy] ../${tempdir}/lib-src ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src - ln emacs.csh rcs2log rcs-checkin makefile.nt ../${tempdir}/lib-src + ln grep-changelog rcs2log rcs-checkin makefile.nt ../${tempdir}/lib-src ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. for file in [a-zA-Z]*.[chy]; do @@ -424,7 +450,7 @@ echo "Making links to \`lib-src'" echo "Making links to \`nt'" (cd nt - ln emacs.ico emacs.rc config.nt [a-z]*.in [a-z]*.c ../${tempdir}/nt + ln 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) @@ -472,7 +498,7 @@ echo "Making links to \`etc'" ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or ### tex litter. (cd etc - files=`ls -d * | grep -v 'RCS' | grep -v 'Old' | grep -v '^e$'` + files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$'` ln $files ../${tempdir}/etc ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. @@ -497,14 +523,15 @@ echo "Making links to \`etc'" echo "Making links to \`etc/e'" (cd etc/e - ln `ls -d * | grep -v 'RCS'` ../../${tempdir}/etc/e + ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/etc/e cd ../../${tempdir}/etc/e rm -f *~ \#*\# *,v =* core) echo "Making links to \`info'" # Don't distribute backups or autosaves. (cd info - ln [a-zA-Z]* ../${tempdir}/info + ln `find . -type f -print | grep -v CVS | grep -v RCS` ../${tempdir}/info + #ln [a-zA-Z]* ../${tempdir}/info cd ../${tempdir}/info # Avoid an error when expanding the wildcards later. ln emacs dummy~ ; ln emacs \#dummy\# @@ -515,15 +542,16 @@ echo "Making links to \`man'" ln *.texi *.aux *.cps *.fns *.kys *.vrs ../${tempdir}/man test -f README && ln README ../${tempdir}/man test -f Makefile.in && ln Makefile.in ../${tempdir}/man - ln ChangeLog split-man ../${tempdir}/man - cp texinfo.tex ../${tempdir}/man + ln ChangeLog ../${tempdir}/man + test -f split-man && ln split-man ../${tempdir}/man + test -f texinfo.tex && cp texinfo.tex ../${tempdir}/man cd ../${tempdir}/man rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux) echo "Making links to \`vms'" (cd vms - ln [0-9a-zA-Z]* ../${tempdir}/vms + test -f README && ln README ../${tempdir}/vms cd ../${tempdir}/vms rm -f *~) @@ -586,7 +614,7 @@ if [ "${make_tar}" = yes ]; then > ${emacsname}.tar${gzip_extension} (cd ${tempparent}/${emacsname}-leim ; tar cvf - ${emacsname} ) \ | ${default_gzip} \ - > ${emacsname}-leim.tar${gzip_extension} + > leim-${version}${new_extension}.tar${gzip_extension} fi if [ "${clean_up}" = yes ]; then