Gentoo Archives: gentoo-dev

From: Thomas Sachau <tommy@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: GLEP draf for cross-compile support in multilib profiles
Date: Sun, 01 Jul 2012 11:30:23
Message-Id: 4FF03486.9020607@gentoo.org
In Reply to: Re: GLEP draf for cross-compile support in multilib profiles (was: Re: [gentoo-dev] Re: spec draft for cross-compile support in future EAPI (EAPI-5)) by Matt Turner
1 Matt Turner schrieb:
2 > On Fri, Jun 29, 2012 at 10:30 AM, Thomas Sachau <tommy@g.o> wrote:
3 >>
4 >
5 > I'm interested in this because I'm regularly annoyed with the emul-
6 > packages and also because multilib is pretty important for mips.
7 >
8 >> If a package has dependencies, then those dependencies are required to have
9 >> at least the same targets enabled as the package
10 >
11 > That seems like the obvious (but perhaps naive) choice. What about
12 > depending on packages that don't install libraries, like x11-proto/
13 > packages or generators like dev-util/indent?
14 >
15 > Maybe I just don't understand. Would these packages even have ABI flags?
16
17 All packages do get the ABI flags (with the needed EAPI or via enabled
18 portage feature, which is currently in the multilib branch).
19
20 If a package does not install anything ABI-specific (no headers, no libs
21 and no binaries), then there is no overhead, since it will just get
22 compiled/installed for one ABI, even if multiple ABI flags are enabled.
23
24 >
25 > It's clear to me that libraries would be installed in different lib*
26 > directories dependent on their ABI, but how would typical executables
27 > be handled?
28
29 By default, only the binaries for the first enabled ABI are preserved
30 (which usually is the default ABI). If you enable the abiwrapper USE
31 flag, the binaries for all target ABIs are preserved, installed in the
32 form of $binary-$ABI and $binary will be a symlink to a wrapper, which
33 calls the right binary for the currently selected ABI.
34
35 >
36 > For mips, we'd like to have gcc built as an n64 binary, which would
37 > require its run-time dependencies (mpfr, mpc, gmp, etc.) to be
38 > available as n64 as well, but the rest of the system to be n32
39 > binaries. Does this fit with your understanding (and proposed
40 > solution) of the problem?
41
42 I guess, you require additional n64 libs for gcc dependencies like mpfr,
43 mpc and others, while your default ABI will be n32.
44
45 This should work fine with my proposal, you just have the (already
46 default enabled) n32 ABI flag enabled, which results in everything being
47 built just for n32. For the packages, where you require additional n64
48 libs, you just enable the n64 ABI flag in addition. And if you need n64
49 binaries too, you enable the abiwrapper USE flag for them.
50
51
52 --
53
54 Thomas Sachau
55 Gentoo Linux Developer

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies