dev-manual: partial update to cross-development toolchain definition.

(From yocto-docs rev: 3a6f396c09a6d6a4e8a7fe9316b57166488d7fee)

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-13 20:49:57 +03:00 committed by Richard Purdie
parent 54884c0b66
commit a4218c821f
1 changed files with 71 additions and 34 deletions

View File

@ -566,55 +566,92 @@
</para></listitem> </para></listitem>
<listitem><para id='cross-development-toolchain'> <listitem><para id='cross-development-toolchain'>
<emphasis>Cross-Development Toolchain:</emphasis> <emphasis>Cross-Development Toolchain:</emphasis>
A collection of software development In general, a cross-development toolchain is a collection of
tools and utilities that run on one architecture but software development tools and utilities that run on one
allow you to develop software for a different targeted architecture and allow you to develop software for a
architecture. different, or targeted, architecture.
This toolchain contains cross-compilers, linkers, and debuggers This toolchain contains cross-compilers, linkers, and debuggers
that are specific to an architecture. that are specific to the target architecture.
You can use the OpenEmbedded build system to build a
cross-development toolchain installer that, when run, installs
the toolchain that contains the development tools you
need to cross-compile and test your software.
The Yocto Project ships with images that contain installers for
toolchains for supported architectures as well.
Sometimes this toolchain is referred to as the Sometimes this toolchain is referred to as the
meta-toolchain.</para> meta-toolchain.</para>
<para>Following is a list of toolchain recipes with brief <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.
</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: descriptions of each:
<itemizedlist> <itemizedlist>
<listitem><para><filename>gcc-cross-initial</filename>: <listitem><para><filename>gcc-cross-initial</filename>:
The first stage of the bootstrap process that An early stage of the bootstrap process for creating
results in the cross-compiler that runs on the host the cross-compiler used within BitBake.
and builds software for the target. This stage builds enough of the
This tool is a "native" packages (i.e. it is <filename>gcc-cross</filename>,
designed to run on the development host). 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> </para></listitem>
<listitem><para><filename>gcc-cross</filename>: <listitem><para><filename>gcc-cross</filename>:
The second and final stage of the previously described The final stage of the bootstrap process for creating
bootstrap process. the cross-compiler used within BitBake.
If you are replacing the cross compiler toolchain This stage results in the actual cross-compiler that
with a custom version, you must replace BitBake uses when it builds an image for a targeted
<filename>gcc-cross</filename>. device.
This tool is a "native" package (i.e. it is <note>
designed to run on the development host). 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> </para></listitem>
<listitem><para><filename>gcc-runtime</filename>: <listitem><para><filename>gcc-runtime</filename>:
Runtime libraries from the toolchain bootstrapping Runtime libraries from the toolchain bootstrapping
process. process.
This tool produces a binary for the target. This tool produces a binary that consists of the
runtime libraries need for the targeted device.
</para></listitem> </para></listitem>
<listitem><para><filename>gcc-crosssdk-initial</filename>: <listitem><para><filename>gcc-crosssdk-initial</filename>:
The first stage of the Software Development Kit (SDK) An early stage of the bootstrap process for creating
cross-compiler that runs on the host and builds for the cross-compiler that is external to BitBake
the SDK. (i.e. the compiler used by application developers
Often the SDK is not the same target as the host. to develop software that runs on the target device).
This tool is a "native" binary.</para></listitem> 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>: <listitem><para><filename>gcc-crosssdk</filename>:
The second and final stage of the previously mentioned The final stage of the bootstrap process for creating
SDK cross-compiler. the cross-compiler that is external to BitBake.
This tool is a "native" binary. This tool is a "native" binary that runs on the build
The tool runs on the host and builds for the SDK. 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> </para></listitem>
<listitem><para><filename>gcc-cross-canadian</filename>: <listitem><para><filename>gcc-cross-canadian</filename>:
A compiler built on one machine (build machine) that A compiler built on one machine (build machine) that