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