[oe] gcc Recipes

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Wed Mar 31 11:45:53 UTC 2010


2010/3/31 Richard Purdie <rpurdie at rpsys.net>:
> I've just been looking over OE's gcc recipes and they really depress
> me :(. People touch them just enough to tweak their specific problem
> with no real thought going into the overall architecture and its a
> sprawling mess. I tackled some of this a while back. Sadly its just
> getting worse again.
>
> I've spent some time looking at them trying to identify what I consider
> to be the main sources of ugliness and how we can try and improve the
> situation. I think it might help to set a high level goal for the gcc
> recipes which would be:
>
>   All configuration for a given gcc version should be contained
>   within the high level version specific .inc file(gcc-X.Y.Z.inc).
>
> We'd therefore be frowning on version specific hacks in say the cross
> recipes only.
>
> It would follow that there would be a clear set of include files and a
> clear include structure and that almost all of the variant gcc recipes
> (gcc-cross-initial, gcc-cross-intermediate, gcc-cross-kernel,
> gcc-cross-sdk, gcc) would be boilerplate includes.
>
> Note that information about flags for the cross builds can be included
> in the main common version specific include file.
>
> To illustrate the kind of thing I mean, have a look at this commit:
>
> http://git.openembedded.net/cgit.cgi/openembedded/commit/?h=rpurdie/work-in-progress&id=35481122d7e484fb740ad9440fb4c70cb01de48f
>
> The nice thing about this is all of a sudden we have all the flags in
> the same place and it becomes obvious if something is wrong. There are a
> few things that raise an eyebrow there. It also becomes easier to
> abstract some of the gcc-X.Y.Z.inc data into a common include file
> (maybe a gcc-4.3.X.inc for example).
>
> Does anyone else fancy helping trying to clean this mess up. I'm happy
> to review some cleanup patches?
>
> Cheers,
>
> Richard
>
>

Richard,

I share your feeling of discomfort and depression.
Personally I feel cleaning up should start with removing obsolete &
unneeded versions as it is pointless spending time on improving them.
I've tried to stir up the discussion on cleaning up a few times, and
gave up due to too much negative feedback and little positive
feedback.
But still I wonder what is e.g. the use of recipes like 4.1.1 (which
btw was released in may 2006).

Having said that:
I've looked at your commit. Looks fine to me so a +1 & thumbs up.

Frans.

PS: not sure about all the variants, but it might be nice to be able
to use something like BBCLASSEXTEND="cross".
Don't think my pythonese and knowledge of the gcc build system is good
enough to cook up something though.




More information about the Openembedded-devel mailing list