summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2014-05-23 07:38:36 +0000
committerMichał Górny <mgorny@gentoo.org>2014-05-23 07:38:36 +0000
commit0a9fc63437e66217ac35cd23a530ec1950eddeb9 (patch)
tree9d61bfc2dea84453c3fcda9dfcef4345764196bd
parentdrop py2.6, add IUSE doc, doc build, fix everything (diff)
downloadgentoo-2-0a9fc63437e66217ac35cd23a530ec1950eddeb9.tar.gz
gentoo-2-0a9fc63437e66217ac35cd23a530ec1950eddeb9.tar.bz2
gentoo-2-0a9fc63437e66217ac35cd23a530ec1950eddeb9.zip
Export MULTILIB_ABI_FLAG for ebuild/eclass use. Bug #509478.
-rw-r--r--eclass/ChangeLog5
-rw-r--r--eclass/multilib-build.eclass32
2 files changed, 30 insertions, 7 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog
index 60901bf19684..e16b8d977f23 100644
--- a/eclass/ChangeLog
+++ b/eclass/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1266 2014/05/23 07:11:53 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1267 2014/05/23 07:38:36 mgorny Exp $
+
+ 23 May 2014; Michał Górny <mgorny@gentoo.org> multilib-build.eclass:
+ Export MULTILIB_ABI_FLAG for ebuild/eclass use. Bug #509478.
23 May 2014; Michał Górny <mgorny@gentoo.org> multilib-build.eclass:
Introduce multilib_get_enabled_abi_pairs() to obtain list containing both ABI
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 205fd0ffbe81..8f499e742fa2 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.49 2014/05/23 07:11:53 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.50 2014/05/23 07:38:36 mgorny Exp $
# @ECLASS: multilib-build.eclass
# @MAINTAINER:
@@ -74,6 +74,24 @@ _MULTILIB_FLAGS=(
# net-libs/libbar[ssl,${MULTILIB_USEDEP}]"
# @CODE
+# @ECLASS-VARIABLE: MULTILIB_ABI_FLAG
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The complete ABI name. Resembles the USE flag name.
+#
+# This is set within multilib_foreach_abi(),
+# multilib_parallel_foreach_abi() and multilib-minimal sub-phase
+# functions.
+#
+# It may be null (empty) when the build is done on ABI not controlled
+# by a USE flag (e.g. on non-multilib arch or when using multilib
+# portage). The build will always be done for a single ABI then.
+#
+# Example value:
+# @CODE
+# abi_x86_64
+# @CODE
+
_multilib_build_set_globals() {
local flags=( "${_MULTILIB_FLAGS[@]%:*}" )
@@ -161,7 +179,9 @@ multilib_get_enabled_abi_pairs() {
_multilib_multibuild_wrapper() {
debug-print-function ${FUNCNAME} "${@}"
- local ABI=${MULTIBUILD_VARIANT}
+ local ABI=${MULTIBUILD_VARIANT#*:}
+ local MULTILIB_ABI_FLAG=${MULTIBUILD_VARIANT%:*}
+
multilib_toolchain_setup "${ABI}"
"${@}"
}
@@ -178,7 +198,7 @@ _multilib_multibuild_wrapper() {
multilib_foreach_abi() {
debug-print-function ${FUNCNAME} "${@}"
- local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
}
@@ -197,7 +217,7 @@ multilib_foreach_abi() {
multilib_parallel_foreach_abi() {
debug-print-function ${FUNCNAME} "${@}"
- local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_parallel_foreach_variant _multilib_multibuild_wrapper "${@}"
}
@@ -208,7 +228,7 @@ multilib_parallel_foreach_abi() {
multilib_for_best_abi() {
debug-print-function ${FUNCNAME} "${@}"
- local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_for_best_variant _multilib_multibuild_wrapper "${@}"
}
@@ -262,7 +282,7 @@ multilib_check_headers() {
multilib_copy_sources() {
debug-print-function ${FUNCNAME} "${@}"
- local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_copy_sources
}