adt-manual, ref-manual: Detail on using an external toolchain.

Fixes [YOCTO #4907]

I created a new section in the toolchain chapter of the adt-manual
called "optionally Using an External Toolchain".  This provides
some fundamental information for the user that wants to use
an external toolchain.  Additionally, it references Mentor
Graphics Sourcery toolchain as an example.

In the ref-manual, I updated the TCMODE variable description to
better integrate the MGC Sourcery toolchain as the overriding
example.

(From yocto-docs rev: 51e9c3b88f7e5a16da2aa101589b0f2612fff11d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2015-02-12 13:32:59 -08:00 committed by Richard Purdie
parent 6d17aa00f9
commit 3dad9aee73
2 changed files with 69 additions and 24 deletions

View File

@ -709,6 +709,45 @@
</para>
</section>
<section id='optionally-using-an-external-toolchain'>
<title>Optionally Using an External Toolchain</title>
<para>
You might want to use an external toolchain as part of your
development.
If this is the case, the fundamental steps you need to accomplish
are as follows:
<itemizedlist>
<listitem><para>
Understand where the installed toolchain resides.
For cases where you need to build the external toolchain, you
would need to take separate steps to build and install the
toolchain.
</para></listitem>
<listitem><para>
Make sure you add the layer that contains the toolchain to
your <filename>bblayers.conf</filename> file through the
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink>
variable.
</para></listitem>
<listitem><para>
Set the
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNAL_TOOLCHAIN'><filename>EXTERNAL_TOOLCHAIN</filename></ulink>
variable in your <filename>local.conf</filename> file
to the location in which you installed the toolchain.
</para></listitem>
</itemizedlist>
A good example of an external toolchain used with the Yocto Project
is <trademark class='registered'>Mentor Graphics</trademark>
Sourcery G++ Toolchain.
You can see information on how to use that particular layer in the
<filename>README</filename> file at
<ulink url='http://github.com/MentorEmbedded/meta-sourcery/'></ulink>.
You can find further information by reading about the
<ulink url='&YOCTO_DOCS_REF_URL;#var-TCMODE'><filename>TCMODE</filename></ulink>
variable in the Yocto Project Reference Manual's variable glossary.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@ -11141,35 +11141,41 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para>
<para>
With additional layers, it is possible to use a pre-compiled
external toolchain.
One example is the Sourcery G++ Toolchain.
The support for this toolchain resides in the separate
<filename>meta-sourcery</filename> layer at
<ulink url='http://github.com/MentorEmbedded/meta-sourcery/'></ulink>.
You can use <filename>meta-sourcery</filename> as a
template for adding support for other external toolchains.
</para>
<para>
The <filename>TCMODE</filename> variable points the build
system to a file in
<filename>conf/distro/include/tcmode-${TCMODE}.inc</filename>.
Thus, for <filename>meta-sourcery</filename>,
which has <filename>conf/distro/include/tcmode-external-sourcery.inc</filename>,
you would set the variable as follows:
<literallayout class='monospaced'>
TCMODE ?= "external-sourcery"
</literallayout>
</para>
<para>
The variable is similar to
The <filename>TCMODE</filename> variable is similar to
<link linkend='var-TCLIBC'><filename>TCLIBC</filename></link>,
which controls the variant of the GNU standard C library
(<filename>libc</filename>) used during the build process:
<filename>glibc</filename> or <filename>uclibc</filename>.
</para>
<para>
With additional layers, it is possible to use a pre-compiled
external toolchain.
One example is the Sourcery G++ Toolchain.
The support for this toolchain resides in the separate
<trademark class='registered'>Mentor Graphics</trademark>
<filename>meta-sourcery</filename> layer at
<ulink url='http://github.com/MentorEmbedded/meta-sourcery/'></ulink>.
</para>
<para>
The layer's <filename>README</filename> file contains
information on how to use the Sourcery G++ Toolchain as
an external toolchain.
In summary, you must be sure to add the layer to your
<filename>bblayers.conf</filename> file in front of the
<filename>meta</filename> layer and then set the
<link linkend='var-EXTERNAL_TOOLCHAIN'><filename>EXTERNAL_TOOLCHAIN</filename></link>
variable in your <filename>local.conf</filename> file
to the location in which you installed the toolchain.
</para>
<para>
The fundamentals used for this example apply to any
external toolchain.
You can use <filename>meta-sourcery</filename> as a
template for adding support for other external toolchains.
</para>
</glossdef>
</glossentry>