X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/8cf06c7f74ccb33646dabf1553c4fdbbe030ae6a..e6fa807c5ae9f8c5aecc7b99b03fbe54c4085dd5:/make-dist diff --git a/make-dist b/make-dist index 155419ae56..a455fefb3b 100755 --- a/make-dist +++ b/make-dist @@ -7,13 +7,13 @@ #### 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 # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Emacs is distributed in the hope that it will be useful, @@ -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,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/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/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 @@ -370,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 @@ -494,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) @@ -522,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 @@ -569,10 +578,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,15 +600,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/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 @@ -610,8 +621,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 +629,24 @@ 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/*/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 @@ -629,44 +657,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 +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 @@ -719,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"