Gentoo Archives: gentoo-dev

From: David Holm <david@×××××××××××.com>
To: gentoo-dev@g.o
Subject: Re: [gentoo-dev] interest assay: eclass for stripping "modern" C[XX]FLAGS
Date: Thu, 03 Jul 2003 12:06:21
Message-Id: 20030703140518.031ce642.david@realityrift.com
In Reply to: Re: [gentoo-dev] interest assay: eclass for stripping "modern" C[XX]FLAGS by George Shapovalov
1 I wrote an ada eclass which I think I submitted along with the gnat ebuilds. However the
2 flag-stripping is a straight ripoff from the gcc.eclass function gcc2-flags() and maybe I should
3 inherit that one instead. It also sets some of the standard variables such as $ADAC, $ADAMAKE
4 and $ADABIND (these are normally read by autoconf whenever you use it to compile ada code).
5
6 Another issue is that when you use gnatmake you cannot just throw in the CFLAGS in a random
7 order. You have to specify -cargs $(CFLAGS) -largs $(LDFLAGS) and these has to come after the
8 gnatmake flags and the name of the unit you wish to compile.
9
10
11 On another account. Yesterday I managed for the first time to compile the cvs-version of gnat
12 which is based on gcc 3.2.3. The version of gnat in gcc cvs is a version taken from
13 ACTs cvs maybe a month before gcc 3.3 was released. So far I haven't seen a single distribution
14 which provides gnat snapshots as everyone is either using 3.15p or the gcc version, I will try
15 to whip up an ebuild of it =). Which also means that it would probably be better to make an
16 eclass that could detect which version is installed and select the appropriate one.
17 I will have to read up on eclasses as I'm not very familiar with those yet though and something
18 similar to gcc-config might be in order as I believe the interest for gnat 3.15p will be big
19 amongst people doing professional work even after the upcoming version is released.
20
21 //David Holm
22
23 On Thu, 3 Jul 2003 01:43:38 -0700
24 George Shapovalov <george@g.o> wrote:
25
26 > On Wednesday 02 July 2003 20:25, Mike Frysinger wrote:
27 > > On Wednesday 02 July 2003 23:11, George Shapovalov wrote:
28 > > i think we already have a function that does this kind of thing ...
29 > > see 'strip-flags' ... `man flag-o-matic` if you have a masked version of
30 > > portage ;)
31 > Nice try, but this does not cut it ;).
32 > For one thing that function is gcc version agnostic. For example it will
33 > permit certain -march combinations which are only supported by >=gcc-3*.
34 > On the other hand it may be too restricitve in general, by only allowing flags
35 > listed on some (very small) list.
36 >
37 > The function (or alternatively two - three functions containing corresponding
38 > gcc version in the name) to fit the bill perfectly should only strip
39 > unsupported flags for the specified version, "correcting" them where
40 > possible.
41 > Thus, for example:
42 > -march=i686 will be permitted, but
43 > -march=pentium3 will get changed to -march=i686, and
44 > -mfpmath=* will get stripped, etc.
45 > while keeping other flags intact..
46 >
47 > Of course in a very pedantic situation both function could be applied in turn
48 > yielding converted and (then) stripped flags ..
49 >
50 > George
51 >
52 >
53 >
54 > --
55 > gentoo-dev@g.o mailing list
56 >
57
58 --
59 gentoo-dev@g.o mailing list