diff options
Diffstat (limited to 'documentation/dev-manual/external-toolchain.rst')
-rw-r--r-- | documentation/dev-manual/external-toolchain.rst | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/documentation/dev-manual/external-toolchain.rst b/documentation/dev-manual/external-toolchain.rst new file mode 100644 index 0000000000..238f8cf467 --- /dev/null +++ b/documentation/dev-manual/external-toolchain.rst | |||
@@ -0,0 +1,40 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
2 | |||
3 | Optionally Using an External Toolchain | ||
4 | ************************************** | ||
5 | |||
6 | You might want to use an external toolchain as part of your development. | ||
7 | If this is the case, the fundamental steps you need to accomplish are as | ||
8 | follows: | ||
9 | |||
10 | - Understand where the installed toolchain resides. For cases where you | ||
11 | need to build the external toolchain, you would need to take separate | ||
12 | steps to build and install the toolchain. | ||
13 | |||
14 | - Make sure you add the layer that contains the toolchain to your | ||
15 | ``bblayers.conf`` file through the | ||
16 | :term:`BBLAYERS` variable. | ||
17 | |||
18 | - Set the :term:`EXTERNAL_TOOLCHAIN` variable in your ``local.conf`` file | ||
19 | to the location in which you installed the toolchain. | ||
20 | |||
21 | The toolchain configuration is very flexible and customizable. It | ||
22 | is primarily controlled with the :term:`TCMODE` variable. This variable | ||
23 | controls which ``tcmode-*.inc`` file to include from the | ||
24 | ``meta/conf/distro/include`` directory within the :term:`Source Directory`. | ||
25 | |||
26 | The default value of :term:`TCMODE` is "default", which tells the | ||
27 | OpenEmbedded build system to use its internally built toolchain (i.e. | ||
28 | ``tcmode-default.inc``). However, other patterns are accepted. In | ||
29 | particular, "external-\*" refers to external toolchains. One example is | ||
30 | the Mentor Graphics Sourcery G++ Toolchain. Support for this toolchain resides | ||
31 | in the separate ``meta-sourcery`` layer at | ||
32 | https://github.com/MentorEmbedded/meta-sourcery/. | ||
33 | See its ``README`` file for details about how to use this layer. | ||
34 | |||
35 | Another example of external toolchain layer is | ||
36 | :yocto_git:`meta-arm-toolchain </meta-arm/tree/meta-arm-toolchain/>` | ||
37 | supporting GNU toolchains released by ARM. | ||
38 | |||
39 | You can find further information by reading about the :term:`TCMODE` variable | ||
40 | in the Yocto Project Reference Manual's variable glossary. | ||