On Wed, 23 Jan 2013 21:40:13 -0300 Alexis Ballier wrote: > On Thu, 24 Jan 2013 00:23:57 +0100 > Michał Górny wrote: > > > This is mostly a proof-of-concept. If approved, I will work on moving > > the code into a separate eclass, possibly named 'multilib-build' ;). > > --- > > gx86/eclass/autotools-multilib.eclass | 24 +++++++++++++++++++++--- > > 1 file changed, 21 insertions(+), 3 deletions(-) > > > > diff --git a/gx86/eclass/autotools-multilib.eclass > > b/gx86/eclass/autotools-multilib.eclass index 7c8697a..eef7bcc 100644 > > --- a/gx86/eclass/autotools-multilib.eclass > > +++ b/gx86/eclass/autotools-multilib.eclass > > @@ -32,7 +32,23 @@ inherit autotools-utils multilib > > > > EXPORT_FUNCTIONS src_configure src_compile src_test src_install > > > > -IUSE=multilib > > +# Declare all of them, profiles will control their visibility. > > +IUSE='abi_x86_32 abi_x86_64' > > + > > +# @FUNCTION: _autotools-multilib_get_enabled_abis > > +# @DESCRIPTION: > > +# Get the list of enabled ABIs. The returned names are suitable for > > use +# with multilib.eclass. > > +# > > +# If multilib is not enabled or not supported, returns an empty list. > > + > > + debug-print-function ${FUNCNAME} "${@}" > > + > > + if use amd64; then > > + use abi_x86_64 && echo amd64 > > + use abi_x86_32 && echo x86 > > + fi > > +} > > I would rather iterate over a variable than hardcoding and duplicating > it here: > > MULTILIB_ABIS='abi_x86_32:x86 abi_x86_64:amd64' > IUSE="" > for i in $MULTILIB_ABIS ; do > IUSE+=" ${i%:*}" > done > > _autotools-multilib_get_enabled_abis() { > for i in $MULTILIB_ABIS ; do > use ${i%:*} && echo ${i#*:} > done > } What are the advantages? I feel like the explicit solution is much more readable and obvious at the first glance. > (maybe protect it with has_multilib_profile if you wish) Well, the current code assumes that no flags == non-multilib profile. -- Best regards, Michał Górny