From: Michael S. Zick <minimod@morethan.org>
To: buildroot@busybox.net
Subject: [Buildroot] Open question: remove "toolchain on target" option
Date: Wed, 15 Aug 2012 04:56:00 -0500 [thread overview]
Message-ID: <201208150456.03396.minimod@morethan.org> (raw)
In-Reply-To: <20120811202114.3a95d4ab@skate>
On Sat August 11 2012, Thomas Petazzoni wrote:
> So, rather than having a bad and dysfunctional mechanism to have a
> toolchain on the target, I would suggest that we simply get rid of it.
>
I think slowly but have had a few days to consider this Open Question.
Let me see if I can make a proposal that will encompass both of our
opinions.
To re-cap:
Once upon a time, it was decided that crosstool-ng be integrated with
Buildroot with the eventual goal of making it the replacement for the
internal BR toolchain generation.
Time passes (over a year now if memory serves) and the integration of
crosstool-ng is in a well developed state.
crosstool-ng was never intended to do Canadian Cross toolchain builds.
The (old) BR toolchain generation can only create uClibc based toolchains.
To complete that long-ago set project development goal means dropping the
(old) BR toolchain generation.
Which means, as a side effect, dropping the ability to generate a native
toolchain for the target (the (old) internal toolchain generator is the
only one that can do something like a Canadian Cross).
For this proposal, I'll ignore bit-rot, bit-rot "just happens" to everything.
Moving forward:
To reach the goal set of only having one "internal" toolchain generator
(crosstool-ng integrated) -
Pull the dysfunctional (old) toolchain generator.
That takes care of T.P.'s suggestion above and the project's development goal.
Which leaves me and others without any target native toolchain generation. . . .
There are basically two ways to address that lack;
Add the external toolchain components as "packages" ;
Add an external CanadianCross-ng build support, as crosstool-ng once was,
prior to its integration.
At first glance, it might seem that the first path is the shorter one, until
you start to consider some of the problem details.
Just forget I mentioned choice #1 above. ;)
I make my suggestion the choice #2 above - an external "CanadianCross-ng"
build system add-on, called from BR with BR variables.
Although the larger, up front, development path (without any interested
developers at the moment), I think over the long term it will be the less
work to maintain. Also would be more practical to support other than uClibc
based, native toolchain builds.
A for instance, some current "corner cases" -
The oldest BR supported gcc (4.2) is too old to build glibc ;
Some build paths for the external libraries required for (optional now) gcc
options (equation solving and optimization) lead you into requiring C++ ;
I have yet to get those packages to build against uClibc++, even in a native
(ARMel) environment, let alone in a CanadianCross environment.
(Of course, that might be "operator error" at my keyboard.)
There might be better examples than the ones I give above in support of an
external "CanadianCross-ng" builder but the point remains - the build
considerations would be more easily met by an external package than by
internal package defines.
Mikez
next prev parent reply other threads:[~2012-08-15 9:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-11 18:21 [Buildroot] Open question: remove "toolchain on target" option Thomas Petazzoni
2012-08-11 18:44 ` Richard Braun
2012-08-11 19:46 ` Michael S. Zick
2012-08-11 20:00 ` Thomas Petazzoni
2012-08-12 5:06 ` Jonathan Liu
2012-08-12 5:13 ` Charles Krinke
2012-08-15 9:56 ` Michael S. Zick [this message]
2012-08-15 10:39 ` Alex Bradbury
2012-08-15 15:39 ` Yann E. MORIN
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=201208150456.03396.minimod@morethan.org \
--to=minimod@morethan.org \
--cc=buildroot@busybox.net \
/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