X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/1658b4014f884a5bee07acdebc02774780957735..5c11fc55ce8c105d8e41eaa94a481542ca4cea20:/autogen.sh diff --git a/autogen.sh b/autogen.sh index ce742a9c18..e7c28c16d9 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,7 +1,7 @@ #!/bin/sh ### autogen.sh - tool to help build Emacs from a bzr checkout -## Copyright (C) 2011 Free Software Foundation, Inc. +## Copyright (C) 2011-2013 Free Software Foundation, Inc. ## Author: Glenn Morris @@ -30,13 +30,15 @@ ### Code: ## Tools we need: +## Note that we respect the values of AUTOCONF etc, like autoreconf does. 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". @@ -46,7 +48,8 @@ automake_min=1.11 ## 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" @@ -65,13 +68,20 @@ minor_version () ## $1 = program ## $2 = minimum version. -## Return 0 if program is present with version >= minumum version. +## Return 0 if program is present with version >= minimum 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 @@ -200,6 +210,10 @@ echo "Your system has the required tools, running autoreconf..." ## Let autoreconf figure out what, if anything, needs doing. 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'." exit 0