X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/a9269c187774dea6e939066a79901f23ae79641f..b85f342318ce985fe277c5efda4824097abba855:/make-dist diff --git a/make-dist b/make-dist index 963236b936..788dca3462 100755 --- a/make-dist +++ b/make-dist @@ -1,7 +1,8 @@ #!/bin/sh ### make-dist: create an Emacs distribution tar file from current srcdir -## Copyright (C) 1995, 1997-1998, 2000-2011 Free Software Foundation, Inc. +## Copyright (C) 1995, 1997-1998, 2000-2013 Free Software Foundation, +## Inc. ## This file is part of GNU Emacs. @@ -86,6 +87,13 @@ while [ $# -gt 0 ]; do "--lzma") default_gzip="lzma" ;; + ## Same with xz. + "--xz") + default_gzip="xz" + ;; + "--no-compress") + default_gzip="cat" + ;; "--snapshot") clean_up=yes @@ -100,6 +108,8 @@ while [ $# -gt 0 ]; do echo " --bzip2 use bzip2 instead of gzip" echo " --clean-up delete staging directories when done" echo " --lzma use lzma instead of gzip" + echo " --xz use xz instead of gzip" + echo " --no-compress don't compress" 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" @@ -147,7 +157,7 @@ fi ### Find out which version of Emacs this is. version=` - sed -n 's/^AC_INIT(emacs,[ ]*\([^ )]*\).*/\1/p' &2 @@ -230,35 +240,24 @@ fi if [ $update = yes ]; then - ## Make sure configure is newer than configure.in. - if [ "x`ls -t configure configure.in | sed q`" != "xconfigure" ]; then - echo "\`./configure.in' is newer than \`./configure'" >&2 - echo "Running autoconf" >&2 - autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; } - fi + ## Make sure configure is newer than configure.ac, etc. + ## It is better to let autoreconf do what is needed than + ## for us to try and duplicate all its checks. + echo "Running autoreconf" + autoreconf -i -I m4 || { x=$?; echo Autoreconf FAILED! >&2; exit $x; } - ## Make sure src/stamp-h.in is newer than configure.in. - if [ "x`ls -t src/stamp-h.in configure.in | sed q`" != "xsrc/stamp-h.in" ]; then - echo "\`./configure.in' is newer than \`./src/stamp-h.in'" >&2 - echo "Running autoheader" >&2 - autoheader || { x=$?; echo Autoheader FAILED! >&2; exit $x; } - rm -f src/stamp-h.in - echo timestamp > src/stamp-h.in - fi + ## Make sure src/stamp-h.in is newer than configure.ac. + rm -f src/stamp-h.in + echo timestamp > src/stamp-h.in echo "Updating Info files" - (cd doc/emacs; make info) - (cd doc/misc; make info) - (cd doc/lispref; make info) - (cd doc/lispintro; make info) + make info-real echo "Updating finder, custom and autoload data" - (cd lisp; make updates EMACS="$EMACS") + (cd lisp && make updates EMACS="$EMACS") - if test -f leim/leim-list.el; then - echo "Updating leim-list.el" - (cd leim; make leim-list.el EMACS="$EMACS") - fi + echo "Updating leim-list.el" + (cd leim && make leim-list.el EMACS="$EMACS") echo "Recompiling Lisp files" $EMACS -batch -f batch-byte-recompile-directory lisp leim @@ -283,28 +282,25 @@ 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 INSTALL README BUGS move-if-change ${tempdir} -ln ChangeLog Makefile.in configure configure.in ${tempdir} -ln config.bat make-dist update-subdirs vpath.sed .dir-locals.el ${tempdir} -ln config.sub config.guess install-sh ${tempdir} +ln INSTALL README BUGS ${tempdir} +ln ChangeLog Makefile.in autogen.sh configure configure.ac ${tempdir} +ln config.bat make-dist .dir-locals.el ${tempdir} ln aclocal.m4 ${tempdir} -ln compile depcomp missing ${tempdir} -ln arg-nonnull.h c++defs.h warn-on-use.h ${tempdir} echo "Creating subdirectories" for subdir in 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 lib-src oldXMenu lwlib \ + build-aux build-aux/snippet \ + src src/bitmaps lib lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ - `find etc lisp -type d` \ + `find etc lisp admin -type d` \ doc doc/emacs doc/misc doc/man doc/lispref doc/lispintro \ info m4 msdos \ - nextstep nextstep/Cocoa nextstep/Cocoa/Emacs.base \ + nextstep nextstep/templates \ + 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.xcodeproj \ nextstep/GNUstep \ nextstep/GNUstep/Emacs.base \ nextstep/GNUstep/Emacs.base/Resources @@ -346,6 +342,15 @@ echo "Making links to \`leim' and its subdirectories" rm -f ../${tempdir}/leim/quail/tsang-b5.* rm -f ../${tempdir}/leim/quail/tsang-cns.*) +echo "Making links to \`build-aux'" +(cd build-aux + ln compile config.guess config.sub depcomp ../${tempdir}/build-aux + ln install-sh missing move-if-change update-subdirs ../${tempdir}/build-aux) + +echo "Making links to \`build-aux/snippet'" +(cd build-aux/snippet + ln *.h ../../${tempdir}/build-aux/snippet) + echo "Making links to \`src'" ### Don't distribute the configured versions of ### config.in, paths.in, buildobj.h, or Makefile.in. @@ -364,40 +369,32 @@ echo "Making links to \`src/bitmaps'" (cd src/bitmaps ln README *.xbm ../../${tempdir}/src/bitmaps) -echo "Making links to \`src/m'" -(cd src/m - ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/m) - -echo "Making links to \`src/s'" -(cd src/s - ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s) - echo "Making links to \`lib'" -(build_aux_h=`(ls *.h)` +(snippet_h=`(cd build-aux/snippet && ls *.h)` cd lib ln [a-zA-Z]*.[ch] ../${tempdir}/lib - ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib + ln gnulib.mk Makefile.am Makefile.in makefile.w32-in ../${tempdir}/lib cd ../${tempdir}/lib - rm -f `(echo "$build_aux_h"; ls *.in.h) | sed '/[*]/d; s/.in.h$/.h/'`) + script='/[*]/d; s/\.in\.h$/.h/' + rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`) echo "Making links to \`lib-src'" (cd lib-src ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src - ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src - ln grep-changelog rcs2log rcs-checkin ../${tempdir}/lib-src + ln ChangeLog Makefile.in README testfile ../${tempdir}/lib-src + ln grep-changelog rcs2log ../${tempdir}/lib-src ln makefile.w32-in ../${tempdir}/lib-src) echo "Making links to \`m4'" (cd m4 ln *.m4 ../${tempdir}/m4) -## Exclude README.W32 because it is specific to pre-built binaries(?). echo "Making links to \`nt'" (cd nt - ln emacs.manifest emacs.rc emacsclient.rc config.nt ../${tempdir}/nt - ln emacs-src.tags nmake.defs gmake.defs subdirs.el ../${tempdir}/nt - ln [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt - ln ChangeLog INSTALL README makefile.w32-in ../${tempdir}/nt) + ln emacs-x86.manifest emacs-x64.manifest emacs.rc ../${tempdir}/nt + ln config.nt emacsclient.rc emacs-src.tags ../${tempdir}/nt + ln nmake.defs gmake.defs subdirs.el [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt + ln ChangeLog INSTALL README README.W32 makefile.w32-in ../${tempdir}/nt) echo "Making links to \`nt/inc' and its subdirectories" for f in `find nt/inc -type f -name '[a-z]*.h'`; do @@ -412,31 +409,28 @@ echo "Making links to \`nt/icons'" echo "Making links to \`msdos'" (cd msdos ln ChangeLog INSTALL README emacs.ico emacs.pif ../${tempdir}/msdos + ln depfiles.bat inttypes.h ../${tempdir}/msdos ln is_exec.c sigaction.c mainmake.v2 sed*.inp ../${tempdir}/msdos) echo "Making links to \`nextstep'" (cd nextstep - ln ChangeLog README INSTALL ../${tempdir}/nextstep) + ln ChangeLog README INSTALL Makefile.in ../${tempdir}/nextstep) + +echo "Making links to \`nextstep/templates'" +(cd nextstep/templates + ln Emacs.desktop.in Info-gnustep.plist.in Info.plist.in InfoPlist.strings.in ../../${tempdir}/nextstep/templates) 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) + ln PkgInfo ../../../../${tempdir}/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 *.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.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 README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) + ln README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) echo "Making links to \`oldXMenu'" (cd oldXMenu @@ -448,6 +442,11 @@ echo "Making links to \`lwlib'" ln *.[ch] *.in ../${tempdir}/lwlib ln README ChangeLog ../${tempdir}/lwlib) +echo "Making links to \`admin' and its subdirectories" +for f in `find admin -type f`; do + ln $f $tempdir/$f +done + echo "Making links to \`etc' and its subdirectories" for f in `find etc -type f`; do case $f in @@ -470,8 +469,8 @@ echo "Making links to \`doc/misc'" echo "Making links to \`doc/lispref'" (cd doc/lispref ln *.texi *.in makefile.w32-in README ChangeLog* ../../${tempdir}/doc/lispref - ln *.txt *.el spellfile tindex.pl ../../${tempdir}/doc/lispref - ln two-volume.make ../../${tempdir}/doc/lispref) + ln spellfile ../../${tempdir}/doc/lispref + ln two-volume.make two-volume-cross-refs.txt ../../${tempdir}/doc/lispref) echo "Making links to \`doc/lispintro'" (cd doc/lispintro @@ -520,6 +519,7 @@ if [ "${make_tar}" = yes ]; then case "${default_gzip}" in bzip2) gzip_extension=.bz2 ;; lzma) gzip_extension=.lzma ;; + xz) gzip_extension=.xz ;; gzip) gzip_extension=.gz ; default_gzip="gzip --best";; *) gzip_extension= ;; esac