diff mbox series

[04/17] ref-manual/classes.rst: ccache: mention that the host's ccache can be used

Message ID 20251016-release-note-5-3-second-hunk-v1-4-20f21db1f93c@bootlin.com
State New
Headers show
Series Updates for 5.3 | expand

Commit Message

Antonin Godard Oct. 16, 2025, 8:53 a.m. UTC
This feature was added by commit cc91a0f6500e ("ccache: enable ccache
for all recipes if it is in HOSTTOOLS") in OE-Core.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/ref-manual/classes.rst | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

Comments

Quentin Schulz Oct. 16, 2025, 10:05 a.m. UTC | #1
Hi Antonin,

On 10/16/25 10:53 AM, Antonin Godard via lists.yoctoproject.org wrote:
> This feature was added by commit cc91a0f6500e ("ccache: enable ccache
> for all recipes if it is in HOSTTOOLS") in OE-Core.
> 
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>   documentation/ref-manual/classes.rst | 13 +++++++++++--
>   1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
> index e89b27eec..f10903e74 100644
> --- a/documentation/ref-manual/classes.rst
> +++ b/documentation/ref-manual/classes.rst
> @@ -392,8 +392,17 @@ file for details about how to enable this mechanism in your configuration
>   file, how to disable it for specific recipes, and how to share ``ccache``
>   files between builds.
>   
> -However, using the class can lead to unexpected side-effects. Thus, using
> -this class is not recommended.
> +By default, :ref:`ref-classes-native` recipes are not supported by the
> +:ref:`ref-classes-ccache` class. It is possible to add Ccache support for these
> +recipes if the following configuration statements are provided from a
> +:term:`configuration file`, which makes the class use the host's Ccache
> +instead::
> +
> +   ASSUME_PROVIDED += "ccache-native"
> +   HOSTTOOLS += "ccache"
> +
> +Using the :ref:`ref-classes-ccache` class can lead to unexpected side-effects.
> +Using this class is not recommended.

I was absolutely convinced ccache was enabled by default for target 
recipes, but doesn't seem to be the case?

Are we not recommending using ccache for **any** recipe or simply native 
recipe? I'm asking because this seems to imply we shouldn't use it for 
anything but the paragraph before only applies to native recipes. Maybe 
we could add something to make it explicit non-native recipes also are 
discouraged to use ccache?

So now I'm wondering if we can remove ccache from 
documentation/tools/host_packages_scripts/almalinux_essential.sh and 
documentation/tools/host_packages_scripts/fedora_essential.sh? If we do, 
we should probably add a note here stating you need to have ccache 
installed on your host system (which is kind of implied above when we 
say "use the host's Ccache" but maybe we could do better?).

Cheers,
Quentin
Paul Barker Oct. 16, 2025, 10:32 a.m. UTC | #2
On Thu, 2025-10-16 at 10:53 +0200, Antonin Godard wrote:
> This feature was added by commit cc91a0f6500e ("ccache: enable ccache
> for all recipes if it is in HOSTTOOLS") in OE-Core.
> 
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>  documentation/ref-manual/classes.rst | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
> index e89b27eec..f10903e74 100644
> --- a/documentation/ref-manual/classes.rst
> +++ b/documentation/ref-manual/classes.rst
> @@ -392,8 +392,17 @@ file for details about how to enable this mechanism in your configuration
>  file, how to disable it for specific recipes, and how to share ``ccache``
>  files between builds.
>  
> -However, using the class can lead to unexpected side-effects. Thus, using
> -this class is not recommended.
> +By default, :ref:`ref-classes-native` recipes are not supported by the
> +:ref:`ref-classes-ccache` class. It is possible to add Ccache support for these
> +recipes if the following configuration statements are provided from a
> +:term:`configuration file`, which makes the class use the host's Ccache
> +instead::

I think we can be a bit more explicit here, perhaps:

... which uses the host's ``ccache`` binary via :term:`HOSTTOOLS` instead of building ``ccache-native``.

Thanks,
diff mbox series

Patch

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index e89b27eec..f10903e74 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -392,8 +392,17 @@  file for details about how to enable this mechanism in your configuration
 file, how to disable it for specific recipes, and how to share ``ccache``
 files between builds.
 
-However, using the class can lead to unexpected side-effects. Thus, using
-this class is not recommended.
+By default, :ref:`ref-classes-native` recipes are not supported by the
+:ref:`ref-classes-ccache` class. It is possible to add Ccache support for these
+recipes if the following configuration statements are provided from a
+:term:`configuration file`, which makes the class use the host's Ccache
+instead::
+
+   ASSUME_PROVIDED += "ccache-native"
+   HOSTTOOLS += "ccache"
+
+Using the :ref:`ref-classes-ccache` class can lead to unexpected side-effects.
+Using this class is not recommended.
 
 .. _ref-classes-chrpath: