Hello,
Currently, the multilib-build eclass uses abi_* constants only for USE
flags and only ${ABI} is exported to the function. This is bad since it
basically requires a reverse mapping of ABI->abi_* values, often
inlined as ${ABI} checks.
The patches which I will send in reply to this thread aim to fix it.
The first patch changes the eclass logic. The abi_* values, with 'abi_'
prefix stripped, are called MULTILIB_ABI now. They are used to run
the 'foreach' functions, and now are set in the called functions along
with ABI.
As a downside, the switch required the MULTILIB_ABI -> ABI mapping to
occur inside foreach -- as in, another 'for' loop. It shouldn't cause
any noticeable difference.
Additionally, the 'default' fallback no longer calls
multilib_toolchain_setup. This should improve compatibility with
multilib-portage and *maybe* cross-compiling.
The second patch uses new ${MULTILIB_ABI} variable in header wrapping
function. In other words, it removes the ABI -> MULTILIB_ABI reverse
mapping which becomes unnecessary.
--
Best regards,
Michał Górny
signature.asc
Description: PGP signature
