X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/1d390bd875543aa7fae8273e568bc8394efe6839..13e1f05b2e27e972f90145b9ea995220fed9edbd:/make-dist diff --git a/make-dist b/make-dist index 8cfc41ccd2..93054f8fb8 100755 --- a/make-dist +++ b/make-dist @@ -6,13 +6,14 @@ #### be distributed. This means that if you add a file with an odd name, #### you should make sure that this script will include it. -# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, +# 2006, 2007 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, @@ -22,8 +23,8 @@ # # 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., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. progname="$0" @@ -119,8 +120,7 @@ if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/version.el ]; then fi ### Find where to run Emacs. -### (We don't accept EMACS=t as an answer, since that probably only means -### that the shell is running in an Emacs window.) +### (Accept only absolute file names.) if [ $update = yes ]; then unset EMACS_UNIBYTE @@ -128,11 +128,15 @@ then then EMACS=`pwd`/src/emacs else - if [ "x$EMACS" = "x" -o "x$EMACS" = "xt" ]; - then - echo You must specify the EMACS environment variable 2>&1 - exit 1 - fi + case $EMACS in + /*) ;; + *) + if [ ! -f "$EMACS" ]; then + echo "$0: You must specify the EMACS environment variable " \ + "to an absolute file name." 2>&1 + exit 1 + fi;; + esac fi fi @@ -183,9 +187,9 @@ fi if [ $check = yes ]; then ### Check for .elc files with no corresponding .el file. - ls -1 lisp/[a-z]*.el lisp/[a-z]*/[a-z]*.el \ + ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el - ls -1 lisp/[a-z]*.elc lisp/[a-z]*/[a-z]*.elc \ + ls -1 lisp/[a-zA-Z]*.elc lisp/[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 @@ -195,21 +199,17 @@ then rm -f /tmp/el /tmp/elc ### Check for .el files with no corresponding .elc file. - (cd lisp; ls -1 [a-z]*.el [a-z]*/[a-z]*.el ; \ - cd ../leim; ls -1 [a-z]*/[a-z]*.el) > /tmp/el - (cd lisp; ls -1 [a-z]*.elc [a-z]*/[a-z]*.elc; \ - cd ../leim; ls -1 [a-z]*/[a-z]*.elc) | sed 's/\.elc$/.el/' > /tmp/elc + ls -1 lisp/[a-zA-Z]*.el lisp/[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 \ + leim/[a-z]*/[a-z]*.elc | sed 's/\.elc$/.el/' > /tmp/elc losers="`comm -23 /tmp/el /tmp/elc`" bogosities= for file in $losers; do - file1=`echo $file | sed -e "s|.*/||"` - if ! sed -n -e "/^DONTCOMPILE/,/[^\\]\$/p" lisp/Makefile.in | - grep -q "[ ]$file1\($\| \)"; then + if ! grep -q "no-byte-compile: t" $file; then case $file in site-init.el | site-load.el | site-start.el | default.el) ;; - term/*) - ;; *) bogosities="$file $bogosities" ;; @@ -221,13 +221,6 @@ then echo "${bogosities}" fi rm -f /tmp/el /tmp/elc - - ### Check for .el files that would overflow the 14-char limit if compiled. - long=`find lisp leim -name '[a-zA-Z0-9]??????????*.el' -print` - if [ "$long" != "" ]; then - echo "The following .el file names are too long:" - echo "$long" - fi fi ### Make sure configure is newer than configure.in. @@ -300,7 +293,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 move-if-change ${tempdir} +ln AUTHORS FTP INSTALL README BUGS CONTRIBUTE 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. @@ -324,8 +317,12 @@ for subdir in lisp site-lisp lispref lispintro \ 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 info man msdos vms mac mac/inc mac/inc/sys \ - mac/src mac/Emacs.app mac/Emacs.app/Contents \ + etc etc/e \ + 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 do @@ -347,8 +344,8 @@ echo "Making links to \`lisp' and its subdirectories" done ## simula.el doesn't keep abbreviations in simula.defns any more. ## ln [a-zA-Z]*.defns ../${tempdir}/lisp - ln ChangeLog Makefile.in makefile.nt ChangeLog.? ../${tempdir}/lisp - ln makefile.w32-in ../${tempdir}/lisp + ln ChangeLog ChangeLog.*[0-9] ../${tempdir}/lisp + ln Makefile.in makefile.w32-in ../${tempdir}/lisp test -f README && ln README ../${tempdir}/lisp (cd ../${tempdir}/lisp rm -f TAGS =* @@ -387,7 +384,7 @@ echo "Making links to \`lisp' and its subdirectories" if [ -f $file/ChangeLog ]; then ln $file/ChangeLog ../${tempdir}/lisp/$file - for f in $file/ChangeLog.[0-9]; do + for f in $file/ChangeLog.*[0-9]; do if [ -f $f ]; then ln $f ../${tempdir}/lisp/$file fi @@ -398,7 +395,7 @@ echo "Making links to \`lisp' and its subdirectories" echo "Making links to \`leim' and its subdirectories" ### Don't distribute TAGS, or =*.el files. (cd leim - ln makefile.nt makefile.w32-in ../${tempdir}/leim + ln makefile.w32-in ../${tempdir}/leim ln ChangeLog README ../${tempdir}/leim ln CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC @@ -407,6 +404,8 @@ echo "Making links to \`leim' and its subdirectories" 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. 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.* @@ -443,7 +442,7 @@ echo "Making links to \`src'" fi done ln README ChangeLog ChangeLog.*[0-9] ../${tempdir}/src - ln makefile.nt makefile.w32-in ../${tempdir}/src + ln makefile.w32-in ../${tempdir}/src ln .gdbinit .dbxinit ../${tempdir}/src cd ../${tempdir}/src rm -f config.h epaths.h Makefile Makefile.c @@ -466,7 +465,7 @@ echo "Making links to \`lib-src'" (cd lib-src ln [a-zA-Z]*.[chy] ../${tempdir}/lib-src ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src - ln grep-changelog rcs2log rcs-checkin makefile.nt ../${tempdir}/lib-src + ln 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. @@ -486,13 +485,18 @@ echo "Making links to \`lib-src'" done cd ../${tempdir}/lib-src rm -f Makefile.c + rm -f getopt.h rm -f =* TAGS) +echo "Making links to \`m4'" +(cd m4 + ln *.m4 ../${tempdir}/m4) + echo "Making links to \`nt'" (cd nt ln 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 makefile.def makefile.nt ../${tempdir}/nt + ln [a-z]*.bat [a-z]*.h ../${tempdir}/nt ln ChangeLog INSTALL README makefile.w32-in ../${tempdir}/nt) echo "Making links to \`nt/inc'" @@ -518,7 +522,7 @@ echo "Making links to \`nt/icons'" echo "Making links to \`mac'" (cd mac - ln ChangeLog INSTALL README *.xml *.MPW ../${tempdir}/mac) + ln ChangeLog INSTALL README make-package *.xml *.MPW ../${tempdir}/mac) echo "Making links to \`mac/inc'" (cd mac/inc @@ -536,6 +540,10 @@ 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 \`mac/Emacs.app/Contents/Resources'" +(cd mac/Emacs.app/Contents/Resources + ln Emacs.icns ../../../../${tempdir}/mac/Emacs.app/Contents/Resources) + 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) @@ -550,7 +558,7 @@ echo "Making links to \`msdos'" echo "Making links to \`oldXMenu'" (cd oldXMenu ln *.c *.h *.in ../${tempdir}/oldXMenu - ln README Imakefile ChangeLog ../${tempdir}/oldXMenu + ln README ChangeLog ../${tempdir}/oldXMenu ln compile.com descrip.mms ../${tempdir}/oldXMenu) echo "Making links to \`lwlib'" @@ -563,7 +571,8 @@ echo "Making links to \`etc'" ### 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$'` + files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \ + | grep -v '^images$' | grep -v '^tree-widget$'` 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,6 +601,24 @@ echo "Making links to \`etc/e'" cd ../../${tempdir}/etc/e rm -f *~ \#*\# *,v =* core) +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 + 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 + 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 @@ -605,6 +632,7 @@ echo "Making links to \`info'" 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 @@ -619,6 +647,7 @@ echo "Making links to \`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 @@ -629,6 +658,7 @@ echo "Making links to \`lispref'" 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