[Buildroot] [PATCH 5/9] manual: faq: add workaround to avoid rebuilding the buildroot toolchain after each clean
s.martin49 at gmail.com
Sat Feb 23 13:34:10 UTC 2013
2013/2/14 Thomas Petazzoni <thomas.petazzoni at free-electrons.com>:
> Dear Samuel Martin,
> On Wed, 13 Feb 2013 23:59:06 +0100, Samuel Martin wrote:
>> Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
>> docs/manual/common-usage.txt | 1 +
>> docs/manual/faq-troubleshooting.txt | 34 ++++++++++++++++++++++++++++++++++
>> 2 files changed, 35 insertions(+)
>> diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt
>> index c7f511a..b36965f 100644
>> --- a/docs/manual/common-usage.txt
>> +++ b/docs/manual/common-usage.txt
>> @@ -20,6 +20,7 @@ all sources that you previously selected in the configurator
>> You can now disconnect or copy the content of your +dl+
>> directory to the build-host.
>> Building out-of-tree
>> diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
>> index 8b0882a..f367275 100644
>> --- a/docs/manual/faq-troubleshooting.txt
>> +++ b/docs/manual/faq-troubleshooting.txt
>> @@ -147,3 +147,37 @@ Using the internal Buildroot toolchain backend
>> These toolchains are currently *not relocatable*.
>> +However, it is possible to build a toolchain using the internal Buildroot
>> +backend in another location (see xref:daily-oot-build), then use it as an
>> +_external_ one to prevent from rebuilding it after issuing +make clean+
>> +(see xref:faq-avoid-rebuild-toolchain).
>> +How to avoid always rebuilding the toolchain?
>> +When using the internal Buildroot toolchain backend or the
>> +http://crosstool-ng.org[crosstool-NG] one, runnong +make clean+ not only
>> +remove the built binaries, but also the whole toolchain.
>> +It is possible to prevent this by, first, building the toolchain in a
>> +place different from the one where the images will be built.
>> +To do so:
>> +1. Build the toolchain somewhere:
>> +make toolchain O=/path/to/toolchain
>> +1. Use this pre-built toolchain as an external one in a new and clean
>> + build (see xref:external-toolchain-backend) with a different output
>> + directory than the pre-built toolchain one.
>> +This way, you will not have to rebuild the toolchain after invoking
>> ++make clean+.
>> +However, the toolchain should be regenerated after any change of the
>> ++Target Architecture+ (or its _variant_), or done in the +Toolchain+ menu.
> I think this text is misleading, because it suggests that the only way
> to avoid rebuilding the toolchain over and over again is to build a
> toolchain with Buildroot, and then use it as an external toolchain in
> Buildroot. There are other options that are possible:
> * Use Crosstool-NG outside of Buildroot to generate a toolchain
> * Use a pre-built toolchain
Here, I only focus on the internal backend, but I agree it may not be
as clear as I thought...
> I have the feeling that this new text doesn't articulate very well with
> the text that was added in 401d323698266468e322471530ee1997835fc335.
My bad :s, I forgot to check how it goes with the rest of the manual...
> We have to be careful to not add a set of random facts in the manual
> one after the other, without keeping a consistency and ordering on the
> different parts of the manual.
Well, I see 2 options (at least) to rework this patch:
- either reword it (still as a faq entry) to properly integrate it
with the rest of the manual;
- or add this workaround in the paragraph "Internal toolchain backend"
from the section 3.1.1.
But any other suggestion is welcome.
More information about the buildroot