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:
parent
54884c0b66
commit
a4218c821f
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue