Moved most of vc-dir from vc.el to vc-dispatcher.el.
[bpt/emacs.git] / make-dist
index 0703c51..a455fef 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -7,7 +7,7 @@
 #### you should make sure that this script will include it.
 
 # Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-#   2006, 2007  Free Software Foundation, Inc.
+#   2006, 2007, 2008  Free Software Foundation, Inc.
 #
 # This file is part of GNU Emacs.
 #
@@ -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"
@@ -294,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 FTP INSTALL README BUGS 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.
@@ -318,15 +328,18 @@ for subdir in lisp site-lisp \
              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/gnus \
+             etc etc/charsets 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/icons etc/images/icons/hicolor \
+             etc/images/icons/hicolor/*x* etc/images/icons/hicolor/scalable \
+             etc/images/icons/hicolor/*/apps etc/images/icons/hicolor/*/mimetypes \
+             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/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 \
+             etc/refcards etc/schema etc/tutorials info doc doc/emacs \
+             doc/misc doc/man doc/lispref doc/lispintro m4 msdos vms mac \
+             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
@@ -374,7 +387,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
@@ -498,7 +511,7 @@ echo "Making links to \`m4'"
 
 echo "Making links to \`nt'"
 (cd nt
- ln emacs.rc config.nt [a-z]*.c ../${tempdir}/nt
+ ln emacs.manifest emacs.rc config.nt [a-z]*.c ../${tempdir}/nt
  ln nmake.defs gmake.defs subdirs.el ../${tempdir}/nt
  ln [a-z]*.bat [a-z]*.h ../${tempdir}/nt
  ln ChangeLog INSTALL README makefile.w32-in ../${tempdir}/nt)
@@ -526,15 +539,7 @@ echo "Making links to \`nt/icons'"
 
 echo "Making links to \`mac'"
 (cd mac
- ln ChangeLog INSTALL README make-package *.xml *.MPW ../${tempdir}/mac)
-
-echo "Making links to \`mac/inc'"
-(cd mac/inc
- ln [a-z]*.h ../../${tempdir}/mac/inc)
-
-echo "Making links to \`mac/inc/sys'"
-(cd mac/inc/sys
- ln [a-z]*.h ../../../${tempdir}/mac/inc/sys)
+ ln ChangeLog INSTALL README make-package ../${tempdir}/mac)
 
 echo "Making links to \`mac/src'"
 (cd mac/src
@@ -575,7 +580,8 @@ echo "Making links to \`etc'"
 ### tex litter.
 (cd etc
  files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \
-        | grep -v '^images$' | grep -v '^refcards$' | grep -v '^tutorials$'`
+        | grep -v '^charsets$' | 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.
@@ -598,7 +604,7 @@ echo "Making links to \`etc'"
  rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core
  rm -f TAGS)
 
-for dir in etc/e etc/gnus etc/tutorials etc/refcards ; do
+for dir in etc/charsets 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}
@@ -624,7 +630,7 @@ for dir in etc/images/ezimage etc/images/gnus etc/images/gud etc/images/icons \
 done
 
 for dir in etc/images/tree-widget/default etc/images/tree-widget/folder \
-    etc/images/smilies/grayscale  etc/images/smilies/medium ; do
+    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}
@@ -632,6 +638,15 @@ for dir in etc/images/tree-widget/default etc/images/tree-widget/folder \
      rm -f *~ \#*\# *,v =* core)
 done
 
+for dir in etc/images/icons/hicolor/*/apps \
+    etc/images/icons/hicolor/*/mimetypes; 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
@@ -709,21 +724,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
@@ -747,7 +747,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"