dev-manual: Updates to the "Cross-Development Toolchain" term.

This term description has been reduced to an introduction only.
The real details are now in the ref-manual.  This term now simply
is introduced and the reader is referred to the ref-manual
section.

(From yocto-docs rev: 4d53a25e1871d793d5c38eba4d1f8715c989cb4d)

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 2013-06-14 17:07:57 +03:00 committed by Richard Purdie
parent a4218c821f
commit 26a9dd8c29
1 changed files with 25 additions and 90 deletions

View File

@ -566,105 +566,40 @@
</para></listitem>
<listitem><para id='cross-development-toolchain'>
<emphasis>Cross-Development Toolchain:</emphasis>
In general, a cross-development toolchain is a collection of
software development tools and utilities that run on one
architecture and allow you to develop software for a
different, or targeted, architecture.
This toolchain contains cross-compilers, linkers, and debuggers
that are specific to the target architecture.
Sometimes this toolchain is referred to as the
meta-toolchain.</para>
<para>
In general, a cross-development toolchain is a collection of
software development tools and utilities that run on one
architecture and allow you to develop software for a
different, or targeted, architecture.
These toolchains contain cross-compilers, linkers, and
debuggers that are specific to the target architecture.
</para>
<para>The Yocto Project supports two different cross-development
toolchains:
<itemizedlist>
<listitem><para>A toolchain only used by and within
BitBake when building an image for a target
architecture.</para></listitem>
<listitem><para>A toolchain used outside of BitBake
by developers when developing applications that
will run on a targeted device.
<listitem><para>A relocatable toolchain used outside of
BitBake by developers when developing applications
that will run on a targeted device.
Sometimes this relocatable cross-development
toolchain is referred to as the meta-toolchain.
</para></listitem>
</itemizedlist>
</para>
<para>You can use the OpenEmbedded build system to build an
installer for the toolchain used to develop applications.
When you run the installer, it installs the toolchain,
which contains the development tools you need to cross-compile
and test your software.
If your target architecture is supported by the Yocto Project,
you can take advantage of pre-built images that ship with the
Yocto Project and already contain cross-development toolchain
installers.
</para>
<para>Following are some toolchain recipes with brief
descriptions of each:
<itemizedlist>
<listitem><para><filename>gcc-cross-initial</filename>:
An early stage of the bootstrap process for creating
the cross-compiler used within BitBake.
This stage builds enough of the
<filename>gcc-cross</filename>,
the C library, and other pieces needed to
finish building the final cross-compiler in later
stages.
This tool is a "native" package (i.e. it is
designed to run on the build host).
</para></listitem>
<listitem><para><filename>gcc-cross</filename>:
The final stage of the bootstrap process for creating
the cross-compiler used within BitBake.
This stage results in the actual cross-compiler that
BitBake uses when it builds an image for a targeted
device.
<note>
If you are replacing this cross compiler toolchain
with a custom version, you must replace
<filename>gcc-cross</filename>.
</note>
This tool is also a "native" package (i.e. it is
designed to run on the build host).
</para></listitem>
<listitem><para><filename>gcc-runtime</filename>:
Runtime libraries from the toolchain bootstrapping
process.
This tool produces a binary that consists of the
runtime libraries need for the targeted device.
</para></listitem>
<listitem><para><filename>gcc-crosssdk-initial</filename>:
An early stage of the bootstrap process for creating
the cross-compiler that is external to BitBake
(i.e. the compiler used by application developers
to develop software that runs on the target device).
This stage builds enough of the
<filename>gcc-crosssdk</filename> and supporting
pieces so that the final stage of the bootstrap
process can produce the finished cross-compiler.
This tool is a "native" binary that runs on the build
host.
</para></listitem>
<listitem><para><filename>gcc-crosssdk</filename>:
The final stage of the bootstrap process for creating
the cross-compiler that is external to BitBake.
This tool is a "native" binary that runs on the build
host but generates code that runs on the machine used
for application development (i.e. the
<filename>SDKMACHINE</filename>).
Often the <filename>SDKMACHINE</filename> is not the
same machine as the host build machine.
</para></listitem>
<listitem><para><filename>gcc-cross-canadian</filename>:
A compiler built on one machine (build machine) that
runs on a different machine (host machine) and produces
software that runs on a third target machine.
See WikipediA's
<ulink url='http://en.wikipedia.org/wiki/Cross_compiler#Canadian_Cross'>Cross Compiler</ulink>
page for a more general explanation of a
"Canadian Cross".
This compiler is included with the SDK that builds
software for the eventual target.
This tool is a "nativesdk" package.</para></listitem>
</itemizedlist></para></listitem>
<para>
Creation of these toolchains is simple and automated.
For information on toolchain concepts as they apply to the
Yocto Project, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#cross-development-toolchain-generation'>Cross-Development Toolchain Generation</ulink>"
section in the Yocto Project Reference Manual.
You can also find more information on using the
relocatable toolchain in the
<ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project
Application Developer's Guide</ulink>.
</para></listitem>
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when
BitBake processes a given collection of recipes and related Metadata.
Images are the binary output that run on specific hardware or QEMU