diff mbox series

[1/3] ref-manual: variables: Add RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE

Message ID 20231020094102.414940-1-bhstalel@gmail.com
State New
Headers show
Series [1/3] ref-manual: variables: Add RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE | expand

Commit Message

Talel BELHADJ SALEM Oct. 20, 2023, 9:41 a.m. UTC
Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
---
 documentation/ref-manual/variables.rst | 35 ++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Khem Raj Oct. 20, 2023, 4:02 p.m. UTC | #1
On 10/20/23 2:41 AM, BELHADJ SALEM Talel wrote:
> Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
> ---
>   documentation/ref-manual/variables.rst | 35 ++++++++++++++++++++++++++
>   1 file changed, 35 insertions(+)
> 
> diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
> index 26a5aed82..b00445946 100644
> --- a/documentation/ref-manual/variables.rst
> +++ b/documentation/ref-manual/variables.rst
> @@ -6971,6 +6971,36 @@ system and gives an overview of their function and contents.
>         in the ":ref:`ref-manual/devtool-reference:checking on the upgrade status of a recipe`"
>         section.
>   
> +   :term:`RECIPE_SYSROOT`
> +      This variable points to the directory that holds all files populated from
> +      recipes specified in :term:`DEPENDS`. As the name indicates,
> +      think of this variable as a custom root ``/`` for the recipe that will be
> +      used by the compiler in order to find headers and other files needed to complete
> +      its job.

Thanks for adding this to docs. I think it will be good to mention that 
this is not typical sysroot where everything is available but its a 
mimimal sysroot that contains headers and libraries from recipe specific 
build time dependencies only.

> +
> +      This variable is related to :term:`STAGING_DIR_HOST` or :term:`STAGING_DIR_TARGET`
> +      according to the type of the recipe and the build target.
> +
> +      To better understand this variable, consider the following examples:
> +
> +      -  For ``#include <header.h>``, ``header.h`` should be in ``"${RECIPE_SYSROOT}/usr/include"``
> +
> +      -  For ``-lexample``, ``libexample.so`` should be in ``"${RECIPE_SYSROOT}/lib"``
> +         or other library sysroot directories.
> +
> +      The default value is ``"${WORKDIR}/recipe-sysroot"``.
> +      Do not modify it.
> +
> +   :term:`RECIPE_SYSROOT_NATIVE`
> +      This is similar to :term:`RECIPE_SYSROOT` but the populated files are from
> +      ``-native`` recipes. This allows a recipe built for the target machine to
> +      use ``native`` tools.
> +
> +      This variable is related to :term:`STAGING_DIR_NATIVE`.
> +
> +      The default value is ``"${WORKDIR}/recipe-sysroot-native"``.
> +      Do not modify it.
> +
>      :term:`REPODIR`
>         See :term:`bitbake:REPODIR` in the BitBake manual.
>   
> @@ -8275,10 +8305,15 @@ system and gives an overview of their function and contents.
>               for ``-native`` recipes, as they make use of host headers and
>               libraries.
>   
> +      Check :term:`RECIPE_SYSROOT` and :term:`RECIPE_SYSROOT_NATIVE`.
> +
>      :term:`STAGING_DIR_NATIVE`
>         Specifies the path to the sysroot directory used when building
>         components that run on the build host itself.
>   
> +      The default value is ``"${RECIPE_SYSROOT_NATIVE}"``,
> +      check :term:`RECIPE_SYSROOT_NATIVE`.
> +
>      :term:`STAGING_DIR_TARGET`
>         Specifies the path to the sysroot used for the system for which the
>         component generates code. For components that do not generate code,
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#4437): https://lists.yoctoproject.org/g/docs/message/4437
> Mute This Topic: https://lists.yoctoproject.org/mt/102077748/1997914
> Group Owner: docs+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/docs/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 26a5aed82..b00445946 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -6971,6 +6971,36 @@  system and gives an overview of their function and contents.
       in the ":ref:`ref-manual/devtool-reference:checking on the upgrade status of a recipe`"
       section.
 
+   :term:`RECIPE_SYSROOT`
+      This variable points to the directory that holds all files populated from
+      recipes specified in :term:`DEPENDS`. As the name indicates,
+      think of this variable as a custom root ``/`` for the recipe that will be
+      used by the compiler in order to find headers and other files needed to complete
+      its job.
+
+      This variable is related to :term:`STAGING_DIR_HOST` or :term:`STAGING_DIR_TARGET`
+      according to the type of the recipe and the build target.
+
+      To better understand this variable, consider the following examples:
+
+      -  For ``#include <header.h>``, ``header.h`` should be in ``"${RECIPE_SYSROOT}/usr/include"``
+
+      -  For ``-lexample``, ``libexample.so`` should be in ``"${RECIPE_SYSROOT}/lib"``
+         or other library sysroot directories.
+
+      The default value is ``"${WORKDIR}/recipe-sysroot"``.
+      Do not modify it.
+
+   :term:`RECIPE_SYSROOT_NATIVE`
+      This is similar to :term:`RECIPE_SYSROOT` but the populated files are from
+      ``-native`` recipes. This allows a recipe built for the target machine to
+      use ``native`` tools.
+
+      This variable is related to :term:`STAGING_DIR_NATIVE`.
+
+      The default value is ``"${WORKDIR}/recipe-sysroot-native"``.
+      Do not modify it.
+
    :term:`REPODIR`
       See :term:`bitbake:REPODIR` in the BitBake manual.
 
@@ -8275,10 +8305,15 @@  system and gives an overview of their function and contents.
             for ``-native`` recipes, as they make use of host headers and
             libraries.
 
+      Check :term:`RECIPE_SYSROOT` and :term:`RECIPE_SYSROOT_NATIVE`.
+
    :term:`STAGING_DIR_NATIVE`
       Specifies the path to the sysroot directory used when building
       components that run on the build host itself.
 
+      The default value is ``"${RECIPE_SYSROOT_NATIVE}"``,
+      check :term:`RECIPE_SYSROOT_NATIVE`.
+
    :term:`STAGING_DIR_TARGET`
       Specifies the path to the sysroot used for the system for which the
       component generates code. For components that do not generate code,