X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/8af8e70ee535bd2d657a034e1452f78925c9ca38..ac4c50ad333ca1ba1478b4766c866efeea59eb30:/autogen.sh diff --git a/autogen.sh b/autogen.sh index 03c39ee945..cb224421d0 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-2014 Free Software Foundation, Inc. ## Author: Glenn Morris @@ -25,18 +25,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. -## For more details, see the file INSTALL.BZR. +## For more details, see the file INSTALL.REPO. ### 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 @@ -95,7 +105,7 @@ check_version () cat < src/stamp-h.in || exit echo "You can now run \`./configure'."