diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-06-13 20:49:57 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-06-21 14:26:30 +0100 |
commit | a4218c821f965e101c343cc420e5e0ba0df7ec7f (patch) | |
tree | f80766d7a56e0933a441c6d8b8a19f18fd665393 /documentation/dev-manual/dev-manual-newbie.xml | |
parent | 54884c0b66b7cb42fc5f72d421f925cddecfb622 (diff) | |
download | openembedded-core-contrib-a4218c821f965e101c343cc420e5e0ba0df7ec7f.tar.gz |
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>
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 105 |
1 files changed, 71 insertions, 34 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index a53aff4f57..4b11f403b0 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -566,55 +566,92 @@ </para></listitem> <listitem><para id='cross-development-toolchain'> <emphasis>Cross-Development Toolchain:</emphasis> - A collection of software development - tools and utilities that run on one architecture but - allow you to develop software for a different targeted - architecture. + 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 an 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. + that are specific to the target architecture. Sometimes this toolchain is referred to as the 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: <itemizedlist> <listitem><para><filename>gcc-cross-initial</filename>: - The first stage of the bootstrap process that - results in the cross-compiler that runs on the host - and builds software for the target. - This tool is a "native" packages (i.e. it is - designed to run on the development host). + 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 second and final stage of the previously described - bootstrap process. - If you are replacing the cross compiler toolchain - with a custom version, you must replace - <filename>gcc-cross</filename>. - This tool is a "native" package (i.e. it is - designed to run on the development host). + 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 for the target. + 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>: - The first stage of the Software Development Kit (SDK) - cross-compiler that runs on the host and builds for - the SDK. - Often the SDK is not the same target as the host. - This tool is a "native" binary.</para></listitem> + 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 second and final stage of the previously mentioned - SDK cross-compiler. - This tool is a "native" binary. - The tool runs on the host and builds for the SDK. + 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 |