wrong list, please send to oe-core ml

On Thu, Aug 17, 2023 at 2:01 AM Angelo Ribeiro via
lists.openembedded.org
<[email protected]> wrote:
>
> From: Angelo Ribeiro <[email protected]>
>
> Native recipes are not able to use ccache currently, due to a circular
> dependency between ccache-native and cmake-native.
> This affects also other native recipes, but not all, imposing a
> limitation in build time optimizations.
>
> The introduction of CCACHE_NATIVE_RECIPES_ALLOWED allows the user to specify
> which native recipes should use ccache, keeping it disable by default for all
> native recipes.
>
> Signed-off-by: Angelo Ribeiro <[email protected]>
> ---
>  meta/classes/ccache.bbclass  | 11 ++++++++---
>  meta/conf/documentation.conf |  1 +
>  2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass
> index 34becb69d1..262db6672c 100644
> --- a/meta/classes/ccache.bbclass
> +++ b/meta/classes/ccache.bbclass
> @@ -28,6 +28,11 @@
>  # be shared between different builds.
>  CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
>
> +# ccache-native and cmake-native have a circular dependency
> +# that affects other native recipes, but not all.
> +# Allows to use ccache in specified native recipes.
> +CCACHE_NATIVE_RECIPES_ALLOWED ?= ""
> +
>  # ccahe removes CCACHE_BASEDIR from file path, so that hashes will be the 
> same
>  # in different builds.
>  export CCACHE_BASEDIR ?= "${TMPDIR}"
> @@ -54,9 +59,9 @@ python() {
>      Enable ccache for the recipe
>      """
>      pn = d.getVar('PN')
> -    # quilt-native doesn't need ccache since no c files
> -    if not (bb.data.inherits_class("native", d) or
> -            bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
> +    if (pn in d.getVar('CCACHE_NATIVE_RECIPES_ALLOWED') or
> +        not (bb.data.inherits_class("native", d) or
> +        bb.utils.to_boolean(d.getVar('CCACHE_DISABLE')))):
>          d.appendVar('DEPENDS', ' ccache-native')
>          d.setVar('CCACHE', 'ccache ')
>  }
> diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
> index 66b8e2f24f..fc1b4978fd 100644
> --- a/meta/conf/documentation.conf
> +++ b/meta/conf/documentation.conf
> @@ -106,6 +106,7 @@ BUSYBOX_SPLIT_SUID[doc] = "For the BusyBox recipe, 
> specifies whether to split th
>  #C
>
>  CACHE[doc]  = "The directory holding the cache of the metadata."
> +CCACHE_NATIVE_RECIPES_ALLOWED[doc] = "A list of native recipes to use 
> Ccache, this variable is useful to bypass a circular dependency between 
> ccache-native and cmake-native that inhibits to use Ccache in other native 
> recipes."
>  CFLAGS[doc] = "Flags passed to the C compiler for the target system. This 
> variable evaluates to the same as TARGET_CFLAGS."
>  CLASSOVERRIDE[doc] = "An internal variable specifying the special class 
> override that should currently apply (e.g. "class-target", "class-native", 
> and so forth)."
>  CLEANBROKEN[doc] = "Specifies if 'make clean' does not work for a recipe 
> (and therefore the build system should not try to use it during do_configure)"
> --
> 2.34.1
>
> The information in this communication may contain confidential or legally 
> privileged information. It is intended solely for the use of the individual 
> or entity it addresses and others authorized to receive it. If you are not an 
> intended recipient, you are hereby notified that any disclosure, copying, 
> distribution or action in reliance on the contents of this information is 
> strictly prohibited and may be unlawful. If you have received this 
> communication by error, please notify us immediately by responding to this 
> e-mail and then delete it from your system. Critical TechWorks is not liable 
> for the proper and complete transmission of the information in this 
> communication nor for any delay in its receipt
>
> This e-mail is environmentally friendly, just like Critical TechWorks, which 
> lives in a paper-free atmosphere. Therefore, please consider the environment 
> before printing it!
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#104469): 
https://lists.openembedded.org/g/openembedded-devel/message/104469
Mute This Topic: https://lists.openembedded.org/mt/100798880/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to