diff --git a/documentation/ref-manual/terms.rst b/documentation/ref-manual/terms.rst index cba514c345..512032a67e 100644 --- a/documentation/ref-manual/terms.rst +++ b/documentation/ref-manual/terms.rst @@ -383,6 +383,31 @@ universal, the list includes them just in case: ":ref:`overview-manual/development-environment:repositories, tags, and branches`" section in the Yocto Project Overview and Concepts Manual. + :term:`Sysroot` + When cross-compiling, the target file system may be differently laid + out and contain different things compared to the host system. The concept + of a *sysroot* is directory which looks like the target filesystem and + can be used to cross-compile against. + + In the context of cross-compiling toolchains, a *sysroot* + typically contains C library and kernel headers, plus the + compiled binaries for the C library. A *multilib toolchain* + can contain multiple variants of the C library binaries, + each compiled for a target instruction set (such as ``armv5``, + ``armv7`` and ``armv8``), and possibly optimized for a specific CPU core. + + In the more specific context of the OpenEmbedded build System and + of the Yocto Project, each recipe has two sysroots: + + - A *target sysroot* contains all the **target** libraries and headers + needed to build the recipe. + + - A *native sysroot* contains all the **host** files and executables + needed to build the recipe. + + See the :term:`SYSROOT_* ` variables controlling + how sysroots are created and stored. + :term:`Task` A per-recipe unit of execution for BitBake (e.g. :ref:`ref-tasks-compile`,