diff options
author | Benda Xu <heroxbd@gentoo.org> | 2017-08-25 15:05:41 +0900 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2017-08-25 15:08:06 +0900 |
commit | 98b91d0f75109e56cebd9f2db39ed832b40a4f95 (patch) | |
tree | 6ae64996adf630d09a92137645f493836324e08e /eclass | |
parent | sci-libs/nipype: added dependencies (diff) | |
download | sci-98b91d0f75109e56cebd9f2db39ed832b40a4f95.tar.gz sci-98b91d0f75109e56cebd9f2db39ed832b40a4f95.tar.bz2 sci-98b91d0f75109e56cebd9f2db39ed832b40a4f95.zip |
numeric-int64-multibuild.eclass: MULTILIB_ABI_FLAG should be USE flag
The multilib-build eclass expects MULTILIB_ABI_FLAG to be USE flags.
If it is set to be ABI, the headers will not be included.
Bug: 617312
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/numeric-int64-multibuild.eclass | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/eclass/numeric-int64-multibuild.eclass b/eclass/numeric-int64-multibuild.eclass index 68cad0500..1da654c7f 100644 --- a/eclass/numeric-int64-multibuild.eclass +++ b/eclass/numeric-int64-multibuild.eclass @@ -267,7 +267,7 @@ numeric-int64_get_all_abi_variants() { debug-print-function ${FUNCNAME} "${@}" local abi ret=() variant - for abi in $(multilib_get_enabled_abis); do + for abi in $(multilib_get_enabled_abi_pairs); do for variant in $(numeric-int64_get_multibuild_variants); do if [[ ${variant} =~ int64 ]]; then [[ ${abi} =~ amd64 ]] && ret+=( ${abi}_${variant} ) @@ -345,11 +345,22 @@ numeric-int64-multibuild_install_alternative() { # @CODE numeric-int64-multibuild_multilib_wrapper() { debug-print-function ${FUNCNAME} "${@}" - local v="${MULTIBUILD_VARIANT/_${NUMERIC_INT32_SUFFIX}/}" - local v="${v/_${NUMERIC_INT64_SUFFIX}/}" - local ABI="${v/_${NUMERIC_STATIC_SUFFIX}/}" - local -r MULTILIB_ABI_FLAG="${v%.*}" + + local v="${MULTIBUILD_VARIANT%_*}" + local ABI="${v#*.}" + # hack: our int64 and int32 ABIs can correspond to the same ABI + # in multilib, resulting in multiple sed replacements of headers + # and thus error like "Flag not listed in wrapper template." + # Using MULTILIB_ABI_FLAG="${ABI}", the corresponding header + # is ignored. + if [[ ${MULTIBUILD_VARIANT##*_} == ${NUMERIC_INT32_SUFFIX} ]] ; then + local -r MULTILIB_ABI_FLAG="${v%.*}" + else + local -r MULTILIB_ABI_FLAG="${ABI}" + fi + multilib_toolchain_setup "${ABI}" + readonly ABI "${@}" || die } |