X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/a237f07b7e9b29e28d01b31b3e95d3557853996b..ac0827d7733ac1132fd4d4b29fb4f24466279b7d:/make-dist diff --git a/make-dist b/make-dist index 3871dc6005..02c2c46940 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, 2008 Free Software Foundation, Inc. -# +# 2006, 2007, 2008, 2009 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" @@ -132,7 +141,7 @@ then /*) ;; *) if [ ! -f "$EMACS" ]; then - echo "$0: You must specify the EMACS environment variable " \ + echo "$0: You must set the EMACS environment variable " \ "to an absolute file name." 2>&1 exit 1 fi;; @@ -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,9 +303,9 @@ 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} +ln config.bat make-dist update-subdirs vpath.sed .dir-locals.el ${tempdir} ### Copy these files; they're cross-filesystem symlinks. cp mkinstalldirs ${tempdir} cp config.sub ${tempdir} @@ -312,19 +322,32 @@ 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/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 \ - mac/Emacs.app/Contents/MacOS mac/Emacs.app/Contents/Resources \ - mac/Emacs.app/Contents/Resources/English.lproj + 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 \ + nextstep nextstep/Cocoa nextstep/Cocoa/Emacs.base \ + nextstep/Cocoa/Emacs.base/Contents \ + nextstep/Cocoa/Emacs.base/Contents/Resources \ + nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj \ + nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib \ + nextstep/Cocoa/Emacs.xcodeproj \ + nextstep/GNUstep \ + nextstep/GNUstep/Emacs.base \ + nextstep/GNUstep/Emacs.base/Resources \ + nextstep/GNUstep/Emacs.base/Resources/preferences.gorm do echo " ${tempdir}/${subdir}" mkdir ${tempdir}/${subdir} @@ -335,13 +358,6 @@ echo "Making links to \`lisp' and its subdirectories" (cd lisp 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 ChangeLog.*[0-9] ../${tempdir}/lisp @@ -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 @@ -422,7 +438,7 @@ echo "Making links to \`src'" echo " (It is ok if ln fails in some cases.)" ln [a-zA-Z]*.c ../${tempdir}/src ln [a-zA-Z]*.h ../${tempdir}/src - ln [a-zA-Z]*.s ../${tempdir}/src + ln [a-zA-Z]*.m ../${tempdir}/src ln [a-zA-Z]*.in ../${tempdir}/src ln [a-zA-Z]*.opt ../${tempdir}/src ## If we ended up with a symlink, or if we did not get anything @@ -463,7 +479,7 @@ echo "Making links to \`src/s'" echo "Making links to \`lib-src'" (cd lib-src - ln [a-zA-Z]*.[chy] ../${tempdir}/lib-src + ln [a-zA-Z]*.[chmy] ../${tempdir}/lib-src ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src ln grep-changelog rcs2log rcs-checkin ../${tempdir}/lib-src ln makefile.w32-in ../${tempdir}/lib-src @@ -520,46 +536,49 @@ echo "Making links to \`nt/icons'" ln [a-z]*.ico ../../${tempdir}/nt/icons ln [a-z]*.cur ../../${tempdir}/nt/icons) -echo "Making links to \`mac'" -(cd mac - ln ChangeLog INSTALL README make-package *.xml *.MPW ../${tempdir}/mac) +echo "Making links to \`msdos'" +(cd msdos + ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos + ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos + cd ../${tempdir}/msdos + rm -f =*) -echo "Making links to \`mac/inc'" -(cd mac/inc - ln [a-z]*.h ../../${tempdir}/mac/inc) +echo "Making links to \`nextstep'" +(cd nextstep + ln AUTHORS ChangeLog FOR-RELEASE README.txt compile ../${tempdir}/nextstep) -echo "Making links to \`mac/inc/sys'" -(cd mac/inc/sys - ln [a-z]*.h ../../../${tempdir}/mac/inc/sys) +echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents'" +(cd nextstep/Cocoa/Emacs.base/Contents + ln Info.plist PkgInfo ../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents) -echo "Making links to \`mac/src'" -(cd mac/src - ln [a-z]*.c *.r ../../${tempdir}/mac/src) +echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources'" +(cd nextstep/Cocoa/Emacs.base/Contents/Resources + ln Credits.html Emacs.icns ../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources) -echo "Making links to \`mac/Emacs.app/Contents'" -(cd mac/Emacs.app/Contents - ln Info.plist PkgInfo ../../../${tempdir}/mac/Emacs.app/Contents) +echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj'" +(cd nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj + ln InfoPlist.strings ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj) -echo "Making links to \`mac/Emacs.app/Contents/Resources'" -(cd mac/Emacs.app/Contents/Resources - ln Emacs.icns ../../../../${tempdir}/mac/Emacs.app/Contents/Resources) +echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib'" +(cd nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib + ln *.nib ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib) -echo "Making links to \`mac/Emacs.app/Contents/Resources/English.lproj'" -(cd mac/Emacs.app/Contents/Resources/English.lproj - ln InfoPlist.strings ../../../../../${tempdir}/mac/Emacs.app/Contents/Resources/English.lproj) +echo "Making links to \`nextstep/Cocoa/Emacs.xcodeproj'" +(cd nextstep/Cocoa/Emacs.xcodeproj + ln project.pbxproj ../../../${tempdir}/nextstep/Cocoa/Emacs.xcodeproj) -echo "Making links to \`msdos'" -(cd msdos - ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos - ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos - cd ../${tempdir}/msdos - rm -f =*) +echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources'" +(cd nextstep/GNUstep/Emacs.base/Resources + ln Emacs.desktop Info-gnustep.plist emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) + +echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources/preferences.gorm'" +(cd nextstep/GNUstep/Emacs.base/Resources/preferences.gorm + ln data.classes data.info objects.gorm ../../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources/preferences.gorm ) echo "Making links to \`oldXMenu'" (cd oldXMenu ln *.c *.h *.in ../${tempdir}/oldXMenu - ln README ChangeLog ../${tempdir}/oldXMenu - ln compile.com descrip.mms ../${tempdir}/oldXMenu) + ln README ChangeLog ../${tempdir}/oldXMenu) echo "Making links to \`lwlib'" (cd lwlib @@ -569,10 +588,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 '^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. @@ -591,31 +610,57 @@ 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/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} + cd ../../${tempdir}/${dir} + rm -f *~ \#*\# *,v =* core) +done echo "Making links to \`etc/images'" (cd etc/images - for img in README [a-zA-Z]*.xpm [a-zA-Z]*.xbm [a-zA-Z]*.pbm; do - if [ -f $img ]; then - ln $img ../../${tempdir}/etc/images - fi + for f in *; do + [ -f "$f" ] || continue + case $f in + (*~|\#*\#|*,v|=*|core) continue ;; + esac + ln $f ../../${tempdir}/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} - cd ../../../${tempdir}/${dir} + for f in *; do + [ -f "$f" ] || continue + case $f in + (*~|\#*\#|*,v|=*|core) continue ;; + esac + ln $f ../../../${tempdir}/${dir} + done + ) +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/*/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 @@ -629,73 +674,68 @@ echo "Making links to \`info'" ln emacs dummy~ ; ln emacs \#dummy\# rm -f *~ \#*\# core .arch-inventory) -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 \`vms'" -(cd vms - test -f README && ln README ../${tempdir}/vms - cd ../${tempdir}/vms - rm -f *~) +echo "Making links to \`doc/man'" +(cd doc/man + ln *.1 ../../${tempdir}/doc/man + ln ChangeLog ../../${tempdir}/doc/man) ### It would be nice if they could all be symlinks to top-level copy, but ### you're not supposed to have any symlinks in distribution tar files. echo "Making sure copying notices are all copies of \`COPYING'" -for subdir in . etc info leim lib-src lisp lwlib mac msdos nt src; do +for subdir in . etc info leim lib-src lisp lwlib msdos nt src; do rm -f ${tempdir}/${subdir}/COPYING 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 +759,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"