X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/62fb5e25f4a4c7da6fe6a06569b22a27998ae6bf..de56235e504a5fc198cc733bd8917ac7b58a3640:/make-dist diff --git a/make-dist b/make-dist index 54cd3aca9d..866b4351e9 100755 --- a/make-dist +++ b/make-dist @@ -7,24 +7,23 @@ #### 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. # -# GNU Emacs is free software; you can redistribute it and/or modify +# GNU Emacs is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + # GNU Emacs is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # 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, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. +# along with GNU Emacs. If not, see . + progname="$0" @@ -81,6 +80,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 +99,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 +163,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 +251,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 +303,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,18 +322,23 @@ 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/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/smilies etc/images/tree-widget \ - etc/images/tree-widget/default etc/images/tree-widget/folder \ - etc/refcards etc/tutorials 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/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/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 @@ -371,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 @@ -495,7 +510,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) @@ -523,15 +538,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 @@ -570,10 +577,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 '^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. @@ -592,11 +599,11 @@ 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) -for dir in etc/e 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} @@ -621,7 +628,8 @@ 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 ; do +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} @@ -629,6 +637,15 @@ for dir in etc/images/tree-widget/default etc/images/tree-widget/folder ; do 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 @@ -639,44 +656,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 @@ -691,21 +723,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 @@ -729,7 +746,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"