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 @@
you can build the toolchain installer one of two ways if you have a
Build Directory:
- Use bitbake meta-toolchain.
+
+ Use bitbake meta-toolchain.
This method requires you to still install the target
sysroot by installing and extracting it separately.
For information on how to install the sysroot, see the
"Extracting the Root Filesystem"
- section.
- Use
- bitbake image -c populate_sdk.
+ section.
+
+
+ Use bitbake image -c populate_sdk.
This method has significant advantages over the previous method
because it results in a toolchain installer that contains the
sysroot that matches your target root filesystem.
+
+
+ Another powerful feature is that the toolchain is
+ completely self-contained.
+ The binaries are linked against their own copy of
+ libc, which results in no dependencies
+ on the target system.
+ To achieve this, the pointer to the dynamic loader is
+ configured at install time since that path cannot be dynamically
+ altered.
+ This is the reason for a wrapper around the
+ populate_sdk archive.
+
+ Another feature is that only one set of cross-canadian
+ toolchain binaries are produced per architecture.
+ This feature takes advantage of the fact that the target
+ hardware can be passed to gcc as a set of
+ compiler options.
+ Those options are set up by the environment script and
+ contained in variables like CC and LD.
+ This reduces the space needed for the tools.
+ Understand, however, that a sysroot is still needed for every
+ target since those binaries are target-specific.
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 @@
generation, see the
"Cross-Development Toolchain Generation"
section.
+ For information on advantages gained when building a
+ cross-development toolchain using the
+ do_populate_sdk task, see the
+ "Optionally Building a Toolchain Installer"
+ section in the Yocto Project Application Developer's Guide.
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 @@
+
+
+ It is planned for future Yocto Project releases that by default, the
+ autotools class supports out-of-tree builds
+ (B !=
+ S).
+ If your recipes do not support out-of-tree builds, you should
+ have them inherit the
+ autotools-brokensep
+ class.
+
+
+
+
+ autotools-brokensep.bbclass
+
+
+ The autotools-brokensep class behaves the same
+ as the
+ autotools
+ class but builds with
+ B ==
+ S.
+ This method is useful when out-of-tree build support is either not
+ present or is broken.
+
+ It is recommended that out-of-tree support be fixed and used
+ if at all possible.
+
+
@@ -2220,6 +2250,10 @@
The populate_sdk class provides support for
SDK-only recipes.
+ For information on advantages gained when building a cross-development
+ toolchain using the do_populate_sdk task, see the
+ "Optionally Building a Toolchain Installer"
+ section in the Yocto Project Application Developer's Guide.
@@ -2284,6 +2318,18 @@
These classes are inherited by and used with the
populate_sdk_base class.
+
+
+ For more information on the cross-development toolchain
+ generation, see the
+ "Cross-Development Toolchain Generation"
+ section.
+ For information on advantages gained when building a
+ cross-development toolchain using the
+ do_populate_sdk task, see the
+ "Optionally Building a Toolchain Installer"
+ section in the Yocto Project Application Developer's Guide.
+
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 @@
SDKMACHINE,
this tool
produces executable code that runs on the target device.
+ Only one cross-canadian compiler is produced per architecture
+ since they can be targeted at different processor optimizations
+ using configurations passed to the compiler through the
+ compile commands.
+ This saves the need to have multiple compilers present and
+ hence reduces the size of the toolchains.
+
+
+ For information on advantages gained when building a
+ cross-development toolchain installer, see the
+ "Optionally Building a Toolchain Installer"
+ section in the Yocto Project Application Developer's Guide.
+