X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2846c6e3607995ce250435e5998ea6a08f60dd89..8f3b8a5f42fe223012cfa6e84f0d079c49595f56:/make-dist diff --git a/make-dist b/make-dist index 817daa8ac9..95512c7f48 100755 --- 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, 2008 Free Software Foundation, Inc. +# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # This file is part of GNU Emacs. # @@ -121,8 +121,8 @@ while [ $# -gt 0 ]; do done ### Make sure we're running in the right place. -if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/version.el ]; then - echo "${progname}: Can't find \`src/lisp.h' and \`lisp/version.el'." >&2 +if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/subr.el ]; then + echo "${progname}: Can't find \`src/lisp.h' and \`lisp/subr.el'." >&2 echo "${progname} must be run in the top directory of the Emacs" >&2 echo "distribution tree. cd to that directory and try again." >&2 exit 1 @@ -150,12 +150,12 @@ then fi ### Find out which version of Emacs this is. -shortversion=`grep 'defconst[ ]*emacs-version' lisp/version.el \ +shortversion=`grep 'char emacs_version' src/emacs.c \ | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/'` -version=`grep 'defconst[ ]*emacs-version' lisp/version.el \ +version=`grep 'char emacs_version' src/emacs.c \ | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` if [ ! "${version}" ]; then - echo "${progname}: can't find current Emacs version in \`./lisp/version.el'" >&2 + echo "${progname}: can't find current Emacs version in \`./src/emacs.c'" >&2 exit 1 fi @@ -197,8 +197,12 @@ if [ $check = yes ]; then ### Check for .elc files with no corresponding .el file. ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ + lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ + lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ + lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \ + lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \ leim/[a-z]*/[a-z]*.elc > /tmp/elc bogosities="`comm -13 /tmp/el /tmp/elc`" if [ "${bogosities}" != "" ]; then @@ -209,8 +213,12 @@ then ### Check for .el files with no corresponding .elc file. ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ + lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ + lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.el > /tmp/el ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ + lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ + lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.elc | sed 's/\.elc$/.el/' > /tmp/elc losers="`comm -23 /tmp/el /tmp/elc`" bogosities= @@ -273,7 +281,7 @@ echo "Making lisp/MANIFEST" (cd lisp; files=`echo [!=]*.el | sed -e 's/ subdirs.el / /' -e 's/ default.el / /'` for dir in [!=]*; do - if [ -d $dir ] && [ $dir != term ] && [ $dir != CVS ] && [ $dir != RCS ] + if [ -d $dir ] && [ $dir != term ] then echo $dir thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'` @@ -305,7 +313,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} @@ -328,11 +336,11 @@ for subdir in lisp site-lisp \ 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/charsets etc/e etc/gnus etc/nxml \ - etc/images etc/images/ezimage etc/images/gnus etc/images/gud \ - etc/images/icons etc/images/icons/hicolor \ + 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/low-color etc/images/mail etc/images/mpc \ 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 \ @@ -342,13 +350,14 @@ for subdir in lisp site-lisp \ 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 + nextstep/GNUstep/Emacs.base/Resources do + ## site-lisp for in-place installs (?). + [ "$subdir" = "site-lisp" ] || [ -d "$subdir" ] || \ + echo "WARNING: $subdir not found, making anyway" echo " ${tempdir}/${subdir}" mkdir ${tempdir}/${subdir} done @@ -374,7 +383,7 @@ echo "Making links to \`lisp' and its subdirectories" ## Find all subdirs of lisp dir for file in `find . -type d -print`; do case $file in - . | .. | */Old | */CVS | */RCS | */=*) + . | .. | */=*) ;; *) if [ -d $file ]; then @@ -389,23 +398,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" @@ -414,14 +414,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.* @@ -440,10 +440,10 @@ echo "Making links to \`src'" ln [a-zA-Z]*.h ../${tempdir}/src ln [a-zA-Z]*.m ../${tempdir}/src ln [a-zA-Z]*.in ../${tempdir}/src - ln [a-zA-Z]*.opt ../${tempdir}/src + ln [a-zA-Z]*.mk ../${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 @@ -461,7 +461,7 @@ echo "Making links to \`src'" ln makefile.w32-in ../${tempdir}/src ln .gdbinit .dbxinit ../${tempdir}/src cd ../${tempdir}/src - rm -f config.h epaths.h Makefile Makefile.c + rm -f config.h epaths.h Makefile rm -f =* TAGS) echo "Making links to \`src/bitmaps'" @@ -470,8 +470,7 @@ echo "Making links to \`src/bitmaps'" echo "Making links to \`src/m'" (cd src/m - # We call files for miscellaneous input (to linker etc) .inp. - ln README [a-zA-Z0-9]*.h *.inp ../../${tempdir}/src/m) + ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/m) echo "Making links to \`src/s'" (cd src/s @@ -481,7 +480,7 @@ echo "Making links to \`lib-src'" (cd 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. @@ -500,7 +499,6 @@ echo "Making links to \`lib-src'" fi done cd ../${tempdir}/lib-src - rm -f Makefile.c rm -f getopt.h rm -f =* TAGS) @@ -533,19 +531,20 @@ 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 \`msdos'" (cd msdos - ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos - ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos + ln ChangeLog INSTALL README emacs.ico emacs.pif ../${tempdir}/msdos + ln is_exec.c sigaction.c 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 FOR-RELEASE README.txt compile ../${tempdir}/nextstep) + ln AUTHORS ChangeLog DEV-NOTES FOR-RELEASE README INSTALL ../${tempdir}/nextstep) echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents'" (cd nextstep/Cocoa/Emacs.base/Contents @@ -553,27 +552,19 @@ echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents'" 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) + ln Credits.html *.icns ../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources) 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 \`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 \`nextstep/Cocoa/Emacs.xcodeproj'" (cd nextstep/Cocoa/Emacs.xcodeproj ln project.pbxproj ../../../${tempdir}/nextstep/Cocoa/Emacs.xcodeproj) 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 ) + ln Emacs.desktop Info-gnustep.plist README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) echo "Making links to \`oldXMenu'" (cd oldXMenu @@ -589,7 +580,7 @@ echo "Making links to \`etc'" ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or ### tex litter. (cd etc - files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \ + files=`ls -d * | grep -v '^e$' \ | 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 @@ -617,7 +608,7 @@ echo "Making links to \`etc'" 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} + ln `ls -d *` ../../${tempdir}/${dir} cd ../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done @@ -632,8 +623,9 @@ echo "Making links to \`etc/images'" 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/mpc etc/images/smilies ; do echo "Making links to \`${dir}'" (cd ${dir} for f in *; do @@ -650,7 +642,7 @@ 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} + ln `ls -d *` ../../../../${tempdir}/${dir} cd ../../../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done @@ -659,7 +651,7 @@ 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} + ln `ls -d *` ../../../../../../${tempdir}/${dir} cd ../../../../../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done @@ -667,29 +659,28 @@ done echo "Making links to \`info'" # Don't distribute backups or autosaves. (cd info - ln `find . -type f -print | grep -v CVS | grep -v RCS | grep -v cvsignore` ../${tempdir}/info + ln `find . -type f -print` ../${tempdir}/info #ln [a-zA-Z]* ../${tempdir}/info cd ../${tempdir}/info # Avoid an error when expanding the wildcards later. ln emacs dummy~ ; ln emacs \#dummy\# - rm -f *~ \#*\# core .arch-inventory) + 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 @@ -698,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 @@ -713,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 *.pdf ../../${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 @@ -725,7 +716,8 @@ echo "Making links to \`doc/lispintro'" echo "Making links to \`doc/man'" (cd doc/man - ln *.1 ../../${tempdir}/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.