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 |