1 |
Hello, |
2 |
|
3 |
Currently, the multilib-build eclass uses abi_* constants only for USE |
4 |
flags and only ${ABI} is exported to the function. This is bad since it |
5 |
basically requires a reverse mapping of ABI->abi_* values, often |
6 |
inlined as ${ABI} checks. |
7 |
|
8 |
The patches which I will send in reply to this thread aim to fix it. |
9 |
|
10 |
The first patch changes the eclass logic. The abi_* values, with 'abi_' |
11 |
prefix stripped, are called MULTILIB_ABI now. They are used to run |
12 |
the 'foreach' functions, and now are set in the called functions along |
13 |
with ABI. |
14 |
|
15 |
As a downside, the switch required the MULTILIB_ABI -> ABI mapping to |
16 |
occur inside foreach -- as in, another 'for' loop. It shouldn't cause |
17 |
any noticeable difference. |
18 |
|
19 |
Additionally, the 'default' fallback no longer calls |
20 |
multilib_toolchain_setup. This should improve compatibility with |
21 |
multilib-portage and *maybe* cross-compiling. |
22 |
|
23 |
The second patch uses new ${MULTILIB_ABI} variable in header wrapping |
24 |
function. In other words, it removes the ABI -> MULTILIB_ABI reverse |
25 |
mapping which becomes unnecessary. |
26 |
|
27 |
-- |
28 |
Best regards, |
29 |
Michał Górny |