Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <rpurdie@rpsys.net>
To: openembedded-devel <openembedded-devel@lists.openembedded.org>
Subject: gcc Recipes
Date: Wed, 31 Mar 2010 12:28:01 +0100	[thread overview]
Message-ID: <1270034881.1681.965.camel@rex> (raw)

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




             reply	other threads:[~2010-03-31 11:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-31 11:28 Richard Purdie [this message]
2010-03-31 11:45 ` gcc Recipes Frans Meulenbroeks
2010-03-31 12:10   ` Phil Blundell
2010-03-31 13:00   ` Richard Purdie
2010-03-31 16:12 ` Mark Richards
2010-03-31 17:25 ` Khem Raj
2010-03-31 20:20   ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1270034881.1681.965.camel@rex \
    --to=rpurdie@rpsys.net \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox