HCoop
/
bpt
/
emacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rearrange suspicious pointer logging
[bpt/emacs.git]
/
autogen.sh
diff --git
a/autogen.sh
b/autogen.sh
index
03c39ee
..
6b7c647
100755
(executable)
--- a/
autogen.sh
+++ b/
autogen.sh
@@
-1,9
+1,10
@@
#!/bin/sh
### autogen.sh - tool to help build Emacs from a bzr checkout
#!/bin/sh
### autogen.sh - tool to help build Emacs from a bzr checkout
-## Copyright (C) 2011
Free Software Foundation, Inc.
+## Copyright (C) 2011
-2014
Free Software Foundation, Inc.
## Author: Glenn Morris <rgm@gnu.org>
## Author: Glenn Morris <rgm@gnu.org>
+## Maintainer: emacs-devel@gnu.org
## This file is part of GNU Emacs.
## This file is part of GNU Emacs.
@@
-25,18
+26,20
@@
## The Emacs bzr repository does not include the configure script
## (and associated helpers). The first time you fetch Emacs from bzr,
## run this script to generate the necessary files.
## The Emacs bzr repository does not include the configure script
## (and associated helpers). The first time you fetch Emacs from bzr,
## run this script to generate the necessary files.
-## For more details, see the file INSTALL.
BZR
.
+## For more details, see the file INSTALL.
REPO
.
### Code:
## Tools we need:
### Code:
## Tools we need:
+## Note that we respect the values of AUTOCONF etc, like autoreconf does.
progs="autoconf automake"
## Minimum versions we need:
progs="autoconf automake"
## Minimum versions we need:
-autoconf_min=`sed -n 's/^ *AC_PREREQ(\([0-9\.]*\)).*/\1/p' configure.
in
`
+autoconf_min=`sed -n 's/^ *AC_PREREQ(\([0-9\.]*\)).*/\1/p' configure.
ac
`
-## FIXME how to determine this from the sources?
-automake_min=1.11
+## This will need improving if more options are ever added to the
+## AM_INIT_AUTOMAKE call.
+automake_min=`sed -n 's/^ *AM_INIT_AUTOMAKE(\([0-9\.]*\)).*/\1/p' configure.ac`
## $1 = program, eg "autoconf".
## $1 = program, eg "autoconf".
@@
-46,7
+49,8
@@
automake_min=1.11
## Also note that we do not handle micro versions.
get_version ()
{
## Also note that we do not handle micro versions.
get_version ()
{
- $1 --version 2>&1 | sed -n '1 s/.* \([1-9][0-9\.]*\).*/\1/p'
+ ## Remove eg "./autogen.sh: line 50: autoconf: command not found".
+ $1 --version 2>&1 | sed -e '/not found/d' -n -e '1 s/.* \([1-9][0-9\.]*\).*/\1/p'
}
## $1 = version string, eg "2.59"
}
## $1 = version string, eg "2.59"
@@
-65,13
+69,20
@@
minor_version ()
## $1 = program
## $2 = minimum version.
## $1 = program
## $2 = minimum version.
-## Return 0 if program is present with version >= min
u
mum version.
+## Return 0 if program is present with version >= min
i
mum version.
## Return 1 if program is missing.
## Return 2 if program is present but too old.
## Return 3 for unexpected error (eg failed to parse version).
check_version ()
{
## Return 1 if program is missing.
## Return 2 if program is present but too old.
## Return 3 for unexpected error (eg failed to parse version).
check_version ()
{
- have_version=`get_version $1`
+ ## Respect eg $AUTOMAKE if it is set, like autoreconf does.
+ uprog=`echo $1 | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+
+ eval uprog=\$${uprog}
+
+ [ x"$uprog" = x ] && uprog=$1
+
+ have_version=`get_version $uprog`
[ x"$have_version" = x ] && return 1
[ x"$have_version" = x ] && return 1
@@
-95,7
+106,7
@@
check_version ()
cat <<EOF
Checking whether you have the necessary tools...
cat <<EOF
Checking whether you have the necessary tools...
-(Read INSTALL.
BZR
for more details on building Emacs)
+(Read INSTALL.
REPO
for more details on building Emacs)
EOF
EOF
@@
-177,17
+188,10
@@
this script.
If you know that the required versions are in your PATH, but this
script has made an error, then you can simply run
If you know that the required versions are in your PATH, but this
script has made an error, then you can simply run
-autoreconf -I m4
+autoreconf -
i -
I m4
instead of this script.
instead of this script.
-If all else fails, you can try using the pre-built versions of the
-generated files by doing:
-
-./autogen/copy_autogen
-
-This is not recommended - see the comments in \`copy_autogen'.
-
Please report any problems with this script to bug-gnu-emacs@gnu.org .
EOF
Please report any problems with this script to bug-gnu-emacs@gnu.org .
EOF
@@
-198,7
+202,11
@@
echo "Your system has the required tools, running autoreconf..."
## Let autoreconf figure out what, if anything, needs doing.
## Let autoreconf figure out what, if anything, needs doing.
-autoreconf -I m4 || exit $?
+autoreconf -i -I m4 || exit $?
+
+## Create a timestamp, so that './autogen.sh; make' doesn't
+## cause 'make' to needlessly run 'autoheader'.
+echo timestamp > src/stamp-h.in || exit
echo "You can now run \`./configure'."
echo "You can now run \`./configure'."