Gentoo Archives: gentoo-dev

From: Thomas Sachau <tommy@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [RFC] multilib-build.eclass and restricting unsupported ABIs
Date: Sun, 03 Mar 2013 21:40:06
Message-Id: 5133C31E.1020801@gentoo.org
In Reply to: Re: [gentoo-dev] Re: [RFC] multilib-build.eclass and restricting unsupported ABIs by Alexis Ballier
1 Alexis Ballier schrieb:
2 > On Sun, 03 Mar 2013 17:27:50 +0100
3 > Thomas Sachau <tommy@g.o> wrote:
4 >
5 >> Alexis Ballier schrieb:
6 >>> On Sun, 03 Mar 2013 16:47:43 +0100
7 >>> Thomas Sachau <tommy@g.o> wrote:
8 >>>
9 >>>> Alexis Ballier schrieb:
10 >>>>> On Sun, 03 Mar 2013 14:02:58 +0100
11 >>>>> Thomas Sachau <tommy@g.o> wrote:
12 >>>>>>
13 >>>>>> Once the eclass has per-ABI header
14 >>>>>
15 >>>>> I think this is needed.
16 >>>>>
17 >>>>>> and binaries support,
18 >>>>>
19 >>>>> but here, could you enlighten me on its use cases ? I can't
20 >>>>> imagine why having multi binaries support would be useful.
21 >>>>>
22 >>>>> Alexis.
23 >>>>>
24 >>>>
25 >>>>
26 >>>> At least some binaries do have abi-specific output, which is used
27 >>>> by other applications. As a good example of this, have a look at
28 >>>> qmake and qmake based build systems.
29 >>>
30 >>> hmm, qmake doesnt seem to be the perfect example: how do you handle
31 >>> this?
32 >>>
33 >>> - install qmake-${abi}
34 >>
35 >> ok
36 >>
37 >>> - ln -s qmake-${DEFAULT_ABI} qmake
38 >>
39 >> Just the same as with headers:
40 >>
41 >> You dont symlink the headers for the default ABI, but instead a
42 >> wrapper is placed, which does then call/include the real target, so
43 >> in this case, qmake is then a symlink to the abiwrapper, which does
44 >> execute the real abi-specific binary, depending on the current ABI.
45 >> We can of course place this abiwrapper in every place, where it is
46 >> needed instead of the symlink, but having one central and package
47 >> provided wrapper instead is easier to maintain and update.
48 >>
49 >>> - modify eqmake4 to call the right qmake when doing multilib?
50 >>
51 >> not needed at all (with multilib-portage), since when any package
52 >> calls qmake to get any abi-specific details, the abiwrapper executes
53 >> the binary, that matches the ABI and you get the right details for
54 >> your ABI.
55 >>
56 >
57 > Indeed, nice idea. The wrapper can just call argv[0]-${ABI} or argv[0]
58 > if ABI is unset or argv[0]-${ABI} does not exist.
59 > Do you install this abiwrapper with multilib-portage? What would you
60 > think about splitting it and adding such a package to the tree?
61 >
62 > Alexis.
63 >
64
65 The wrapper is already in a seperate package [1], the currently active
66 and tested version (1.0) is in bash, also there is a (currently masked)
67 version 2.0 written by binki in C doing the same natively. So you even
68 have a choice in what to use. :-)
69
70 [1]:
71 http://git.overlays.gentoo.org/gitweb/?p=proj/multilib-portage.git;a=tree;f=sys-apps/abi-wrapper
72
73 --
74
75 Thomas Sachau
76 Gentoo Linux Developer

Attachments

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

Replies