Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: GLEP draf for cross-compile support in multilib profiles
Date: Sun, 01 Jul 2012 22:31:38
Message-Id: 4FF0CF94.6010300@gentoo.org
In Reply to: Re: [gentoo-dev] Re: GLEP draf for cross-compile support in multilib profiles by Thomas Sachau
1 On 07/01/2012 02:34 PM, Thomas Sachau wrote:
2 > Zac Medico schrieb:
3 >> On 07/01/2012 04:29 AM, Thomas Sachau wrote:
4 >>> Matt Turner schrieb:
5 >>>> On Fri, Jun 29, 2012 at 10:30 AM, Thomas Sachau <tommy@g.o> wrote:
6 >>>>>
7 >>>>
8 >>>> I'm interested in this because I'm regularly annoyed with the emul-
9 >>>> packages and also because multilib is pretty important for mips.
10 >>>>
11 >>>>> If a package has dependencies, then those dependencies are required to have
12 >>>>> at least the same targets enabled as the package
13 >>>>
14 >>>> That seems like the obvious (but perhaps naive) choice. What about
15 >>>> depending on packages that don't install libraries, like x11-proto/
16 >>>> packages or generators like dev-util/indent?
17 >>>>
18 >>>> Maybe I just don't understand. Would these packages even have ABI flags?
19 >>>
20 >>> All packages do get the ABI flags (with the needed EAPI or via enabled
21 >>> portage feature, which is currently in the multilib branch).
22 >>>
23 >>> If a package does not install anything ABI-specific (no headers, no libs
24 >>> and no binaries), then there is no overhead, since it will just get
25 >>> compiled/installed for one ABI, even if multiple ABI flags are enabled.
26 >>
27 >> For a package like this that does not install anything ABI-specific,
28 >> does the package manager still execute phases for each enabled ABI, or
29 >> is there some way for the ebuild to indicate whether or not its phases
30 >> need to be executed for each enabled ABI?
31 >>
32 >
33 >
34 > This is dynamicly checked at runtime, no need to modify the ebuilds and
35 > also no needless compilation, when there is no ABI-specific content.
36 >
37 > A more detailed answer at package manager level:
38 > After the src_install phase for the first requested ABI has been
39 > finished, the content of $DESTDIR is checked. If there is no ABI
40 > specific content, the other enabled ABIs are skipped and the following
41 > steps are done as usual.
42
43 In case anyone want some more detail, here's a follow-up question from irc:
44
45 <zmedico> Tommy[D]: does any ELF executable qualify as "abi specific"
46 and trigger builds for all ABIs?
47 <Tommy[D]> zmedico: if it goes into any of /bin /usr/bin /sbin /usr/sbin
48 and you enable the abiwrapper USE flag, yes, otherwise you just request
49 a binary for the default ABI, so no need to rebuild everything for no need
50 --
51 Thanks,
52 Zac

Replies