diff options
-rw-r--r-- | eclass/autotools.eclass | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index cba6e0e07393..414932b17f89 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.94 2010/03/07 17:43:11 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.95 2010/03/31 02:11:55 robbat2 Exp $ # @ECLASS: autotools.eclass # @MAINTAINER: @@ -24,13 +24,29 @@ inherit eutils libtool # The major version of automake your package needs : ${WANT_AUTOMAKE:=latest} +# @ECLASS-VARIABLE: _LATEST_AUTOMAKE +# @DESCRIPTION: +# CONSTANT! +# The latest major version/slot of automake available on each arch. +# If a newer version is stable on any arch, and is NOT reflected in this list, +# then circular dependencies may arise during emerge @system bootstraps. +# Do NOT change this variable in your ebuilds! +_LATEST_AUTOMAKE='1.11 1.10' + _automake_atom="sys-devel/automake" _autoconf_atom="sys-devel/autoconf" if [[ -n ${WANT_AUTOMAKE} ]]; then case ${WANT_AUTOMAKE} in none) _automake_atom="" ;; # some packages don't require automake at all # if you change the “latest” version here, change also autotools_run_tool - latest) _automake_atom="=sys-devel/automake-1.10*" ;; + # this MUST reflect the latest stable major version for each arch! + latest) + t="" ; for v in ${_LATEST_AUTOMAKE} ; do + t="${t} =sys-devel/automake-${v}*" + done + unset t v + _automake_atom="|| ( ${_automake_atom} )" + ;; *) _automake_atom="=sys-devel/automake-${WANT_AUTOMAKE}*" ;; esac export WANT_AUTOMAKE @@ -261,7 +277,12 @@ autotools_run_tool() { # We do the “latest” → version switch here because it solves # possible order problems, see bug #270010 as an example. - [[ ${WANT_AUTOMAKE} == "latest" ]] && export WANT_AUTOMAKE=1.10 + for pv in ${_LATEST_AUTOMAKE} ; do + has_version "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="$pv" + done + unset pv + [[ ${WANT_AUTOMAKE} == "latest" ]] && \ + die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE}" [[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.5 local STDERR_TARGET="${T}/$1.out" |