X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/aa501770affe744f344a32ae67db12747f897fdd..31f35b6f94447fba95fc1f19bb5ec91a88cd8cc6:/make-dist diff --git a/make-dist b/make-dist index 80758bce84..bd7b19d94b 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 @@ -156,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:" @@ -168,14 +190,14 @@ 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 ! sed -n -e "/^DONTCOMPILE/,/[^\\]\$/p" lisp/Makefile | + 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) @@ -212,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") - 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 @@ -233,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" @@ -261,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} @@ -280,7 +301,7 @@ echo "Updating version number in README" echo "Creating subdirectories" for subdir in lisp site-lisp leim real-leim real-leim/CXTERM-DIC \ - real-leim/SKK-DIC real-leim/skk real-leim/quail \ + real-leim/SKK-DIC real-leim/ja-dic real-leim/quail \ src src/m src/s src/bitmaps lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ etc etc/e lock info man msdos vms; do @@ -288,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 noleim-Makefile.in ${tempdir}/leim/Makefile.in echo "Making links to \`lisp' and its subdirectories" ### Don't distribute TAGS, =*.el files, site-init.el, site-load.el, or default.el. @@ -296,9 +317,16 @@ echo "Making links to \`lisp' and its subdirectories" ln [a-zA-Z]*.el ../${tempdir}/lisp ln [a-zA-Z]*.elc ../${tempdir}/lisp ln [a-zA-Z]*.dat ../${tempdir}/lisp + for img in [a-zA-Z]*.xpm [a-zA-Z]*.xbm [a-zA-Z]*.pbm; do + # If there are no images, the shell won't expand the pattern. + if [ -f $img ]; then + ln $img ../${tempdir}/lisp + fi + done ## 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 @@ -310,7 +338,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 @@ -325,6 +353,11 @@ echo "Making links to \`lisp' and its subdirectories" mkdir ../${tempdir}/lisp/$file ln $file/[a-zA-Z]*.el ../${tempdir}/lisp/$file ln $file/[a-zA-Z]*.elc ../${tempdir}/lisp/$file + for img in $file/[a-zA-Z]*.xpm $file/[a-zA-Z]*.xbm; do + if [ -f $img ]; then + ln $img ../${tempdir}/lisp/$file + fi + done if [ -f $file/README ]; then ln $file/README ../${tempdir}/lisp/$file fi @@ -336,13 +369,14 @@ 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 ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/real-leim/SKK-DIC - ln skk/*.el skk/*.elc ../${tempdir}/real-leim/skk + ln ja-dic/*.el ja-dic/*.elc ../${tempdir}/real-leim/ja-dic ln quail/*.el quail/*.elc ../${tempdir}/real-leim/quail + ln Makefile.in ../${tempdir}/real-leim/Makefile.in cd ../${tempdir}/real-leim rm -f TAGS =* */=*) @@ -403,7 +437,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 @@ -426,7 +460,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) @@ -474,7 +508,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. @@ -499,14 +533,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\# @@ -517,15 +552,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 *~) @@ -588,7 +624,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