X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e5e76c04310d287a56675876dd83e1089faba215..e7ff9e24b6e4d0ee8022f84fc3ad73484406f20b:/make-dist diff --git a/make-dist b/make-dist index 6da62d83f2..0eb2b9a417 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, 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;; @@ -296,7 +305,7 @@ mkdir ${tempdir} echo "Making links to top-level files" 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} @@ -318,17 +327,27 @@ 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/nxml \ - etc/images etc/images/ezimage etc/images/gnus etc/images/gud \ - etc/images/icons etc/images/low-color etc/images/mail \ + etc etc/charsets etc/e etc/gnus etc/nxml \ + etc/images etc/images/custom etc/images/ezimage etc/images/gnus \ + etc/images/gud 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/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 + 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} @@ -339,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 @@ -377,23 +389,14 @@ echo "Making links to \`lisp' and its subdirectories" 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 - if [ -f $img ]; then - ln $img ../${tempdir}/lisp/$file + ## calc/README.priv, nxml/TODO + for f in $file/[a-zA-Z]*.xpm $file/[a-zA-Z]*.[xp]bm \ + $file/README $file/ChangeLog $file/ChangeLog.*[0-9] \ + $file/README.prev $file/TODO; do + if [ -f $f ]; then + ln $f ../${tempdir}/lisp/$file fi done - if [ -f $file/README ]; then - ln $file/README ../${tempdir}/lisp/$file - fi - - if [ -f $file/ChangeLog ]; then - ln $file/ChangeLog ../${tempdir}/lisp/$file - for f in $file/ChangeLog.*[0-9]; do - if [ -f $f ]; then - ln $f ../${tempdir}/lisp/$file - fi - done - fi done ) echo "Making links to \`leim' and its subdirectories" @@ -402,14 +405,14 @@ echo "Making links to \`leim' and its subdirectories" ln makefile.w32-in ../${tempdir}/leim ln ChangeLog README ../${tempdir}/leim - ln CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC + ln CXTERM-DIC/README CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/leim/SKK-DIC - ln MISC-DIC/*.* ../${tempdir}/leim/MISC-DIC + ln MISC-DIC/README MISC-DIC/*.* ../${tempdir}/leim/MISC-DIC ln ja-dic/*.el ja-dic/*.elc ../${tempdir}/leim/ja-dic ln Makefile.in ../${tempdir}/leim/Makefile.in ln leim-ext.el ../${tempdir}/leim/leim-ext.el - ## Lisp files that start with a capital are generated from TIT - ## dictionaries so we don't distribute them. + ## Lisp files that start with a capital (also 4Corner.el) are + ## generated from TIT dictionaries so we don't distribute them. ln quail/[a-z]*.el quail/[a-z]*.elc ../${tempdir}/leim/quail rm -f ../${tempdir}/leim/quail/quick-b5.* rm -f ../${tempdir}/leim/quail/quick-cns.* @@ -426,12 +429,11 @@ 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 ## due to a cross-device symlink, copy the file. - for file in [a-zA-Z]*.[hcs] [a-zA-Z]*.in [a-zA-Z]*.opt; do + for file in [a-zA-Z]*.[hcs] [a-zA-Z]*.in; do if test -f ../${tempdir}/src/$file; then # test -f appears to succeed for a symlink if test -L ../${tempdir}/src/$file; then @@ -467,9 +469,9 @@ 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 b2m.pl grep-changelog rcs2log rcs-checkin ../${tempdir}/lib-src ln makefile.w32-in ../${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. @@ -498,7 +500,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 emacsclient.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) @@ -521,49 +523,53 @@ echo "Making links to \`nt/inc/netinet'" echo "Making links to \`nt/icons'" (cd nt/icons - ln [a-z]*.ico ../../${tempdir}/nt/icons + ln README [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 INSTALL README emacs.ico emacs.pif ../${tempdir}/msdos + ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos + cd ../${tempdir}/msdos + rm -f =*) + +## FIXME are DEV-NOTES and FOR-RELEASE appropriate? +echo "Making links to \`nextstep'" +(cd nextstep + ln AUTHORS ChangeLog DEV-NOTES FOR-RELEASE README INSTALL ../${tempdir}/nextstep) -echo "Making links to \`mac/inc'" -(cd mac/inc - ln [a-z]*.h ../../${tempdir}/mac/inc) +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/inc/sys'" -(cd mac/inc/sys - ln [a-z]*.h ../../../${tempdir}/mac/inc/sys) +echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources'" +(cd nextstep/Cocoa/Emacs.base/Contents/Resources + ln Credits.html *.icns ../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources) -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/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'" -(cd mac/Emacs.app/Contents - ln Info.plist PkgInfo ../../../${tempdir}/mac/Emacs.app/Contents) +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'" -(cd mac/Emacs.app/Contents/Resources - ln Emacs.icns ../../../../${tempdir}/mac/Emacs.app/Contents/Resources) +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 \`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/GNUstep/Emacs.base/Resources'" +(cd nextstep/GNUstep/Emacs.base/Resources + ln Emacs.desktop Info-gnustep.plist README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) -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/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 @@ -575,7 +581,7 @@ 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 '^gnus$' | grep -v '^images$' | grep -v '^nxml$' \ + | 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 @@ -599,7 +605,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/nxml etc/tutorials etc/refcards etc/schema ; 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} @@ -609,23 +615,31 @@ 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 ; do +for dir in etc/images/custom etc/images/ezimage etc/images/gnus \ + etc/images/gud etc/images/icons 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} - rm -f *~ \#*\# *,v =* core) + 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 + 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} @@ -633,6 +647,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 @@ -641,24 +664,23 @@ echo "Making links to \`info'" cd ../${tempdir}/info # Avoid an error when expanding the wildcards later. ln emacs dummy~ ; ln emacs \#dummy\# - rm -f *~ \#*\# core) + rm -f *~ \#*\# core .arch-inventory .gitignore) echo "Making links to \`doc/emacs'" (cd doc/emacs - ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/emacs + ln *.texi *.aux *.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 \`doc/misc'" (cd doc/misc - ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/misc + ln *.texi *.aux *.fns *.kys *.vrs ../../${tempdir}/doc/misc ln makefile.w32-in ../../${tempdir}/doc/misc + ln gnus-news.el ../../${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 @@ -667,12 +689,13 @@ echo "Making links to \`doc/misc'" rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux) +## FIXME book-spine.texinfo unused? 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 *.texi *.aux *.fns *.kys *.vrs ../../${tempdir}/doc/lispref ln *.txt *.el spellfile tindex.pl ../../${tempdir}/doc/lispref ln makefile.w32-in ../../${tempdir}/doc/lispref + ln book-spine.texinfo two-volume.make ../../${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 @@ -682,9 +705,8 @@ echo "Making links to \`doc/lispref'" echo "Making links to \`doc/lispintro'" (cd doc/lispintro - ln *.texi *.aux *.cps *.fns *.kys *.vrs *.eps ../../${tempdir}/doc/lispintro + ln *.texi *.aux *.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 @@ -694,18 +716,13 @@ echo "Making links to \`doc/lispintro'" 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 - cd ../${tempdir}/vms - rm -f *~) + 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 @@ -733,7 +750,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"