Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Calfee <stevecalfee@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] Creating an external toolchain [was: Re: Antw:Re: Antw: Antw:Re: libgcc build fails on Fedora15]
Date: Wed, 28 Sep 2011 11:30:12 -0700	[thread overview]
Message-ID: <4E8367B4.3050709@gmail.com> (raw)
In-Reply-To: <201109280805.21263.arnout@mind.be>

On 09/27/11 23:05, Arnout Vandecappelle wrote:
> 
> On Monday 26 September 2011 16:55:09, MARCEL JANSSEN wrote:
>> I just have one question which probably belongs in the faq (I may have
>> missed something as well). I can't yet figure out how to build the output
>> for different devices without recompiling the whole toolchain. I have
>> several different images which are just a little different in the sense
>> that they all have the same kernel but some different packages. It would
>> be great if I could just switch between configs and don't have to
>> recompile the whole toolchain again or even shared packages between those
>> configs.
> 
>  Buildroot supports an external toolchain, but it isn't easy to create one.  
> The easiest is to use a crosstool-NG toolchain: build it, install it in some 
> central place, and use it as an external toolchain from buildroot.
> 
>  It would be nice if buildroot also supported creation of an external 
> toolchain (based on an internal toolchain config).  The toolchain is currently 
> built in output/host/usr/... and is not relocatable, so it's difficult to 
> share it between different buildroot builds.
> 
HI Arnout,

I use the internal buildroot toolchain as an external toolchain all the
time. I first checkout the buildroot tree into the ....tools directory.
I select some defaultconfig, then do a make menuconfig and remove
everything but the toolchain building. The make then trundles for a long
time and finally I get a toolchain. I can easily change toolchain
options, if the target system needs something not in the default.

Then I checkout another buildroot tree into a working directory, and use
the make defaultconfig. Then I make menuconfig and set it up using the
newly created tools tree toolchain as an external toolchain. This speeds
up the builds in the working directory, and I don't have to worry about
the dreaded "make clean" problem of wiping the tools.

More than one working buildroot configuration can use the same tools, as
long as the same tool options are used in all "parallel" working trees.

Regards, Steve

  parent reply	other threads:[~2011-09-28 18:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-26 14:55 [Buildroot] Antw:Re: Antw: Antw:Re: libgcc build fails on Fedora15 MARCEL JANSSEN
2011-09-27 21:44 ` Thomas Petazzoni
2011-09-28  6:05 ` [Buildroot] Creating an external toolchain [was: Re: Antw:Re: Antw: Antw:Re: libgcc build fails on Fedora15] Arnout Vandecappelle
2011-09-28 10:19   ` Thomas De Schampheleire
2011-09-28 18:30   ` Steve Calfee [this message]
2011-09-28 18:43     ` Thomas De Schampheleire
2011-09-28 21:02       ` Michael S. Zick
2011-09-28 21:21         ` Bryan Hundven
2011-09-28 18:48     ` Grant Edwards

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=4E8367B4.3050709@gmail.com \
    --to=stevecalfee@gmail.com \
    --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