]> code.delx.au - gnu-emacs/blobdiff - make-dist
Merge from emacs--rel--22
[gnu-emacs] / make-dist
index 05e3343e1c7da51867f1a195345ecdd8e224140e..6d91e7cf56dbee372be53bf93a9291f5ec1d63ce 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -81,6 +81,14 @@ while [ $# -gt 0 ]; do
     "--compress")
       default_gzip="compress"
     ;;
+    ## Same with bzip2.
+    "--bzip2")
+      default_gzip="bzip2"
+    ;;
+    ## Same with lzma.
+    "--lzma")
+      default_gzip="lzma"
+    ;;
 
     "--snapshot")
       clean_up=yes
@@ -92,8 +100,10 @@ while [ $# -gt 0 ]; do
     "--help")
       echo "Usage: ${progname} [options]"
       echo ""
+      echo "  --bzip2  use bzip2 instead of gzip"
       echo "  --clean-up       delete staging directories when done"
       echo "  --compress       use compress instead of gzip"
+      echo "  --lzma   use lzma 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"
@@ -154,10 +164,10 @@ echo Version numbers are $version and $shortversion
 
 if [ $update = yes ];
 then
-  if grep -s "@set EMACSVER  *${shortversion}" ./man/emacs.texi > /dev/null; then
+  if grep -s "@set EMACSVER  *${shortversion}" ./doc/emacs/emacs.texi > /dev/null; then
     true
   else
-    echo "You must update the version number in \`./man/emacs.texi'"
+    echo "You must update the version number in \`./doc/emacs/emacs.texi'"
     sleep 5
   fi
 fi
@@ -242,9 +252,10 @@ fi
 if [ $update = yes ];
 then
   echo "Updating Info files"
-  (cd man; make -f Makefile.in srcdir=. info)
-  (cd lispref; make -f Makefile.in srcdir=. info)
-  (cd lispintro; make -f Makefile.in SHELL=/bin/sh srcdir=. info VPATH=.)
+  (cd doc/emacs; make -f Makefile.in srcdir=. info)
+  (cd doc/misc; make -f Makefile.in srcdir=. info)
+  (cd doc/lispref; make -f Makefile.in srcdir=. info)
+  (cd doc/lispintro; make -f Makefile.in SHELL=/bin/sh srcdir=. info VPATH=.)
 
   echo "Updating finder, custom and autoload data"
   (cd lisp; make updates EMACS="$EMACS")
@@ -293,7 +304,7 @@ mkdir ${tempdir}
 ### tar file; this means that people can start reading the INSTALL and
 ### README while the rest of the tar file is still unpacking.  Whoopee.
 echo "Making links to top-level files"
-ln AUTHORS FTP INSTALL README BUGS CONTRIBUTE move-if-change ${tempdir}
+ln INSTALL README BUGS move-if-change ${tempdir}
 ln ChangeLog Makefile.in configure configure.in ${tempdir}
 ln config.bat make-dist update-subdirs vpath.sed ${tempdir}
 ### Copy these files; they're cross-filesystem symlinks.
@@ -312,17 +323,22 @@ echo "Updating version number in README"
 
 
 echo "Creating subdirectories"
-for subdir in lisp site-lisp lispref lispintro \
+for subdir in lisp site-lisp \
              leim leim/CXTERM-DIC leim/MISC-DIC \
              leim/SKK-DIC leim/ja-dic 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 \
+             etc etc/e etc/gnus etc/nxml \
              etc/images etc/images/ezimage etc/images/gnus etc/images/gud \
-             etc/images/icons etc/images/low-color etc/images/mail \
-             etc/images/smilies etc/tree-widget etc/tree-widget/default \
-             etc/tree-widget/folder info man m4 msdos vms mac mac/inc \
-             mac/inc/sys mac/src mac/Emacs.app mac/Emacs.app/Contents \
+             etc/images/icons etc/images/icons/hicolor \
+             etc/images/icons/hicolor/*x* etc/images/icons/hicolor/*x*/apps \
+             etc/images/low-color etc/images/mail \
+             etc/images/smilies etc/images/smilies/grayscale \
+             etc/images/smilies/medium etc/images/tree-widget \
+             etc/images/tree-widget/default etc/images/tree-widget/folder \
+             etc/refcards etc/schema etc/tutorials info doc doc/emacs \
+             doc/misc doc/man doc/lispref doc/lispintro m4 msdos vms mac \
+             mac/inc mac/inc/sys mac/src mac/Emacs.app mac/Emacs.app/Contents \
              mac/Emacs.app/Contents/MacOS mac/Emacs.app/Contents/Resources \
              mac/Emacs.app/Contents/Resources/English.lproj
 do
@@ -370,7 +386,7 @@ echo "Making links to \`lisp' and its subdirectories"
 
  for file in $subdirs; do
    echo "  lisp/$file"
-   mkdir ../${tempdir}/lisp/$file
+   mkdir -p ../${tempdir}/lisp/$file
    ln $file/[a-zA-Z0-9]*.el ../${tempdir}/lisp/$file
    ln $file/[a-zA-Z0-9]*.elc ../${tempdir}/lisp/$file
    for img in $file/[a-zA-Z]*.xpm $file/[a-zA-Z]*.xbm $file/[a-zA-Z]*.pbm; do
@@ -569,10 +585,10 @@ echo "Making links to \`lwlib'"
 echo "Making links to \`etc'"
 ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or
 ### tex litter.
-### Don't distribute gfdl.1, since no man page references it.
 (cd etc
  files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \
-        | grep -v '^images$' | grep -v '^tree-widget$'`
+        | grep -v '^gnus$' | grep -v '^images$' | grep -v '^nxml$' \
+        | grep -v '^refcards$' | grep -v '^tutorials$'| grep -v '^schema$'`
  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.
@@ -591,15 +607,17 @@ echo "Making links to \`etc'"
    fi
  done
  cd ../${tempdir}/etc
- rm -f fns*.el gfdl.1
+ rm -f fns*.el
  rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core
  rm -f TAGS)
 
-echo "Making links to \`etc/e'"
-(cd etc/e
- ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/etc/e
- cd ../../${tempdir}/etc/e
- rm -f *~ \#*\# *,v =* core)
+for dir in etc/e etc/gnus etc/nxml etc/tutorials etc/refcards etc/schema ; do
+    echo "Making links to \`${dir}'"
+    (cd ${dir}
+       ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/${dir}
+       cd ../../${tempdir}/${dir}
+       rm -f *~ \#*\# *,v =* core)
+done
 
 echo "Making links to \`etc/images'"
 (cd etc/images
@@ -610,8 +628,7 @@ echo "Making links to \`etc/images'"
  done)
 
 for dir in etc/images/ezimage etc/images/gnus etc/images/gud etc/images/icons \
-           etc/images/low-color etc/images/mail etc/images/smilies \
-           etc/tree-widget/default etc/tree-widget/folder ; do
+           etc/images/low-color etc/images/mail etc/images/smilies ; do
     echo "Making links to \`${dir}'"
     (cd ${dir}
      ln `ls -d * | grep -v CVS | grep -v RCS` ../../../${tempdir}/${dir}
@@ -619,6 +636,23 @@ for dir in etc/images/ezimage etc/images/gnus etc/images/gud etc/images/icons \
      rm -f *~ \#*\# *,v =* core)
 done
 
+for dir in etc/images/tree-widget/default etc/images/tree-widget/folder \
+    etc/images/smilies/grayscale  etc/images/smilies/medium; do
+    echo "Making links to \`${dir}'"
+    (cd ${dir}
+     ln `ls -d * | grep -v CVS | grep -v RCS` ../../../../${tempdir}/${dir}
+     cd ../../../../${tempdir}/${dir}
+     rm -f *~ \#*\# *,v =* core)
+done
+
+for dir in etc/images/icons/hicolor/*x*/apps ; do
+    echo "Making links to \`${dir}'"
+    (cd ${dir}
+     ln `ls -d * | grep -v CVS | grep -v RCS` ../../../../../../${tempdir}/${dir}
+     cd ../../../../../../${tempdir}/${dir}
+     rm -f *~ \#*\# *,v =* core)
+done
+
 echo "Making links to \`info'"
 # Don't distribute backups or autosaves.
 (cd info
@@ -629,44 +663,59 @@ echo "Making links to \`info'"
  ln emacs dummy~ ; ln emacs \#dummy\#
  rm -f *~ \#*\# core)
 
-echo "Making links to \`man'"
-(cd man
- ln *.texi *.aux *.cps *.fns *.kys *.vrs ../${tempdir}/man
- ln makefile.w32-in ../${tempdir}/man
- test -f README && ln README ../${tempdir}/man
- test -f Makefile.in && ln Makefile.in ../${tempdir}/man
- ln ChangeLog ../${tempdir}/man
- test -f split-man && ln split-man ../${tempdir}/man
- cp texinfo.tex ../${tempdir}/man
- cd ../${tempdir}/man
+echo "Making links to \`doc/emacs'"
+(cd doc/emacs
+ ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/emacs
+ ln makefile.w32-in ../../${tempdir}/doc/emacs
+ test -f README && ln README ../../${tempdir}/doc/emacs
+ test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/emacs
+ ln ChangeLog ../../${tempdir}/doc/emacs
+ cp texinfo.tex ../../${tempdir}/doc/emacs
+ cd ../../${tempdir}/doc/emacs
  rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail
  rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux)
 
-echo "Making links to \`lispref'"
-(cd lispref
- ln `ls -1 *.texi` ../${tempdir}/lispref
- ln *.aux *.cps *.fns *.kys *.vrs ../${tempdir}/lispref
- ln *.txt *.el spellfile tindex.pl ../${tempdir}/lispref
- ln makefile.w32-in ../${tempdir}/lispref
- test -f README && ln README ../${tempdir}/lispref
- test -f Makefile.in && ln Makefile.in ../${tempdir}/lispref
- ln ChangeLog ../${tempdir}/lispref
- cd ../${tempdir}/lispref
+echo "Making links to \`doc/misc'"
+(cd doc/misc
+ ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/misc
+ ln makefile.w32-in ../../${tempdir}/doc/misc
+ test -f README && ln README ../../${tempdir}/doc/misc
+ test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/misc
+ ln ChangeLog ../../${tempdir}/doc/misc
+ cp texinfo.tex ../../${tempdir}/doc/misc
+ cd ../../${tempdir}/doc/misc
+ rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail
+ rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux)
+
+echo "Making links to \`doc/lispref'"
+(cd doc/lispref
+ ln `ls -1 *.texi` ../../${tempdir}/doc/lispref
+ ln *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/lispref
+ ln *.txt *.el spellfile tindex.pl ../../${tempdir}/doc/lispref
+ ln makefile.w32-in ../../${tempdir}/doc/lispref
+ test -f README && ln README ../../${tempdir}/doc/lispref
+ test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/lispref
+ ln ChangeLog ../../${tempdir}/doc/lispref
+ cd ../../${tempdir}/doc/lispref
  rm -f \#*\# =* *~ core elisp-index* *.Z *.z xmail
  rm -f elisp.?? *.log *.toc *.dvi *.oaux)
 
-echo "Making links to \`lispintro'"
-(cd lispintro
- ln *.texi *.aux *.cps *.fns *.kys *.vrs *.eps ../${tempdir}/lispintro
- ln makefile.w32-in ../${tempdir}/lispintro
- test -f texinfo.tex && ln texinfo.tex ../${tempdir}/lispintro
- test -f README && ln README ../${tempdir}/lispintro
- test -f Makefile.in && ln Makefile.in ../${tempdir}/lispintro
- ln ChangeLog ../${tempdir}/lispintro
- cd ../${tempdir}/lispintro
+echo "Making links to \`doc/lispintro'"
+(cd doc/lispintro
+ ln *.texi *.aux *.cps *.fns *.kys *.vrs *.eps ../../${tempdir}/doc/lispintro
+ ln makefile.w32-in ../../${tempdir}/doc/lispintro
+ test -f texinfo.tex && ln texinfo.tex ../../${tempdir}/doc/lispintro
+ test -f README && ln README ../../${tempdir}/doc/lispintro
+ test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/lispintro
+ ln ChangeLog ../../${tempdir}/doc/lispintro
+ cd ../../${tempdir}/doc/lispintro
  rm -f \#*\# =* *~ core *.Z *.z xmail
  rm -f emacs-lisp-intro.?? *.log *.toc *.dvi *.oaux)
 
+echo "Making links to \`doc/man'"
+(cd doc/man
+ ln *.1 ../../${tempdir}/doc/man)
+
 echo "Making links to \`vms'"
 (cd vms
  test -f README && ln README ../${tempdir}/vms
@@ -681,21 +730,6 @@ for subdir in . etc info leim lib-src lisp lwlib mac msdos nt src; do
   cp COPYING ${tempdir}/${subdir}
 done
 
-#### Make sure that there aren't any hard links between files in the
-#### distribution; people with afs can't deal with that.  Okay,
-#### actually we just re-copy anything with a link count greater
-#### than two.  (Yes, strictly greater than 2 is correct; since we
-#### created these files by linking them in from the original tree,
-#### they'll have exactly two links normally.)
-####
-#### Commented out since it's not strictly necessary; it should suffice
-#### to just break the link on alloca.c.
-#echo "Breaking intra-tree links."
-#find ${tempdir} ! -type d -links +2 \
-#  -exec cp -p {} $$ \; -exec rm -f {} \; -exec mv $$ {} \;
-rm -f $tempdir/lib-src/alloca.c
-cp $tempdir/src/alloca.c $tempdir/lib-src/alloca.c
-
 if [ "${newer}" ]; then
   echo "Removing files older than $newer"
   ## We remove .elc files unconditionally, on the theory that anyone picking
@@ -719,7 +753,9 @@ if [ "${make_tar}" = yes ]; then
     )`
   fi
   case "${default_gzip}" in
+    bzip2)      gzip_extension=.bz2 ;;
     compress* ) gzip_extension=.Z ;;
+    lzma)       gzip_extension=.lzma ;;
     * )         gzip_extension=.gz ;;
   esac
   echo "Creating tar file"