[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: [gentoo-dev] [PATCH 1/5] Introduce a common function to obtain enabled ABIs.
From: Michał Górny <mgorny () gentoo ! org>
Date: 2013-01-26 22:08:12
Message-ID: 1359238096-13232-2-git-send-email-mgorny () gentoo ! org
[Download RAW message or body]
It will become especially useful when more ABI flags are introduced.
---
gx86/eclass/multilib-build.eclass | 59 ++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 25 deletions(-)
diff --git a/gx86/eclass/multilib-build.eclass b/gx86/eclass/multilib-build.eclass
index d8bd5ab..20d4f1c 100644
--- a/gx86/eclass/multilib-build.eclass
+++ b/gx86/eclass/multilib-build.eclass
@@ -39,6 +39,23 @@ IUSE=multilib
# @CODE
MULTILIB_USEDEP='multilib(-)?'
+# @FUNCTION: multilib_get_enabled_abis
+# @DESCRIPTION:
+# Return the ordered list of enabled ABIs if multilib builds
+# are enabled. The best (most preferred) ABI will come last.
+#
+# If multilib is disabled, the default ABI will be returned
+# in order to enforce consistent testing with multilib code.
+multilib_get_enabled_abis() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if use multilib; then
+ get_all_abis
+ else
+ echo ${DEFAULT_ABI}
+ fi
+}
+
# @FUNCTION: multilib_foreach_abi
# @USAGE: <argv>...
# @DESCRIPTION:
@@ -51,15 +68,11 @@ MULTILIB_USEDEP='multilib(-)?'
multilib_foreach_abi() {
local initial_dir=${BUILD_DIR:-${S}}
- if use multilib; then
- local ABI
- for ABI in $(get_all_abis); do
- multilib_toolchain_setup "${ABI}"
- BUILD_DIR=${initial_dir%%/}-${ABI} "${@}"
- done
- else
- "${@}"
- fi
+ local ABI
+ for ABI in $(multilib_get_enabled_abis); do
+ multilib_toolchain_setup "${ABI}"
+ BUILD_DIR=${initial_dir%%/}-${ABI} "${@}"
+ done
}
# @FUNCTION: multilib_parallel_foreach_abi
@@ -77,26 +90,22 @@ multilib_foreach_abi() {
multilib_parallel_foreach_abi() {
local initial_dir=${BUILD_DIR:-${S}}
- if use multilib; then
- multijob_init
+ multijob_init
- local ABI
- for ABI in $(get_all_abis); do
- (
- multijob_child_init
+ local ABI
+ for ABI in $(multilib_get_enabled_abis); do
+ (
+ multijob_child_init
- multilib_toolchain_setup "${ABI}"
- BUILD_DIR=${initial_dir%%/}-${ABI}
- "${@}"
- ) &
+ multilib_toolchain_setup "${ABI}"
+ BUILD_DIR=${initial_dir%%/}-${ABI}
+ "${@}"
+ ) &
- multijob_post_fork
- done
+ multijob_post_fork
+ done
- multijob_finish
- else
- "${@}"
- fi
+ multijob_finish
}
_MULTILIB_BUILD=1
--
1.8.1.1
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic