From 766a44b8e30551fc61b5031129175d207e7ea78b Mon Sep 17 00:00:00 2001 From: Michael Opdenacker Date: Thu, 8 Dec 2022 19:10:01 +0100 Subject: manual: improve documentation about using external toolchains - Remove the redundant FAQ entry about this topic, already covered in a specific section of the Development Tasks manual - Document the TOOLCHAIN_LOCATION variable - Expand both the Development Tasks manual and the TCMODE variable description using details from the FAQ entry. - Mention the "meta-arm-toolchain" layer too. (From yocto-docs rev: 53faa54a8e6311b4d3d41d96cb1a497d0f6502fb) Signed-off-by: Michael Opdenacker Signed-off-by: Richard Purdie --- documentation/dev-manual/external-toolchain.rst | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'documentation/dev-manual') diff --git a/documentation/dev-manual/external-toolchain.rst b/documentation/dev-manual/external-toolchain.rst index e1fabbed22..238f8cf467 100644 --- a/documentation/dev-manual/external-toolchain.rst +++ b/documentation/dev-manual/external-toolchain.rst @@ -15,14 +15,26 @@ follows: ``bblayers.conf`` file through the :term:`BBLAYERS` variable. -- Set the ``EXTERNAL_TOOLCHAIN`` variable in your ``local.conf`` file +- Set the :term:`EXTERNAL_TOOLCHAIN` variable in your ``local.conf`` file to the location in which you installed the toolchain. -A good example of an external toolchain used with the Yocto Project is -Mentor Graphics Sourcery G++ Toolchain. You can see information on how -to use that particular layer in the ``README`` file at -https://github.com/MentorEmbedded/meta-sourcery/. You can find -further information by reading about the -:term:`TCMODE` variable in the Yocto -Project Reference Manual's variable glossary. +The toolchain configuration is very flexible and customizable. It +is primarily controlled with the :term:`TCMODE` variable. This variable +controls which ``tcmode-*.inc`` file to include from the +``meta/conf/distro/include`` directory within the :term:`Source Directory`. +The default value of :term:`TCMODE` is "default", which tells the +OpenEmbedded build system to use its internally built toolchain (i.e. +``tcmode-default.inc``). However, other patterns are accepted. In +particular, "external-\*" refers to external toolchains. One example is +the Mentor Graphics Sourcery G++ Toolchain. Support for this toolchain resides +in the separate ``meta-sourcery`` layer at +https://github.com/MentorEmbedded/meta-sourcery/. +See its ``README`` file for details about how to use this layer. + +Another example of external toolchain layer is +:yocto_git:`meta-arm-toolchain ` +supporting GNU toolchains released by ARM. + +You can find further information by reading about the :term:`TCMODE` variable +in the Yocto Project Reference Manual's variable glossary. -- cgit v1.2.3-54-g00ecf