summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-03-04 19:30:28 +0000
committerMichał Górny <mgorny@gentoo.org>2013-03-04 19:30:28 +0000
commit92e166cac5d9ac1a26714790f21a73f514e3f9f8 (patch)
tree2bbc683cbef55dc44ac5f79ecca514bdb8072ed3 /eclass/multilib-build.eclass
parentUse multilib_for_best_variant() for the *_all() phases. (diff)
downloadgentoo-2-92e166cac5d9ac1a26714790f21a73f514e3f9f8.tar.gz
gentoo-2-92e166cac5d9ac1a26714790f21a73f514e3f9f8.tar.bz2
gentoo-2-92e166cac5d9ac1a26714790f21a73f514e3f9f8.zip
Convert to use multibuild.eclass.
Diffstat (limited to 'eclass/multilib-build.eclass')
-rw-r--r--eclass/multilib-build.eclass48
1 files changed, 21 insertions, 27 deletions
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 86a32e0fcc2b..09ffbf4d7793 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.7 2013/03/02 18:18:13 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.8 2013/03/04 19:30:28 mgorny Exp $
# @ECLASS: multilib-build.eclass
# @MAINTAINER:
@@ -23,7 +23,7 @@ case ${EAPI:-0} in
*) die "EAPI=${EAPI} is not supported" ;;
esac
-inherit multilib multiprocessing
+inherit multibuild multilib
# @ECLASS-VARIABLE: _MULTILIB_FLAGS
# @INTERNAL
@@ -91,6 +91,19 @@ multilib_get_enabled_abis() {
fi
}
+# @FUNCTION: _multilib_multibuild_wrapper
+# @USAGE: <argv>...
+# @INTERNAL
+# @DESCRIPTION:
+# Initialize the environment for ABI selected for multibuild.
+_multilib_multibuild_wrapper() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local ABI=${MULTIBUILD_VARIANT}
+ multilib_toolchain_setup "${ABI}"
+ "${@}"
+}
+
# @FUNCTION: multilib_foreach_abi
# @USAGE: <argv>...
# @DESCRIPTION:
@@ -101,14 +114,10 @@ multilib_get_enabled_abis() {
# If multilib support is disabled, it just runs the commands. No setup
# is done.
multilib_foreach_abi() {
- local initial_dir=${BUILD_DIR:-${S}}
+ debug-print-function ${FUNCNAME} "${@}"
- local abis=( $(multilib_get_enabled_abis) )
- local ABI
- for ABI in "${abis[@]}"; do
- multilib_toolchain_setup "${ABI}"
- BUILD_DIR=${initial_dir%%/}-${ABI} "${@}"
- done
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
}
# @FUNCTION: multilib_parallel_foreach_abi
@@ -124,25 +133,10 @@ multilib_foreach_abi() {
#
# Useful for running configure scripts.
multilib_parallel_foreach_abi() {
- local initial_dir=${BUILD_DIR:-${S}}
-
- multijob_init
-
- local abis=( $(multilib_get_enabled_abis) )
- local ABI
- for ABI in "${abis[@]}"; do
- (
- multijob_child_init
-
- multilib_toolchain_setup "${ABI}"
- BUILD_DIR=${initial_dir%%/}-${ABI}
- "${@}"
- ) &
-
- multijob_post_fork
- done
+ debug-print-function ${FUNCNAME} "${@}"
- multijob_finish
+ local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abis) )
+ multibuild_parallel_foreach_variant _multilib_multibuild_wrapper "${@}"
}
# @FUNCTION: multilib_check_headers