summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-06-14 17:07:57 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-21 14:26:30 +0100
commit26a9dd8c29102863a79333c76b2b9507bada89e8 (patch)
tree63f8fabb2ff01cd50e0cd4dfa37d674c34722eeb /documentation
parenta4218c821f965e101c343cc420e5e0ba0df7ec7f (diff)
downloadpoky-26a9dd8c29102863a79333c76b2b9507bada89e8.tar.gz
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>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml115
1 files changed, 25 insertions, 90 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 4b11f403b0..0c849f59d3 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -566,105 +566,40 @@
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 In general, a cross-development toolchain is a collection of 569 In general, a cross-development toolchain is a collection of
570 software development tools and utilities that run on one 570 software development tools and utilities that run on one
571 architecture and allow you to develop software for a 571 architecture and allow you to develop software for a
572 different, or targeted, architecture. 572 different, or targeted, architecture.
573 This toolchain contains cross-compilers, linkers, and debuggers 573 These toolchains contain cross-compilers, linkers, and
574 that are specific to the target architecture. 574 debuggers that are specific to the target architecture.
575 Sometimes this toolchain is referred to as the 575 </para>
576 meta-toolchain.</para> 576
577 <para>
578 <para>The Yocto Project supports two different cross-development 577 <para>The Yocto Project supports two different cross-development
579 toolchains: 578 toolchains:
580 <itemizedlist> 579 <itemizedlist>
581 <listitem><para>A toolchain only used by and within 580 <listitem><para>A toolchain only used by and within
582 BitBake when building an image for a target 581 BitBake when building an image for a target
583 architecture.</para></listitem> 582 architecture.</para></listitem>
584 <listitem><para>A toolchain used outside of BitBake 583 <listitem><para>A relocatable toolchain used outside of
585 by developers when developing applications that 584 BitBake by developers when developing applications
586 will run on a targeted device. 585 that will run on a targeted device.
586 Sometimes this relocatable cross-development
587 toolchain is referred to as the meta-toolchain.
587 </para></listitem> 588 </para></listitem>
588 </itemizedlist> 589 </itemizedlist>
589 </para> 590 </para>
590 <para>You can use the OpenEmbedded build system to build an 591
591 installer for the toolchain used to develop applications. 592 <para>
592 When you run the installer, it installs the toolchain, 593 Creation of these toolchains is simple and automated.
593 which contains the development tools you need to cross-compile 594 For information on toolchain concepts as they apply to the
594 and test your software. 595 Yocto Project, see the
595 If your target architecture is supported by the Yocto Project, 596 "<ulink url='&YOCTO_DOCS_REF_URL;#cross-development-toolchain-generation'>Cross-Development Toolchain Generation</ulink>"
596 you can take advantage of pre-built images that ship with the 597 section in the Yocto Project Reference Manual.
597 Yocto Project and already contain cross-development toolchain 598 You can also find more information on using the
598 installers. 599 relocatable toolchain in the
599 </para> 600 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project
600 <para>Following are some toolchain recipes with brief 601 Application Developer's Guide</ulink>.
601 descriptions of each: 602 </para></listitem>
602 <itemizedlist>
603 <listitem><para><filename>gcc-cross-initial</filename>:
604 An early stage of the bootstrap process for creating
605 the cross-compiler used within BitBake.
606 This stage builds enough of the
607 <filename>gcc-cross</filename>,
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).
613 </para></listitem>
614 <listitem><para><filename>gcc-cross</filename>:
615 The final stage of the bootstrap process for creating
616 the cross-compiler used within BitBake.
617 This stage results in the actual cross-compiler that
618 BitBake uses when it builds an image for a targeted
619 device.
620 <note>
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).
627 </para></listitem>
628 <listitem><para><filename>gcc-runtime</filename>:
629 Runtime libraries from the toolchain bootstrapping
630 process.
631 This tool produces a binary that consists of the
632 runtime libraries need for the targeted device.
633 </para></listitem>
634 <listitem><para><filename>gcc-crosssdk-initial</filename>:
635 An early stage of the bootstrap process for creating
636 the cross-compiler that is external to BitBake
637 (i.e. the compiler used by application developers
638 to develop software that runs on the target device).
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>
646 <listitem><para><filename>gcc-crosssdk</filename>:
647 The final stage of the bootstrap process for creating
648 the cross-compiler that is external to BitBake.
649 This tool is a "native" binary that runs on the build
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.
655 </para></listitem>
656 <listitem><para><filename>gcc-cross-canadian</filename>:
657 A compiler built on one machine (build machine) that
658 runs on a different machine (host machine) and produces
659 software that runs on a third target machine.
660 See WikipediA's
661 <ulink url='http://en.wikipedia.org/wiki/Cross_compiler#Canadian_Cross'>Cross Compiler</ulink>
662 page for a more general explanation of a
663 "Canadian Cross".
664 This compiler is included with the SDK that builds
665 software for the eventual target.
666 This tool is a "nativesdk" package.</para></listitem>
667 </itemizedlist></para></listitem>
668 <listitem><para><emphasis>Image:</emphasis> An image is the result produced when 603 <listitem><para><emphasis>Image:</emphasis> An image is the result produced when
669 BitBake processes a given collection of recipes and related Metadata. 604 BitBake processes a given collection of recipes and related Metadata.
670 Images are the binary output that run on specific hardware or QEMU 605 Images are the binary output that run on specific hardware or QEMU