[oe] gcc Recipes

Richard Purdie rpurdie at rpsys.net
Wed Mar 31 11:28:01 UTC 2010


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





More information about the Openembedded-devel mailing list