1 |
(moving to gentoo-dev because that's where this thread belongs, and |
2 |
quoting the entire message just this once to provide context...) |
3 |
|
4 |
Azarah, |
5 |
|
6 |
Here are a couple more thoughts: |
7 |
|
8 |
1. Maybe the icc ebuild should install wrapper scripts for the icc-CHOST |
9 |
form so that it can be used in distcc/cross-compiling. Also the ccc |
10 |
ebuild should do the same. In fact, it could be a single script with |
11 |
multiple symlinks, then setup flags in the script based on name... |
12 |
Does this make sense? |
13 |
|
14 |
2. I think that your PREFERRED_COMPILERS scheme makes sense except that |
15 |
it requires the compiler to be a single word. Now sure, one could |
16 |
argue that CC should always be a single word, but people have done |
17 |
successful setups with CC="distcc gcc" so I don't think we should |
18 |
break that if possible. |
19 |
|
20 |
I think that it is worthwhile to try to find a good solution to this. |
21 |
Hopefully we can find one that is elegant enough so that not too much |
22 |
complexity is added, and it's intuitive for people to use. Right now |
23 |
it's a high goal for the alpha team to make ccc a reality, but it cannot |
24 |
happen unless ccc is automatically selected for the ebuilds on which it |
25 |
applies. It's not reasonable to make users run "CC=ccc emerge" to be |
26 |
able to take advantage of ccc. |
27 |
|
28 |
I don't have a proposed solution yet in this email, just a couple more |
29 |
ideas. But I want to keep this cooking so that we can find a good |
30 |
solution eventually. |
31 |
|
32 |
Aron |
33 |
|
34 |
Azarah wrote: [Sat Apr 26 2003, 03:21:51PM EDT] |
35 |
> On Fri, 2003-04-25 at 04:36, Aron Griffis wrote: |
36 |
> |
37 |
> > Azarah wrote:[Tue Apr 22 2003, 02:57:11PM EDT] |
38 |
> > > In theory you should be able to just set CC .... The builds that |
39 |
> > > do not take this, should be fixed IMHO. |
40 |
> > |
41 |
> > Sure, you can set |
42 |
> > |
43 |
> > CC=ccc emerge blah |
44 |
> > |
45 |
> > and it should work. But what we're talking about is setting something |
46 |
> > so that ebuilds that support ccc will use it, automatically falling back |
47 |
> > to gcc when the ebuild doesn't support ccc. That's why it seemed like a |
48 |
> > USE flag would be appropriate. |
49 |
> > |
50 |
> > The problem I can see with a USE flag is that we'd have to clobber CC |
51 |
> > in the ebuild, for example "use ccc && CC=ccc". So then the user |
52 |
> > wouldn't have an easy way to override. |
53 |
> > |
54 |
> > So we come back to compiler profiles. But I don't quite understand how |
55 |
> > they'll solve this problem. I don't want to set CC=ccc globally. I |
56 |
> > want the ebuilds to know whether they support ccc, and the user can say, |
57 |
> > "hey, use ccc if you can, otherwise use gcc". |
58 |
> > |
59 |
> |
60 |
> Right. I do not want to stop change if its for the good, but we should |
61 |
> also sometimes consider if some complexity is really worth it. This I |
62 |
> think IMHO that if we can do it without adding too much complexity, |
63 |
> sure. |
64 |
> |
65 |
> Maybe it could be with something like: |
66 |
> |
67 |
> COMPILERS="gcc ccc" |
68 |
> |
69 |
> In the ebuild, that say this puppy support both, and then we can have |
70 |
> something like: |
71 |
> |
72 |
> PREFERRED_COMPILERS="ccc gcc" |
73 |
> |
74 |
> in make.conf .... portage will then set CC to the compiler from |
75 |
> PREFERRED_COMPILERS in the order they appear if the ebuild have |
76 |
> that one in COMPILERS. |
77 |
> |
78 |
> A slight snag that comes into ... this could really cause issues with |
79 |
> distcc/cross-compiling especially if you need the <compiler-front>-CHOST |
80 |
> type of thing (mostly with distcc when you have diff arch's in the |
81 |
> cluster). For example icc do not support the icc-CHOST form, so how |
82 |
> again we will have to hack portage to disable distcc if icc is used, |
83 |
> etc. |
84 |
> |
85 |
> So this brings me back to my original comment that we should maybe |
86 |
> consider if this wont add to much complexity and/or hassles. |
87 |
> |
88 |
> |
89 |
> Regards, |
90 |
> |
91 |
> -- |
92 |
> |
93 |
> Martin Schlemmer |
94 |
> Gentoo Linux Developer, Desktop/System Team Developer |
95 |
> Cape Town, South Africa |
96 |
> |
97 |
> |