Gentoo Archives: gentoo-dev

From: "Harald van Dijk" <truedfx@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Replacing cpu-feature USE flags
Date: Thu, 06 Jul 2006 19:08:54
Message-Id: 20060706190422.GA3257@gentoo.org
In Reply to: Re: [gentoo-dev] Replacing cpu-feature USE flags by "Diego 'Flameeyes' Pettenò"
1 On Thu, Jul 06, 2006 at 02:21:43PM +0200, Diego 'Flameeyes' Pettenò wrote:
2 > On Thursday 06 July 2006 13:58, Donnie Berkholz wrote:
3 > > Well, there are enough in the tree
4 > There are ebuilds for non-gcc compilers. There's no support in using them for
5 > anything like building stuff. Let's think to all the append-flags there are
6 > in the tree.
7
8 `append-flags $(test-flags ...)` can be used instead, if the options are
9 gcc-specific, and I have done that myself in a case where every
10 supported GCC version supported the specific option. (-fpermissive was
11 the one.)
12
13 > This is not going to make the support any less working. There's
14 > no project maintaining support for icc and the like.
15
16 When the answer is "make icc not suck" even when it is capable of
17 compiling mostly any package if the portage tree would not assume gcc,
18 that's not going to happen. First, alternative compilers must be
19 accepted (even when not supported) by package maintainers, and only then
20 might they ever become supported.
21
22 > > that you should at least make sure
23 > > they don't completely break and error out when passing them invalid
24 > > flags,
25 > Uhm, If you look at the function itself you can see that I drop the stderr
26 > output and I just care about the other part. The flags used are the ones set
27 > by the user with the exclusion of -E -dM that are, afaik, standard unix
28 > compiler options like -c and -o..
29
30 -E is a standard unix compiler option. -dM isn't. What you could do
31 instead is `$(tc-getCC) ${CFLAGS} -E - >/dev/null 2>&1 <<EOF
32 #if !($macro)
33 #error
34 #endif
35 EOF` and check $CC's return value. If $macro is not defined, or is
36 defined to something like 0, preprocessing won't succeed, and $CC will
37 return nonzero.
38
39 > if the compiler does not support those,
40 > it's unlikely it can actually do anything useful in Gentoo.
41 > And anyway it cannot "break", it will just report that no extensions are
42 > available.
43
44 That's sane behaviour regardless. :)
45 --
46 gentoo-dev@g.o mailing list