On 07/01/2012 02:34 PM, Thomas Sachau wrote: > Zac Medico schrieb: >> On 07/01/2012 04:29 AM, Thomas Sachau wrote: >>> Matt Turner schrieb: >>>> On Fri, Jun 29, 2012 at 10:30 AM, Thomas Sachau <to...@gentoo.org> wrote: >>>>> >>>> >>>> I'm interested in this because I'm regularly annoyed with the emul- >>>> packages and also because multilib is pretty important for mips. >>>> >>>>> If a package has dependencies, then those dependencies are required to >>>>> have >>>>> at least the same targets enabled as the package >>>> >>>> That seems like the obvious (but perhaps naive) choice. What about >>>> depending on packages that don't install libraries, like x11-proto/ >>>> packages or generators like dev-util/indent? >>>> >>>> Maybe I just don't understand. Would these packages even have ABI flags? >>> >>> All packages do get the ABI flags (with the needed EAPI or via enabled >>> portage feature, which is currently in the multilib branch). >>> >>> If a package does not install anything ABI-specific (no headers, no libs >>> and no binaries), then there is no overhead, since it will just get >>> compiled/installed for one ABI, even if multiple ABI flags are enabled. >> >> For a package like this that does not install anything ABI-specific, >> does the package manager still execute phases for each enabled ABI, or >> is there some way for the ebuild to indicate whether or not its phases >> need to be executed for each enabled ABI? >> > > > This is dynamicly checked at runtime, no need to modify the ebuilds and > also no needless compilation, when there is no ABI-specific content. > > A more detailed answer at package manager level: > After the src_install phase for the first requested ABI has been > finished, the content of $DESTDIR is checked. If there is no ABI > specific content, the other enabled ABIs are skipped and the following > steps are done as usual.
In case anyone want some more detail, here's a follow-up question from irc: <zmedico> Tommy[D]: does any ELF executable qualify as "abi specific" and trigger builds for all ABIs? <Tommy[D]> zmedico: if it goes into any of /bin /usr/bin /sbin /usr/sbin and you enable the abiwrapper USE flag, yes, otherwise you just request a binary for the default ABI, so no need to rebuild everything for no need -- Thanks, Zac