diff options
| -rw-r--r-- | documentation/adt-manual/adt-prepare.xml | 33 | ||||
| -rw-r--r-- | documentation/ref-manual/closer-look.xml | 5 | ||||
| -rw-r--r-- | documentation/ref-manual/ref-classes.xml | 46 | ||||
| -rw-r--r-- | documentation/ref-manual/technical-details.xml | 13 |
4 files changed, 93 insertions, 4 deletions
diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 0dbbe4dcc8..bb35c28f25 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml | |||
| @@ -584,17 +584,42 @@ | |||
| 584 | you can build the toolchain installer one of two ways if you have a | 584 | you can build the toolchain installer one of two ways if you have a |
| 585 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>: | 585 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>: |
| 586 | <itemizedlist> | 586 | <itemizedlist> |
| 587 | <listitem><para>Use <filename>bitbake meta-toolchain</filename>. | 587 | <listitem><para> |
| 588 | Use <filename>bitbake meta-toolchain</filename>. | ||
| 588 | This method requires you to still install the target | 589 | This method requires you to still install the target |
| 589 | sysroot by installing and extracting it separately. | 590 | sysroot by installing and extracting it separately. |
| 590 | For information on how to install the sysroot, see the | 591 | For information on how to install the sysroot, see the |
| 591 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" | 592 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" |
| 592 | section.</para></listitem> | 593 | section. |
| 593 | <listitem><para>Use | 594 | </para></listitem> |
| 594 | <filename>bitbake image -c populate_sdk</filename>. | 595 | <listitem><para> |
| 596 | Use <filename>bitbake image -c populate_sdk</filename>. | ||
| 595 | This method has significant advantages over the previous method | 597 | This method has significant advantages over the previous method |
| 596 | because it results in a toolchain installer that contains the | 598 | because it results in a toolchain installer that contains the |
| 597 | sysroot that matches your target root filesystem. | 599 | sysroot that matches your target root filesystem. |
| 600 | </para> | ||
| 601 | |||
| 602 | <para>Another powerful feature is that the toolchain is | ||
| 603 | completely self-contained. | ||
| 604 | The binaries are linked against their own copy of | ||
| 605 | <filename>libc</filename>, which results in no dependencies | ||
| 606 | on the target system. | ||
| 607 | To achieve this, the pointer to the dynamic loader is | ||
| 608 | configured at install time since that path cannot be dynamically | ||
| 609 | altered. | ||
| 610 | This is the reason for a wrapper around the | ||
| 611 | <filename>populate_sdk</filename> archive.</para> | ||
| 612 | |||
| 613 | <para>Another feature is that only one set of cross-canadian | ||
| 614 | toolchain binaries are produced per architecture. | ||
| 615 | This feature takes advantage of the fact that the target | ||
| 616 | hardware can be passed to <filename>gcc</filename> as a set of | ||
| 617 | compiler options. | ||
| 618 | Those options are set up by the environment script and | ||
| 619 | contained in variables like CC and LD. | ||
| 620 | This reduces the space needed for the tools. | ||
| 621 | Understand, however, that a sysroot is still needed for every | ||
| 622 | target since those binaries are target-specific. | ||
| 598 | </para></listitem> | 623 | </para></listitem> |
| 599 | </itemizedlist> | 624 | </itemizedlist> |
| 600 | </para> | 625 | </para> |
diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml index 136f9389f7..77ab4d2633 100644 --- a/documentation/ref-manual/closer-look.xml +++ b/documentation/ref-manual/closer-look.xml | |||
| @@ -1022,6 +1022,11 @@ | |||
| 1022 | generation, see the | 1022 | generation, see the |
| 1023 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" | 1023 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" |
| 1024 | section. | 1024 | section. |
| 1025 | For information on advantages gained when building a | ||
| 1026 | cross-development toolchain using the | ||
| 1027 | <filename>do_populate_sdk</filename> task, see the | ||
| 1028 | "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" | ||
| 1029 | section in the Yocto Project Application Developer's Guide. | ||
| 1025 | </note> | 1030 | </note> |
| 1026 | 1031 | ||
| 1027 | <para> | 1032 | <para> |
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index de8448febf..58004cbee1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml | |||
| @@ -130,6 +130,36 @@ | |||
| 130 | </para></listitem> | 130 | </para></listitem> |
| 131 | </itemizedlist> | 131 | </itemizedlist> |
| 132 | </para> | 132 | </para> |
| 133 | |||
| 134 | <note> | ||
| 135 | It is planned for future Yocto Project releases that by default, the | ||
| 136 | <filename>autotools</filename> class supports out-of-tree builds | ||
| 137 | (<link linkend='var-B'><filename>B</filename></link> != | ||
| 138 | <link linkend='var-S'><filename>S</filename></link>). | ||
| 139 | If your recipes do not support out-of-tree builds, you should | ||
| 140 | have them inherit the | ||
| 141 | <link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link> | ||
| 142 | class. | ||
| 143 | </note> | ||
| 144 | </section> | ||
| 145 | |||
| 146 | <section id='ref-classes-autotools-brokensep'> | ||
| 147 | <title><filename>autotools-brokensep.bbclass</filename></title> | ||
| 148 | |||
| 149 | <para> | ||
| 150 | The <filename>autotools-brokensep</filename> class behaves the same | ||
| 151 | as the | ||
| 152 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
| 153 | class but builds with | ||
| 154 | <link linkend='var-B'><filename>B</filename></link> == | ||
| 155 | <link linkend='var-S'><filename>S</filename></link>. | ||
| 156 | This method is useful when out-of-tree build support is either not | ||
| 157 | present or is broken. | ||
| 158 | <note> | ||
| 159 | It is recommended that out-of-tree support be fixed and used | ||
| 160 | if at all possible. | ||
| 161 | </note> | ||
| 162 | </para> | ||
| 133 | </section> | 163 | </section> |
| 134 | 164 | ||
| 135 | <section id='ref-classes-base'> | 165 | <section id='ref-classes-base'> |
| @@ -2220,6 +2250,10 @@ | |||
| 2220 | <para> | 2250 | <para> |
| 2221 | The <filename>populate_sdk</filename> class provides support for | 2251 | The <filename>populate_sdk</filename> class provides support for |
| 2222 | SDK-only recipes. | 2252 | SDK-only recipes. |
| 2253 | For information on advantages gained when building a cross-development | ||
| 2254 | toolchain using the <filename>do_populate_sdk</filename> task, see the | ||
| 2255 | "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" | ||
| 2256 | section in the Yocto Project Application Developer's Guide. | ||
| 2223 | </para> | 2257 | </para> |
| 2224 | </section> | 2258 | </section> |
| 2225 | 2259 | ||
| @@ -2284,6 +2318,18 @@ | |||
| 2284 | These classes are inherited by and used with the | 2318 | These classes are inherited by and used with the |
| 2285 | <filename>populate_sdk_base</filename> class. | 2319 | <filename>populate_sdk_base</filename> class. |
| 2286 | </para> | 2320 | </para> |
| 2321 | |||
| 2322 | <para> | ||
| 2323 | For more information on the cross-development toolchain | ||
| 2324 | generation, see the | ||
| 2325 | "<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>" | ||
| 2326 | section. | ||
| 2327 | For information on advantages gained when building a | ||
| 2328 | cross-development toolchain using the | ||
| 2329 | <filename>do_populate_sdk</filename> task, see the | ||
| 2330 | "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" | ||
| 2331 | section in the Yocto Project Application Developer's Guide. | ||
| 2332 | </para> | ||
| 2287 | </section> | 2333 | </section> |
| 2288 | 2334 | ||
| 2289 | <section id='ref-classes-prexport'> | 2335 | <section id='ref-classes-prexport'> |
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 106bb2c315..3485ee3506 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml | |||
| @@ -327,9 +327,22 @@ | |||
| 327 | <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>, | 327 | <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>, |
| 328 | this tool | 328 | this tool |
| 329 | produces executable code that runs on the target device. | 329 | produces executable code that runs on the target device. |
| 330 | Only one cross-canadian compiler is produced per architecture | ||
| 331 | since they can be targeted at different processor optimizations | ||
| 332 | using configurations passed to the compiler through the | ||
| 333 | compile commands. | ||
| 334 | This saves the need to have multiple compilers present and | ||
| 335 | hence reduces the size of the toolchains. | ||
| 330 | </para></listitem> | 336 | </para></listitem> |
| 331 | </itemizedlist> | 337 | </itemizedlist> |
| 332 | </para> | 338 | </para> |
| 339 | |||
| 340 | <note> | ||
| 341 | For information on advantages gained when building a | ||
| 342 | cross-development toolchain installer, see the | ||
| 343 | "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" | ||
| 344 | section in the Yocto Project Application Developer's Guide. | ||
| 345 | </note> | ||
| 333 | </section> | 346 | </section> |
| 334 | 347 | ||
| 335 | <section id="shared-state-cache"> | 348 | <section id="shared-state-cache"> |
