Gentoo Archives: gentoo-dev

From: Austin English <wizardedit@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH 2/2] eclass/toolchain-funcs: add clang version functions
Date: Tue, 05 Jul 2016 06:08:28
Message-Id: 4daa3c94-1817-7789-504f-2123209584b2@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH 2/2] eclass/toolchain-funcs: add clang version functions by "Michał Górny"
1 On 07/05/2016 12:00 AM, Michał Górny wrote:
2 > On Mon, 4 Jul 2016 19:16:55 -0500
3 > Austin English <wizardedit@g.o> wrote:
4 >
5 >> On 07/01/2016 03:02 PM, Michał Górny wrote:
6 >>> On Mon, 27 Jun 2016 17:04:41 -0500
7 >>> Austin English <wizardedit@g.o> wrote:
8 >>>
9 >>>> From ec0be3d1a808ea0c5bdd081a4bb935f86bf78d44 Mon Sep 17 00:00:00 2001
10 >>>> From: Austin English <wizardedit@g.o>
11 >>>> Date: Mon, 27 Jun 2016 16:58:07 -0500
12 >>>> Subject: [PATCH 2/2] eclass/toolchain-funcs: add clang version functions
13 >>>
14 >>> Why do you even ask for review if you can't wait till the weekend
15 >>> before committing?
16 >>
17 >> There's no set time limit that I could find anywhere. I checked with my
18 >> mentor first, who said a few days was enough (as there were no comments
19 >> by anyone).
20 >>
21 >>> I've already told you twice that I'm opposed to adding version querying
22 >>> functions for clang, especially for the use case you proposed. You
23 >>> should check for features, and not keep a huge list of supported gcc,
24 >>> clang, pathcc, icc... versions. With every random compiler pretending
25 >>> to be a random version of every other compiler.
26 >>
27 >> I did not use in the original intended case, however I think that these
28 >> helpers are still useful. Why do we allow gcc version checks then?
29 >
30 > Because the ebuilds are full of that nonsense, and developers using
31 > them don't help you remove it.
32
33 Ack.
34
35 > If we committed every single thing someone thought someone else might
36 > find useful one day, the eclass would be huge hogs full of useless code
37 > that is only used because someone noticed the function and suddenly
38 > came to conclusion it's a good idea to use it because someone added it.
39 >
40 > Now let's add 4 additional functions for every single compiler that
41 > someone may decide to support one day. I'm even strongly opposed to
42 > adding functions that are used only theoretically.
43 >
44 >> There's no deprecated comment for these functions. By that logic, you
45 >> should not have added tc-is-{gcc,clang}, 2 weeks ago in
46 >> 6984a5b149a215dd96a9759d3d1f251354faf38f. You should be testing for
47 >> compiler features directly, not keep a list of what compilers are
48 >> supported in the code...
49 >
50 > Yes, I can revert this if you insist. And don't mind that all those
51 > horribly broken ebuilds checking gcc versions will suddenly fail with
52 > clang.
53
54 So fix them properly, by detecting compiler features, not compiler name ;)
55
56 >> The point of eclasses is to share code and make ebuild maintenance
57 >> easier. I don't see how allowing version checks for GCC only, when clang
58 >> is supported by a lot of ebuilds, makes that easier. Again, if you're so
59 >> opposed to compiler specific checks, then please remove them from
60 >> ebuilds using them and from toolchains-funcs.eclass (or at least mark
61 >> them as deprecated).
62 >
63 > How does ebuild maintenance become easier when you have to test a dozen
64 > of versions of different compilers to figure out which one is
65 > supported?
66
67 My goal is clang support parity with gcc. If you are opposed to these
68 sort of checks, then why don't we deprecate and remove those functions?
69 I want to know why gcc deserves special treatment, either all compilers
70 should have easy way to check major/minor/full versions, or none should.
71 Obviously I'm not saying gcc should be removed now, but it could
72 certainly be marked deprecated so the usage doesn't spread (hopefully)
73 further.
74
75 --
76 -Austin
77 GPG: 00B3 2957 B94B F3E1

Attachments

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

Replies