summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-06-13 20:49:57 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-21 14:26:30 +0100
commita4218c821f965e101c343cc420e5e0ba0df7ec7f (patch)
treef80766d7a56e0933a441c6d8b8a19f18fd665393 /documentation
parent54884c0b66b7cb42fc5f72d421f925cddecfb622 (diff)
downloadpoky-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')
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml105
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 @@
566 </para></listitem> 566 </para></listitem>
567 <listitem><para id='cross-development-toolchain'> 567 <listitem><para id='cross-development-toolchain'>
568 <emphasis>Cross-Development Toolchain:</emphasis> 568 <emphasis>Cross-Development Toolchain:</emphasis>
569 A collection of software development 569 In general, a cross-development toolchain is a collection of
570 tools and utilities that run on one architecture but 570 software development tools and utilities that run on one
571 allow you to develop software for a different targeted 571 architecture and allow you to develop software for a
572 architecture. 572 different, or targeted, architecture.
573 This toolchain contains cross-compilers, linkers, and debuggers 573 This toolchain contains cross-compilers, linkers, and debuggers
574 that are specific to an architecture. 574 that are specific to the target architecture.
575 You can use the OpenEmbedded build system to build a
576 cross-development toolchain installer that, when run, installs
577 the toolchain that contains the development tools you
578 need to cross-compile and test your software.
579 The Yocto Project ships with images that contain installers for
580 toolchains for supported architectures as well.
581 Sometimes this toolchain is referred to as the 575 Sometimes this toolchain is referred to as the
582 meta-toolchain.</para> 576 meta-toolchain.</para>
583 <para>Following is a list of toolchain recipes with brief 577 <para>
578 <para>The Yocto Project supports two different cross-development
579 toolchains:
580 <itemizedlist>
581 <listitem><para>A toolchain only used by and within
582 BitBake when building an image for a target
583 architecture.</para></listitem>
584 <listitem><para>A toolchain used outside of BitBake
585 by developers when developing applications that
586 will run on a targeted device.
587 </para></listitem>
588 </itemizedlist>
589 </para>
590 <para>You can use the OpenEmbedded build system to build an
591 installer for the toolchain used to develop applications.
592 When you run the installer, it installs the toolchain,
593 which contains the development tools you need to cross-compile
594 and test your software.
595 If your target architecture is supported by the Yocto Project,
596 you can take advantage of pre-built images that ship with the
597 Yocto Project and already contain cross-development toolchain
598 installers.
599 </para>
600 <para>Following are some toolchain recipes with brief
584 descriptions of each: 601 descriptions of each:
585 <itemizedlist> 602 <itemizedlist>
586 <listitem><para><filename>gcc-cross-initial</filename>: 603 <listitem><para><filename>gcc-cross-initial</filename>:
587 The first stage of the bootstrap process that 604 An early stage of the bootstrap process for creating
588 results in the cross-compiler that runs on the host 605 the cross-compiler used within BitBake.
589 and builds software for the target. 606 This stage builds enough of the
590 This tool is a "native" packages (i.e. it is 607 <filename>gcc-cross</filename>,
591 designed to run on the development host). 608 the C library, and other pieces needed to
609 finish building the final cross-compiler in later
610 stages.
611 This tool is a "native" package (i.e. it is
612 designed to run on the build host).
592 </para></listitem> 613 </para></listitem>
593 <listitem><para><filename>gcc-cross</filename>: 614 <listitem><para><filename>gcc-cross</filename>:
594 The second and final stage of the previously described 615 The final stage of the bootstrap process for creating
595 bootstrap process. 616 the cross-compiler used within BitBake.
596 If you are replacing the cross compiler toolchain 617 This stage results in the actual cross-compiler that
597 with a custom version, you must replace 618 BitBake uses when it builds an image for a targeted
598 <filename>gcc-cross</filename>. 619 device.
599 This tool is a "native" package (i.e. it is 620 <note>
600 designed to run on the development host). 621 If you are replacing this cross compiler toolchain
622 with a custom version, you must replace
623 <filename>gcc-cross</filename>.
624 </note>
625 This tool is also a "native" package (i.e. it is
626 designed to run on the build host).
601 </para></listitem> 627 </para></listitem>
602 <listitem><para><filename>gcc-runtime</filename>: 628 <listitem><para><filename>gcc-runtime</filename>:
603 Runtime libraries from the toolchain bootstrapping 629 Runtime libraries from the toolchain bootstrapping
604 process. 630 process.
605 This tool produces a binary for the target. 631 This tool produces a binary that consists of the
632 runtime libraries need for the targeted device.
606 </para></listitem> 633 </para></listitem>
607 <listitem><para><filename>gcc-crosssdk-initial</filename>: 634 <listitem><para><filename>gcc-crosssdk-initial</filename>:
608 The first stage of the Software Development Kit (SDK) 635 An early stage of the bootstrap process for creating
609 cross-compiler that runs on the host and builds for 636 the cross-compiler that is external to BitBake
610 the SDK. 637 (i.e. the compiler used by application developers
611 Often the SDK is not the same target as the host. 638 to develop software that runs on the target device).
612 This tool is a "native" binary.</para></listitem> 639 This stage builds enough of the
640 <filename>gcc-crosssdk</filename> and supporting
641 pieces so that the final stage of the bootstrap
642 process can produce the finished cross-compiler.
643 This tool is a "native" binary that runs on the build
644 host.
645 </para></listitem>
613 <listitem><para><filename>gcc-crosssdk</filename>: 646 <listitem><para><filename>gcc-crosssdk</filename>:
614 The second and final stage of the previously mentioned 647 The final stage of the bootstrap process for creating
615 SDK cross-compiler. 648 the cross-compiler that is external to BitBake.
616 This tool is a "native" binary. 649 This tool is a "native" binary that runs on the build
617 The tool runs on the host and builds for the SDK. 650 host but generates code that runs on the machine used
651 for application development (i.e. the
652 <filename>SDKMACHINE</filename>).
653 Often the <filename>SDKMACHINE</filename> is not the
654 same machine as the host build machine.
618 </para></listitem> 655 </para></listitem>
619 <listitem><para><filename>gcc-cross-canadian</filename>: 656 <listitem><para><filename>gcc-cross-canadian</filename>:
620 A compiler built on one machine (build machine) that 657 A compiler built on one machine (build machine) that