2010-12-03 14:45:09 +00:00
|
|
|
#!/bin/sh
|
|
|
|
### make-dist: create an Emacs distribution tar file from current srcdir
|
|
|
|
|
2017-01-01 03:14:01 +00:00
|
|
|
## Copyright (C) 1995, 1997-1998, 2000-2017 Free Software Foundation,
|
2015-01-01 22:26:41 +00:00
|
|
|
## Inc.
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
## 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 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. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
### Commentary:
|
|
|
|
|
|
|
|
## This basically creates a duplicate directory structure, and then
|
|
|
|
## hard links into it only those files that should be distributed.
|
|
|
|
## This means that if you add a file with an odd name, you should make
|
|
|
|
## sure that this script will include it.
|
|
|
|
|
|
|
|
### Code:
|
|
|
|
|
|
|
|
progname="$0"
|
|
|
|
|
|
|
|
### Exit if a command fails.
|
|
|
|
#set -e
|
|
|
|
|
|
|
|
### Print out each line we read, for debugging's sake.
|
|
|
|
#set -v
|
|
|
|
|
|
|
|
LANGUAGE=C
|
|
|
|
LC_ALL=C
|
|
|
|
LC_MESSAGES=
|
|
|
|
LANG=
|
|
|
|
export LANGUAGE LC_ALL LC_MESSAGES LANG
|
|
|
|
|
2013-05-01 19:28:41 +00:00
|
|
|
## Remove unnecessary restrictions on file access.
|
|
|
|
umask 022
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
update=yes
|
|
|
|
check=yes
|
|
|
|
clean_up=no
|
|
|
|
make_tar=no
|
|
|
|
default_gzip=gzip
|
|
|
|
newer=""
|
2013-07-25 06:57:25 +00:00
|
|
|
with_tests=no
|
2015-05-12 00:29:06 +00:00
|
|
|
changelog=yes
|
2016-12-08 00:59:14 +00:00
|
|
|
verbose=no
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
while [ $# -gt 0 ]; do
|
|
|
|
case "$1" in
|
|
|
|
## This option tells make-dist to delete the staging directory
|
|
|
|
## when done. It is useless to use this unless you make a tar file.
|
|
|
|
"--clean-up" )
|
|
|
|
clean_up=yes
|
|
|
|
;;
|
|
|
|
## This option tells make-dist to make a tar file.
|
|
|
|
"--tar" )
|
|
|
|
make_tar=yes
|
|
|
|
;;
|
|
|
|
## This option tells make-dist not to recompile or do analogous things.
|
|
|
|
"--no-update" )
|
|
|
|
update=no
|
|
|
|
;;
|
|
|
|
## This option says don't check for bad file names, etc.
|
|
|
|
"--no-check" )
|
|
|
|
check=no
|
|
|
|
;;
|
2015-05-12 00:29:06 +00:00
|
|
|
"--no-changelog" )
|
|
|
|
changelog=no
|
|
|
|
;;
|
2010-12-03 14:45:09 +00:00
|
|
|
## This option tells make-dist to make the distribution normally, then
|
|
|
|
## remove all files older than the given timestamp file. This is useful
|
|
|
|
## for creating incremental or patch distributions.
|
|
|
|
"--newer")
|
|
|
|
newer="$2"
|
|
|
|
new_extension=".new"
|
|
|
|
shift
|
|
|
|
;;
|
2015-04-19 21:40:51 +00:00
|
|
|
## This option tells make-dist to use 'bzip2' instead of gzip.
|
2010-12-03 14:45:09 +00:00
|
|
|
"--bzip2")
|
|
|
|
default_gzip="bzip2"
|
|
|
|
;;
|
2013-01-10 04:00:02 +00:00
|
|
|
## Same with xz.
|
|
|
|
"--xz")
|
|
|
|
default_gzip="xz"
|
|
|
|
;;
|
|
|
|
"--no-compress")
|
|
|
|
default_gzip="cat"
|
|
|
|
;;
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
"--snapshot")
|
|
|
|
clean_up=yes
|
|
|
|
make_tar=yes
|
|
|
|
update=no
|
|
|
|
;;
|
|
|
|
|
2013-07-25 06:57:25 +00:00
|
|
|
## Include the test/ directory.
|
|
|
|
## This option is mainly for the hydra build server.
|
|
|
|
"--tests")
|
|
|
|
with_tests=yes
|
|
|
|
;;
|
|
|
|
|
2016-12-08 00:59:14 +00:00
|
|
|
"--verbose")
|
|
|
|
verbose=yes
|
|
|
|
;;
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
"--help")
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "Usage: ${progname} [options]"
|
2010-12-03 14:45:09 +00:00
|
|
|
echo ""
|
|
|
|
echo " --bzip2 use bzip2 instead of gzip"
|
|
|
|
echo " --clean-up delete staging directories when done"
|
2013-01-10 04:00:02 +00:00
|
|
|
echo " --xz use xz instead of gzip"
|
|
|
|
echo " --no-compress don't compress"
|
2010-12-03 14:45:09 +00:00
|
|
|
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"
|
2015-05-12 00:29:06 +00:00
|
|
|
echo " --no-changelog don't generate the top-level ChangeLog"
|
2010-12-03 14:45:09 +00:00
|
|
|
echo " --snapshot same as --clean-up --no-update --tar --no-check"
|
|
|
|
echo " --tar make a tar file"
|
2013-07-25 06:57:25 +00:00
|
|
|
echo " --tests include the test/ directory"
|
2016-12-08 00:59:14 +00:00
|
|
|
echo " --verbose noisier output"
|
2010-12-03 14:45:09 +00:00
|
|
|
echo ""
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
|
|
|
|
* )
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "${progname}: Unrecognized argument: $1" >&2
|
2010-12-03 14:45:09 +00:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
### Make sure we're running in the right place.
|
|
|
|
if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/subr.el ]; then
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "${progname}: Can't find 'src/lisp.h' and 'lisp/subr.el'." >&2
|
|
|
|
printf '%s\n' "${progname} must be run in the top directory of the Emacs" >&2
|
|
|
|
printf '%s\n' "distribution tree. cd to that directory and try again." >&2
|
2010-12-03 14:45:09 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
### Find where to run Emacs.
|
|
|
|
### (Accept only absolute file names.)
|
|
|
|
if [ $update = yes ];
|
|
|
|
then
|
|
|
|
if [ -f src/emacs ];
|
|
|
|
then
|
|
|
|
EMACS=`pwd`/src/emacs
|
|
|
|
else
|
|
|
|
case $EMACS in
|
|
|
|
/*) ;;
|
|
|
|
*)
|
|
|
|
if [ ! -f "$EMACS" ]; then
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "$0: You must set the EMACS environment variable " \
|
2010-12-03 14:45:09 +00:00
|
|
|
"to an absolute file name." 2>&1
|
|
|
|
exit 1
|
|
|
|
fi;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
### Find out which version of Emacs this is.
|
2011-01-31 08:12:52 +00:00
|
|
|
version=`
|
2014-04-03 01:16:18 +00:00
|
|
|
sed -n 's/^AC_INIT(GNU Emacs,[ ]*\([^ ,)]*\).*/\1/p' <configure.ac
|
2011-01-31 08:12:52 +00:00
|
|
|
` || version=
|
2010-12-03 14:45:09 +00:00
|
|
|
if [ ! "${version}" ]; then
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' \
|
|
|
|
"${progname}: can't find current Emacs version in './src/emacs.c'" >&2
|
2010-12-03 14:45:09 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo Version number is $version
|
|
|
|
|
|
|
|
if [ $update = yes ]; then
|
2014-11-10 00:17:17 +00:00
|
|
|
if ! grep -q "tree holds version *${version}" README; then
|
|
|
|
echo "WARNING: README has the wrong version number"
|
2010-12-03 14:45:09 +00:00
|
|
|
echo "Consider running M-x set-version from admin/admin.el"
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
### Make sure we don't already have a directory emacs-${version}.
|
|
|
|
|
|
|
|
emacsname="emacs-${version}${new_extension}"
|
|
|
|
|
|
|
|
if [ -d ${emacsname} ]
|
|
|
|
then
|
|
|
|
echo Directory "${emacsname}" already exists >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
### Make sure the subdirectory is available.
|
|
|
|
tempparent="make-dist.tmp.$$"
|
|
|
|
if [ -d ${tempparent} ]; then
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "${progname}: staging directory '${tempparent}' already exists.
|
2015-04-19 21:40:51 +00:00
|
|
|
Perhaps a previous invocation of '${progname}' failed to clean up after
|
2010-12-03 14:45:09 +00:00
|
|
|
itself. Check that directories whose names are of the form
|
2015-04-19 21:40:51 +00:00
|
|
|
'make-dist.tmp.NNNNN' don't contain any important information, remove
|
2010-12-03 14:45:09 +00:00
|
|
|
them, and try again." >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $check = yes ]; then
|
2016-12-08 00:45:48 +00:00
|
|
|
|
|
|
|
echo "Sanity checking (use --no-check to disable this)..."
|
|
|
|
|
2016-12-08 00:13:05 +00:00
|
|
|
error=no
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
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 \
|
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
2013-11-27 06:15:06 +00:00
|
|
|
lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el > /tmp/el
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
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 \
|
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
2013-11-27 06:15:06 +00:00
|
|
|
lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc > /tmp/elc
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
## Check for .elc files with no corresponding .el file.
|
|
|
|
sed 's/\.el$/.elc/' /tmp/el > /tmp/elelc
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
bogosities=`comm -13 /tmp/elelc /tmp/elc`
|
2010-12-03 14:45:09 +00:00
|
|
|
if [ x"${bogosities}" != x"" ]; then
|
2016-12-08 00:13:05 +00:00
|
|
|
error=yes
|
2010-12-03 14:45:09 +00:00
|
|
|
echo "The following .elc files have no corresponding .el files:"
|
|
|
|
echo "${bogosities}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
### Check for .el files with no corresponding .elc file.
|
|
|
|
sed 's/\.elc$/.el/' /tmp/elc > /tmp/elcel
|
2015-04-19 21:40:51 +00:00
|
|
|
losers=`comm -23 /tmp/el /tmp/elcel`
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2016-12-08 00:13:05 +00:00
|
|
|
bogosities=
|
|
|
|
while read elc; do
|
|
|
|
el=`echo $elc | sed 's/c$//'`
|
|
|
|
[ -e $el ] || continue
|
|
|
|
[ $elc -nt $el ] || bogosities="$bogosities $elc"
|
|
|
|
done < /tmp/elc
|
|
|
|
|
|
|
|
if [ x"${bogosities}" != x"" ]; then
|
|
|
|
error=yes
|
|
|
|
echo "The following .elc files are older than their .el files:"
|
|
|
|
echo "${bogosities}"
|
|
|
|
fi
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
rm -f /tmp/el /tmp/elc /tmp/elcel /tmp/elelc
|
|
|
|
|
|
|
|
bogosities=
|
|
|
|
for file in $losers; do
|
|
|
|
grep -q "no-byte-compile: t" $file && continue
|
|
|
|
case $file in
|
|
|
|
site-init.el | site-load.el | site-start.el | default.el) continue ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
bogosities="$file $bogosities"
|
|
|
|
|
|
|
|
done
|
|
|
|
if [ x"${bogosities}" != x"" ]; then
|
2016-12-08 00:13:05 +00:00
|
|
|
error=yes
|
2010-12-03 14:45:09 +00:00
|
|
|
echo "The following .el files have no corresponding .elc files:"
|
|
|
|
echo "${bogosities}"
|
|
|
|
fi
|
2016-12-08 00:13:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
## This is only a crude check, eg it does not handle .info
|
|
|
|
## files with multiple .texi source files.
|
|
|
|
find doc -name '*.texi' > /tmp/el
|
|
|
|
|
|
|
|
bogosities=
|
|
|
|
while read texi; do
|
|
|
|
info=`sed -n 's/^@setfilename //p' $texi | sed 's|.*info/||'`
|
|
|
|
[ x"${info}" != x"" ] || continue
|
|
|
|
info=info/$info
|
|
|
|
[ -e $info ] || continue
|
|
|
|
[ $info -nt $texi ] || bogosities="$bogosities $info"
|
|
|
|
done < /tmp/el
|
|
|
|
|
|
|
|
rm -f /tmp/el
|
|
|
|
|
|
|
|
if [ x"${bogosities}" != x"" ]; then
|
|
|
|
error=yes
|
|
|
|
echo "The following .info files are older than their .texi files:"
|
|
|
|
echo "${bogosities}"
|
|
|
|
fi
|
|
|
|
|
2016-12-08 00:43:36 +00:00
|
|
|
## This exits with non-zero status if any .info files need
|
|
|
|
## rebuilding.
|
|
|
|
if [ -e Makefile ]; then
|
|
|
|
echo "Checking to see if info files are up-to-date..."
|
|
|
|
make --question info || error=yes
|
|
|
|
fi
|
|
|
|
|
2017-06-07 17:41:46 +00:00
|
|
|
## Is this a release?
|
|
|
|
case $version in
|
|
|
|
[1-9][0-9].[0-9])
|
|
|
|
if [ -e ChangeLog ]; then
|
|
|
|
if ! grep -q "Version $version released" ChangeLog; then
|
|
|
|
echo "No release notice in ChangeLog"
|
|
|
|
error=yes
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "A release must have a ChangeLog"
|
|
|
|
error=yes
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2016-12-08 00:45:48 +00:00
|
|
|
if [ $error = yes ]; then
|
|
|
|
echo "Failed checks" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $update = yes ]; then
|
|
|
|
|
2012-07-09 04:52:49 +00:00
|
|
|
## Make sure configure is newer than configure.ac, etc.
|
2012-07-06 07:40:43 +00:00
|
|
|
## 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; }
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2012-07-09 04:52:49 +00:00
|
|
|
## Make sure src/stamp-h.in is newer than configure.ac.
|
2012-07-06 07:40:43 +00:00
|
|
|
rm -f src/stamp-h.in
|
|
|
|
echo timestamp > src/stamp-h.in
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
echo "Updating Info files"
|
2013-12-12 08:54:21 +00:00
|
|
|
make info
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
echo "Updating finder, custom and autoload data"
|
2012-07-06 07:40:43 +00:00
|
|
|
(cd lisp && make updates EMACS="$EMACS")
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2012-07-06 07:40:43 +00:00
|
|
|
echo "Updating leim-list.el"
|
|
|
|
(cd leim && make leim-list.el EMACS="$EMACS")
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
echo "Recompiling Lisp files"
|
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
2013-11-27 06:15:06 +00:00
|
|
|
$EMACS -batch -f batch-byte-recompile-directory lisp
|
2010-12-03 14:45:09 +00:00
|
|
|
fi # $update = yes
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Creating staging directory: '${tempparent}'"
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
mkdir ${tempparent}
|
|
|
|
tempdir="${tempparent}/${emacsname}"
|
|
|
|
|
|
|
|
### This trap ensures that the staging directory will be cleaned up even
|
|
|
|
### when the script is interrupted in mid-career.
|
|
|
|
if [ "${clean_up}" = yes ]; then
|
|
|
|
trap "echo 'Cleaning up the staging directory'; rm -rf ${tempparent}" EXIT
|
|
|
|
fi
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Creating top directory: '${tempdir}'"
|
2010-12-03 14:45:09 +00:00
|
|
|
mkdir ${tempdir}
|
|
|
|
|
2015-05-12 00:29:06 +00:00
|
|
|
if [ "$changelog" = yes ]; then
|
2016-04-13 18:12:15 +00:00
|
|
|
if test -e .git; then
|
2017-06-07 17:26:25 +00:00
|
|
|
## When making a release or pretest the ChangeLog should already
|
|
|
|
## have been created and edited as needed. Don't ignore it.
|
|
|
|
if test -e ChangeLog; then
|
|
|
|
echo "Using existing top-level ChangeLog"
|
|
|
|
else
|
|
|
|
echo "Making top-level ChangeLog"
|
|
|
|
make ChangeLog CHANGELOG=${tempdir}/ChangeLog || \
|
|
|
|
{ x=$?; echo "make ChangeLog FAILED (try --no-changelog?)" >&2; exit $x; }
|
|
|
|
fi
|
2015-05-12 00:29:06 +00:00
|
|
|
else
|
|
|
|
echo "No repository, so omitting top-level ChangeLog"
|
|
|
|
fi
|
2015-04-07 07:00:55 +00:00
|
|
|
fi
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
### We copy in the top-level files before creating the subdirectories in
|
|
|
|
### hopes that this will make the top-level files appear first in the
|
|
|
|
### 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"
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
ln INSTALL README BUGS ${tempdir}
|
2015-04-07 07:00:55 +00:00
|
|
|
ln ChangeLog.*[0-9] Makefile.in autogen.sh configure configure.ac ${tempdir}
|
2012-05-21 20:40:55 +00:00
|
|
|
ln config.bat make-dist .dir-locals.el ${tempdir}
|
2017-06-07 17:26:25 +00:00
|
|
|
ln aclocal.m4 CONTRIBUTE ChangeLog ${tempdir}
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
echo "Creating subdirectories"
|
|
|
|
for subdir in site-lisp \
|
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
2013-11-27 06:15:06 +00:00
|
|
|
leim leim/CXTERM-DIC leim/MISC-DIC leim/SKK-DIC \
|
2017-03-14 20:44:11 +00:00
|
|
|
build-aux \
|
2012-08-02 06:21:48 +00:00
|
|
|
src src/bitmaps lib lib-src oldXMenu lwlib \
|
2010-12-03 14:45:09 +00:00
|
|
|
nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \
|
2013-07-25 06:57:25 +00:00
|
|
|
`find etc lisp admin test -type d` \
|
2010-12-03 14:45:09 +00:00
|
|
|
doc doc/emacs doc/misc doc/man doc/lispref doc/lispintro \
|
2017-06-07 18:39:59 +00:00
|
|
|
info m4 modules msdos \
|
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.
* .bzrignore: Add some nextstep files.
* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 18:49:00 +00:00
|
|
|
nextstep nextstep/templates \
|
|
|
|
nextstep/Cocoa nextstep/Cocoa/Emacs.base \
|
2010-12-03 14:45:09 +00:00
|
|
|
nextstep/Cocoa/Emacs.base/Contents \
|
|
|
|
nextstep/Cocoa/Emacs.base/Contents/Resources \
|
|
|
|
nextstep/GNUstep \
|
|
|
|
nextstep/GNUstep/Emacs.base \
|
|
|
|
nextstep/GNUstep/Emacs.base/Resources
|
|
|
|
do
|
2013-07-25 06:57:25 +00:00
|
|
|
|
|
|
|
if [ "$with_tests" != "yes" ]; then
|
|
|
|
case $subdir in
|
2017-06-07 18:39:59 +00:00
|
|
|
test*) continue ;;
|
2013-07-25 06:57:25 +00:00
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2010-12-03 14:45:09 +00:00
|
|
|
## site-lisp for in-place installs (?).
|
|
|
|
[ "$subdir" = "site-lisp" ] || [ -d "$subdir" ] || \
|
|
|
|
echo "WARNING: $subdir not found, making anyway"
|
2016-12-08 00:59:14 +00:00
|
|
|
[ "$verbose" = "yes" ] && echo " ${tempdir}/${subdir}"
|
2010-12-03 14:45:09 +00:00
|
|
|
mkdir ${tempdir}/${subdir}
|
|
|
|
done
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'lisp' and its subdirectories"
|
2010-12-03 14:45:09 +00:00
|
|
|
files=`find lisp \( -name '*.el' -o -name '*.elc' -o -name 'ChangeLog*' \
|
2013-02-01 03:58:50 +00:00
|
|
|
-o -name 'README' \)`
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
### Don't distribute site-init.el, site-load.el, or default.el.
|
2015-08-15 07:56:51 +00:00
|
|
|
for file in lisp/Makefile.in $files; do
|
2010-12-03 14:45:09 +00:00
|
|
|
case $file in
|
|
|
|
*/site-init*|*/site-load*|*/default*) continue ;;
|
|
|
|
esac
|
|
|
|
ln $file $tempdir/$file
|
|
|
|
done
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'leim' and its subdirectories"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd leim
|
2015-04-07 07:00:55 +00:00
|
|
|
ln ChangeLog.*[0-9] README ../${tempdir}/leim
|
2010-12-03 14:45:09 +00:00
|
|
|
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/README MISC-DIC/*.* ../${tempdir}/leim/MISC-DIC
|
|
|
|
ln Makefile.in ../${tempdir}/leim/Makefile.in
|
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery,
rather than duplicating it.
* Makefile.in (abs_builddir, leimdir): Remove.
(buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory.
(epaths-force-w32): No longer set BLD.
(leim): Remove.
(install-arch-indep): No longer run or install leim.
(mostlyclean, clean): No longer run leim rule.
(bootstrap-clean): Change leim target.
(maintainer-clean): Add leim.
(check-declare): Remove leim.
* README: Update for leim changes.
* configure.ac (leimdir): Remove.
(standardlisppath): No more leimdir.
* make-dist: Update for files from leim/ now being in lisp/leim/.
* doc/lispref/loading.texi (Library Search):
* doc/lispref/os.texi (Startup Summary): No more leim directory.
* leim/Makefile.in (leimdir): New variable.
(TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc)
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Generate in $leimdir.
(all): Remove compilation, add ja-dic.
(leim-list.el): Now PHONY.
(setwins, compile-targets, compile-main, clean, mostlyclean)
(extraclean): Remove.
(bootstrap-clean): Delete all generated files.
* leim/README: Update for moved leim/ directory.
* leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate):
Remove manual autoloads; now in loaddefs.el.
Disable byte-compile, version-control, autoloads in the output.
* lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory.
(compile-main): Depend on lisp/leim rule.
(leim): New rule.
* lisp/loadup.el: Move leim-list.el to leim/ subdirectory.
* lisp/startup.el (normal-top-level): No more leim directory.
* lisp/international/ja-dic-cnv.el (skkdic-convert):
Disable version-control and autoloads in output files.
* lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert):
Disable version-control and autoloads in output files.
* lisp/leim/quail: Move here from ../leim.
* lisp/leim/quail/hangul.el (hangul-input-method-activate):
Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie.
(generated-autoload-load-name): Set file-local value.
* nt/README.W32:
* nt/addpm.c (env_vars):
* nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH):
* nt/paths.h (PATH_LOADSEARCH): No more leim directory.
* src/Makefile.in (leimdir): Now in lisp source directory.
($(leimdir)/leim-list.el): Just use ../leim .
* src/epaths.in (PATH_DUMPLOADSEARCH):
* src/lread.c (load_path_default):
* src/nsterm.m (ns_load_path): No more leim directory.
* .bzrignore: Update for relocated leim files.
2013-11-27 06:15:06 +00:00
|
|
|
ln leim-ext.el ../${tempdir}/leim/leim-ext.el)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2013-12-12 09:39:13 +00:00
|
|
|
## FIXME Can we not just use the "find -type f" method for this one?
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'build-aux'"
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
(cd build-aux
|
Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in. The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake. Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100). Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib. These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 18:33:47 +00:00
|
|
|
ln config.guess config.sub msys-to-w32 ../${tempdir}/build-aux
|
2015-04-07 07:00:55 +00:00
|
|
|
ln gitlog-to-changelog gitlog-to-emacslog ../${tempdir}/build-aux
|
Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in. The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake. Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100). Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib. These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 18:33:47 +00:00
|
|
|
ln install-sh move-if-change ../${tempdir}/build-aux
|
2013-12-24 18:27:53 +00:00
|
|
|
ln update-copyright update-subdirs ../${tempdir}/build-aux
|
Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in. The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake. Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100). Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib. These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 18:33:47 +00:00
|
|
|
ln dir_top make-info-dir ../${tempdir}/build-aux)
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'src'"
|
2010-12-03 14:45:09 +00:00
|
|
|
### Don't distribute the configured versions of
|
|
|
|
### config.in, paths.in, buildobj.h, or Makefile.in.
|
|
|
|
(cd src
|
|
|
|
echo " (It is ok if ln fails in some cases.)"
|
|
|
|
ln [a-zA-Z]*.[chm] ../${tempdir}/src
|
|
|
|
ln [a-zA-Z]*.in ../${tempdir}/src
|
2015-05-17 00:52:27 +00:00
|
|
|
ln deps.mk ../${tempdir}/src
|
2015-04-07 07:00:55 +00:00
|
|
|
ln README ChangeLog.*[0-9] ../${tempdir}/src
|
2010-12-03 14:45:09 +00:00
|
|
|
ln .gdbinit .dbxinit ../${tempdir}/src
|
|
|
|
cd ../${tempdir}/src
|
2011-02-13 02:04:18 +00:00
|
|
|
rm -f globals.h config.h epaths.h Makefile buildobj.h)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'src/bitmaps'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd src/bitmaps
|
|
|
|
ln README *.xbm ../../${tempdir}/src/bitmaps)
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'lib'"
|
2017-03-14 20:44:11 +00:00
|
|
|
(cd lib
|
|
|
|
ln [a-zA-Z_]*.[ch] ../${tempdir}/lib
|
Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in. The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake. Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100). Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib. These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 18:33:47 +00:00
|
|
|
ln gnulib.mk.in Makefile.in ../${tempdir}/lib
|
2011-01-08 21:02:38 +00:00
|
|
|
cd ../${tempdir}/lib
|
Merge from gnulib, using build-aux to remove clutter.
* m4/largefile.m4: New file, so that Emacs does not mess up when
accessing files with large inode numbers in MacOS X 10.5 and later.
* m4/nocrash.m4: New file, to avoid triggering background debugger
and/or create core dumps during 'configure'.
* build-aux/move-if-change: Renamed from move-if-change.
* build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h.
* build-aux/snippet/c++defs.h: Renamed from c++defs.h.
* build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h.
* build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn.
* .bzrignore: The autogenerated files compile, config.guess,
config.sub, depcomp, install-sh, and missing are now in build-aux.
* Makefile.in (epaths-force, sync-from-gnulib):
move-if-change is now in build-aux.
(GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite
of gnulib's pthread_sigmask module, but Emacs doesn't need it.
(mkdir): install-sh is now in build-aux.
* config.bat: c++defs.h is now in build-aux/snippets.
* configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the
usual parameter).
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
* lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved
to build-aux/snippet.
* lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4:
* m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4:
Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and
Solaris, enables MacOS extensions, and enables nocrash during
'configure'.
* make-dist: Adjust to new build-aux and build-aux/snippit dirs.
* admin/notes/copyright: The files compile, config.guess, config.sub,
depcomp, install-sh, missing, and move-if-change are now in the
new build-aux subdirectory. The files arg-nonnull.h, c++defs.h,
and warn-on-use.h are now in build-aux/snippets. New file
build-aux/snippets/_Noreturn.h.
* leim/Makefile.in (install): install-sh is now in build-aux.
* lib-src/Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved
to build-aux.
* msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves
from top level to build-aux/snippet.
* src/Makefile.in (gl-stamp): move-if-change is now in build-aux.
2011-07-24 22:15:47 +00:00
|
|
|
script='/[*]/d; s/\.in\.h$/.h/'
|
2017-03-14 20:44:11 +00:00
|
|
|
rm -f `ls *.in.h | sed "$script"`)
|
2011-01-08 21:02:38 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'lib-src'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd lib-src
|
|
|
|
ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src
|
2015-04-07 07:00:55 +00:00
|
|
|
ln ChangeLog.*[0-9] Makefile.in README ../${tempdir}/lib-src
|
2017-03-13 21:24:31 +00:00
|
|
|
ln rcs2log ../${tempdir}/lib-src)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'm4'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd m4
|
|
|
|
ln *.m4 ../${tempdir}/m4)
|
|
|
|
|
2016-02-02 21:08:03 +00:00
|
|
|
echo "Making links to 'modules'"
|
|
|
|
(cd modules
|
|
|
|
ln *.py ../${tempdir}/modules
|
|
|
|
)
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nt'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nt
|
2014-11-22 22:04:32 +00:00
|
|
|
ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt
|
2016-02-02 21:19:15 +00:00
|
|
|
ln [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt
|
Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in. The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake. Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100). Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib. These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 18:33:47 +00:00
|
|
|
ln *.in gnulib-cfg.mk ../${tempdir}/nt
|
2016-02-02 21:19:15 +00:00
|
|
|
ln mingw-cfg.site epaths.nt INSTALL.W64 ../${tempdir}/nt
|
2015-08-15 07:56:51 +00:00
|
|
|
ln ChangeLog.*[0-9] INSTALL README README.W32 ../${tempdir}/nt)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nt/inc' and its subdirectories"
|
2010-12-03 14:45:09 +00:00
|
|
|
for f in `find nt/inc -type f -name '[a-z]*.h'`; do
|
|
|
|
ln $f $tempdir/$f
|
|
|
|
done
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nt/icons'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nt/icons
|
|
|
|
ln README [a-z]*.ico ../../${tempdir}/nt/icons
|
|
|
|
ln [a-z]*.cur ../../${tempdir}/nt/icons)
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'msdos'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd msdos
|
2015-04-07 07:00:55 +00:00
|
|
|
ln ChangeLog.*[0-9] INSTALL README emacs.ico emacs.pif ../${tempdir}/msdos
|
2011-10-31 17:37:39 +00:00
|
|
|
ln depfiles.bat inttypes.h ../${tempdir}/msdos
|
2014-08-09 16:12:33 +00:00
|
|
|
ln mainmake.v2 sed*.inp ../${tempdir}/msdos)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nextstep'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nextstep
|
2015-04-07 07:00:55 +00:00
|
|
|
ln ChangeLog.*[0-9] README INSTALL Makefile.in ../${tempdir}/nextstep)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nextstep/templates'"
|
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.
* .bzrignore: Add some nextstep files.
* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 18:49:00 +00:00
|
|
|
(cd nextstep/templates
|
2012-09-17 19:53:27 +00:00
|
|
|
ln Emacs.desktop.in Info-gnustep.plist.in Info.plist.in InfoPlist.strings.in ../../${tempdir}/nextstep/templates)
|
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.
* .bzrignore: Add some nextstep files.
* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 18:49:00 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nextstep/Cocoa/Emacs.base/Contents'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nextstep/Cocoa/Emacs.base/Contents
|
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.
* .bzrignore: Add some nextstep files.
* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 18:49:00 +00:00
|
|
|
ln PkgInfo ../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nextstep/Cocoa/Emacs.base/Contents/Resources'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nextstep/Cocoa/Emacs.base/Contents/Resources
|
|
|
|
ln Credits.html *.icns ../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources)
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'nextstep/GNUstep/Emacs.base/Resources'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd nextstep/GNUstep/Emacs.base/Resources
|
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep/GNUstep/Emacs.base/Resources): Update contents.
* .bzrignore: Add some nextstep files.
* admin/admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
* nextstep/Makefile.in: New file.
* nextstep/templates: New directory.
* nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
Move here from various Cocoa/, GNUstep/ locations.
Let configure set the version number.
* nextstep/Cocoa/Emacs.base/Contents/Info.plist:
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
* nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
* nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
* nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
* src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
(ns_frag): Remove.
(ns-app): Move here from ns.mk, and simplify.
(clean): Simplify nextstep entry.
* src/ns.mk: Remove file.
2012-09-16 18:49:00 +00:00
|
|
|
ln README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources )
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'oldXMenu'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd oldXMenu
|
Use gcc auto-dependency information for lwlib and oldXMenu
* configure.ac (lwlib_deps_frag, oldxmenu_deps_frag): New output files.
* make-dist (lwlib, oldXMenu): Distribute *.mk.
* lwlib/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, lwlib_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.
* lwlib/deps.mk, lwlib/autodeps.mk: New files.
* oldXMenu/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, oldxmenu_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.
* oldXMenu/deps.mk, oldXMenu/autodeps.mk: New files.
* src/deps.mk: Comment update.
* .bzrignore: Ignore lwlib/deps, oldXMenu/deps.
2014-06-28 22:57:23 +00:00
|
|
|
ln *.[ch] *.in *.mk ../${tempdir}/oldXMenu
|
2015-04-07 07:00:55 +00:00
|
|
|
ln README ChangeLog.*[0-9] ../${tempdir}/oldXMenu)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'lwlib'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd lwlib
|
Use gcc auto-dependency information for lwlib and oldXMenu
* configure.ac (lwlib_deps_frag, oldxmenu_deps_frag): New output files.
* make-dist (lwlib, oldXMenu): Distribute *.mk.
* lwlib/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, lwlib_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.
* lwlib/deps.mk, lwlib/autodeps.mk: New files.
* oldXMenu/Makefile.in: Move old dependency information to new file deps.mk.
(MKDIR_P, DEPFLAGS, MKDEPDIR, oldxmenu_deps_frag):
New, set by configure.
(DEPDIR): New variable.
(ALL_CFLAGS): Add DEPFLAGS.
(.c.o): Add MKDEPDIR.
(clean, mostlyclean): Delete DEPDIR.
* oldXMenu/deps.mk, oldXMenu/autodeps.mk: New files.
* src/deps.mk: Comment update.
* .bzrignore: Ignore lwlib/deps, oldXMenu/deps.
2014-06-28 22:57:23 +00:00
|
|
|
ln *.[ch] *.in *.mk ../${tempdir}/lwlib
|
2015-04-07 07:00:55 +00:00
|
|
|
ln README ChangeLog.*[0-9] ../${tempdir}/lwlib)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2013-11-11 01:00:03 +00:00
|
|
|
## It is important to distribute admin/ because it contains sources
|
|
|
|
## for generated lisp/international/uni-*.el files.
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'admin' and its subdirectories"
|
2011-08-12 16:24:44 +00:00
|
|
|
for f in `find admin -type f`; do
|
2013-04-22 05:08:36 +00:00
|
|
|
case $f in
|
2014-04-11 06:25:25 +00:00
|
|
|
*/Makefile) [ -f $f.in ] && continue ;;
|
2013-04-22 05:08:36 +00:00
|
|
|
esac
|
2011-08-12 16:24:44 +00:00
|
|
|
ln $f $tempdir/$f
|
|
|
|
done
|
|
|
|
|
2013-07-25 06:57:25 +00:00
|
|
|
if [ "$with_tests" = "yes" ]; then
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'test' and its subdirectories"
|
Fix obsolete ‘test/automated’ references
* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
(bootstrap-clean, maintainer-clean):
Clean ‘test’, not ‘test/automated’. Test for existence of
subdirectory only for ‘test’, not for directories that should
always exist.
* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
* lisp/man.el (Man-parse-man-k):
* lisp/url/url-domsuf.el, make-dist:
* test/file-organization.org:
Fix obsolete references to test/automated.
2017-03-27 18:22:54 +00:00
|
|
|
for f in `find test -type f ! -name '*.log' ! -name a.out \
|
2017-06-12 17:53:38 +00:00
|
|
|
! -name '*.so' ! -name '*.dll' ! -name '*.o'
|
Fix obsolete ‘test/automated’ references
* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
(bootstrap-clean, maintainer-clean):
Clean ‘test’, not ‘test/automated’. Test for existence of
subdirectory only for ‘test’, not for directories that should
always exist.
* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
* lisp/man.el (Man-parse-man-k):
* lisp/url/url-domsuf.el, make-dist:
* test/file-organization.org:
Fix obsolete references to test/automated.
2017-03-27 18:22:54 +00:00
|
|
|
`; do
|
2017-06-12 17:53:38 +00:00
|
|
|
case $f in
|
|
|
|
*/Makefile) [ -f $f.in ] && continue ;;
|
|
|
|
esac
|
2013-07-25 06:57:25 +00:00
|
|
|
ln $f $tempdir/$f
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'etc' and its subdirectories"
|
2010-12-03 14:45:09 +00:00
|
|
|
for f in `find etc -type f`; do
|
|
|
|
case $f in
|
2010-12-11 02:30:29 +00:00
|
|
|
etc/DOC*|etc/*.pyc) continue ;;
|
2013-08-15 06:31:14 +00:00
|
|
|
## Arguably we should not exclude *.ps.
|
|
|
|
etc/refcards/*.aux|etc/refcards/*.dvi|etc/refcards/*.log|etc/refcards/*.ps)
|
|
|
|
continue ;;
|
2010-12-03 14:45:09 +00:00
|
|
|
esac
|
|
|
|
ln $f $tempdir/$f
|
|
|
|
done
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'info'"
|
2010-12-03 14:45:09 +00:00
|
|
|
ln `find info -type f -print` ${tempdir}/info
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'doc/emacs'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd doc/emacs
|
2015-08-15 07:56:51 +00:00
|
|
|
ln *.texi *.in ChangeLog.*[0-9] ../../${tempdir}/doc/emacs)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'doc/misc'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd doc/misc
|
2015-08-15 07:56:51 +00:00
|
|
|
ln *.texi *.tex *.in gnus-news.el ChangeLog.*[0-9] \
|
2015-04-07 07:00:55 +00:00
|
|
|
../../${tempdir}/doc/misc)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'doc/lispref'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd doc/lispref
|
2015-08-15 07:56:51 +00:00
|
|
|
ln *.texi *.in README ChangeLog.*[0-9] ../../${tempdir}/doc/lispref
|
2012-05-08 07:18:18 +00:00
|
|
|
ln spellfile ../../${tempdir}/doc/lispref
|
|
|
|
ln two-volume.make two-volume-cross-refs.txt ../../${tempdir}/doc/lispref)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'doc/lispintro'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd doc/lispintro
|
2015-08-15 07:56:51 +00:00
|
|
|
ln *.texi *.in *.eps *.pdf ../../${tempdir}/doc/lispintro
|
2015-04-07 07:00:55 +00:00
|
|
|
ln README ChangeLog.*[0-9] ../../${tempdir}/doc/lispintro
|
2010-12-03 14:45:09 +00:00
|
|
|
cd ../../${tempdir}/doc/lispintro)
|
|
|
|
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making links to 'doc/man'"
|
2010-12-03 14:45:09 +00:00
|
|
|
(cd doc/man
|
2015-04-07 07:00:55 +00:00
|
|
|
ln *.*[0-9] *.in ../../${tempdir}/doc/man
|
2014-11-10 02:01:56 +00:00
|
|
|
cd ../../${tempdir}/doc/man
|
|
|
|
rm -f emacs.1)
|
2010-12-03 14:45:09 +00:00
|
|
|
|
|
|
|
### 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.
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "Making sure copying notices are all copies of 'COPYING'"
|
2013-12-12 08:54:21 +00:00
|
|
|
for subdir in . etc leim lib lib-src lisp lwlib msdos nt src; do
|
2010-12-03 14:45:09 +00:00
|
|
|
rm -f ${tempdir}/${subdir}/COPYING
|
|
|
|
cp COPYING ${tempdir}/${subdir}
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ "${newer}" ]; then
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
printf '%s\n' "Removing files older than $newer"
|
2010-12-03 14:45:09 +00:00
|
|
|
## We remove .elc files unconditionally, on the theory that anyone picking
|
|
|
|
## up an incremental distribution already has a running Emacs to byte-compile
|
|
|
|
## them with.
|
|
|
|
find ${tempparent} \( -name '*.elc' -o ! -newer ${newer} \) -exec rm -f {} \;
|
|
|
|
fi
|
|
|
|
|
|
|
|
## Don't distribute backups, autosaves, etc.
|
|
|
|
echo "Removing unwanted files"
|
|
|
|
find ${tempparent} \( -name '*~' -o -name '#*#' -o -name '.*ignore' -o -name '=*' -o -name 'TAGS' \) -exec rm -f {} \;
|
|
|
|
|
|
|
|
if [ "${make_tar}" = yes ]; then
|
|
|
|
echo "Looking for $default_gzip"
|
|
|
|
found=0
|
Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-11 01:03:49 +00:00
|
|
|
temppath=`printf '%s\n' "$PATH" |
|
|
|
|
sed -e 's/^:/.:/' -e 's/::/:.:/g' -e 's/:$/:./' -e 's/:/ /g'
|
|
|
|
`
|
2010-12-03 14:45:09 +00:00
|
|
|
for dir in ${temppath}; do
|
|
|
|
[ -x ${dir}/$default_gzip ] || continue
|
|
|
|
found=1; break
|
|
|
|
done
|
|
|
|
if [ "$found" = "0" ]; then
|
2015-04-19 21:40:51 +00:00
|
|
|
echo "WARNING: '$default_gzip' not found, will not compress" >&2
|
2010-12-03 14:45:09 +00:00
|
|
|
default_gzip=cat
|
|
|
|
fi
|
|
|
|
case "${default_gzip}" in
|
|
|
|
bzip2) gzip_extension=.bz2 ;;
|
2013-01-10 04:00:02 +00:00
|
|
|
xz) gzip_extension=.xz ;;
|
2010-12-03 14:45:09 +00:00
|
|
|
gzip) gzip_extension=.gz ; default_gzip="gzip --best";;
|
|
|
|
*) gzip_extension= ;;
|
|
|
|
esac
|
|
|
|
echo "Creating tar file"
|
2016-12-08 00:59:14 +00:00
|
|
|
taropt=
|
|
|
|
[ "$verbose" = "yes" ] && taropt=v
|
|
|
|
|
|
|
|
(cd ${tempparent} ; tar c${taropt}f - ${emacsname} ) \
|
2010-12-03 14:45:09 +00:00
|
|
|
| ${default_gzip} \
|
|
|
|
> ${emacsname}.tar${gzip_extension}
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "${clean_up}" != yes ]; then
|
|
|
|
(cd ${tempparent}; mv ${emacsname} ..)
|
|
|
|
rm -rf ${tempparent}
|
|
|
|
fi
|
|
|
|
|
|
|
|
### make-dist ends here
|