Gentoo Archives: gentoo-dev

From: heroxbd@g.o
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] How to support C++11 in libraries?
Date: Thu, 19 Dec 2013 02:02:13
Message-Id: 86d2kttx7u.fsf@moguhome00.in.awa.tohoku.ac.jp
In Reply to: Re: [gentoo-dev] How to support C++11 in libraries? by "Michał Górny"
1 Michał Górny <mgorny@g.o> writes:
2
3 > This is nowhere near a good solution IMO.
4 >
5 > First of all, it doesn't give us a way of ensuring ABI compatibility.
6 > Users switch the flags and have to rebuild all C++ packages to regain
7 > the ABI compatibility. The system ends up borked quite easily.
8 >
9 > Then, we don't have a good way of finding packages to rebuild. Users
10 > could try to find out which libraries used C++ but well... it's nowhere
11 > near good. Or they just rebuild everything...
12 >
13 > Then, many developers just won't bother. Users will be the ones to hit
14 > the incompatible package build failures first.
15 >
16 > Lastly, this gives us no way of switching to C++11 completely without
17 > modifying the compiler defaults. Even if we put '-std=c++11' into
18 > profiles, most of the people override CXXFLAGS and won't have it.
19 >
20 >> Any anyway, if it is only for lldb, a piece of elog conveying a
21 >> preferred solution would suffice.
22 >
23 > elog? I think you mean dying with CXXFLAGS that don't specify
24 > the necessary standard. Which is kinda backwards to REQUIRED_USE...
25 >
26 > And then, simple CXXFLAGS solution would end up breaking users'
27 > systems...
28
29 Michał, I am totally agree with you. This approach will leave lots of
30 dirty tricks to the users. Therefore this is a decision between whether
31 the devs or the users do this heavy lift.
32
33 If the the reason is only lldb and less than 10 other ebuilds, I feel it
34 not worth the develop and maintenace time. And if you have only met with
35 this problem twice, I suggest playing with it by the simplest solution
36 (via CXXFLAGS) for a while to avoid early optimization.
37
38 This is just my honest view on simple vs complex. Given the expertise
39 you hold in the realm of ABI, introducing a new ABI to maintain might
40 not be a big deal to you. Then I understand.
41
42 Cheers,
43 Benda