[OE-core] [PATCH] bitbake: do not set CCACHE_DISABLE=0
Richard Purdie
richard.purdie at linuxfoundation.org
Sun Jul 22 08:41:09 UTC 2012
On Sat, 2012-07-21 at 13:55 +0200, Enrico Scholz wrote:
> ccache checks for existence of environment; not for its value:
>
> ---- ccache-3.1.7/ccache.c ---
> if (getenv("CCACHE_DISABLE")) {
> cc_log("ccache is disabled");
>
> Hence, avoid setting of $CCACHE_DISABLE instead of assigning '0'.
>
> Unfortunately, bitbake has a similar behavior when evaluating 'export'
> and 'unexport' flags so that this variable must be set in a python
> function instead of declaring it in bitbake.conf.
>
> Signed-off-by: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
> ---
> meta/classes/base.bbclass | 8 ++++++++
> meta/conf/bitbake.conf | 3 ---
> 2 files changed, 8 insertions(+), 3 deletions(-)
Why doesn't CCACHE_DISABLE[unexport] = "1" help here? Doesn't the
unexport flag stop this entering the environment?
Cheers,
Richard
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 1f76023..9f9c803 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -309,6 +309,14 @@ do_build () {
> python () {
> import exceptions, string, re
>
> + # Disable ccache explicitly if CCACHE is null since gcc may be a
> + # symlink of ccache some distributions (e.g., Fedora 17). Please
> + # note that only the existence of $CCACHE_DISABLE matters; the
> + # value is ignored.
> + if d.getVar('CCACHE', True) == '':
> + d.setVar('CCACHE_DISABLE', True)
> + d.setVarFlag('CCACHE_DISABLE', 'export', True)
> +
> # Handle PACKAGECONFIG
> #
> # These take the form:
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index a8a1665..1bb66ad 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -420,9 +420,6 @@ export PATH
> ##################################################################
>
> CCACHE ??= ""
> -# Disable ccache explicitly if CCACHE is null since gcc may be a symlink
> -# of ccache some distributions (e.g., Fedora 17).
> -export CCACHE_DISABLE ??= "${@[0,1][d.getVar('CCACHE', True) == '']}"
> # Assign CCACHE_DIR a default value to fix a bug of ccache 3.1.7,
> # since it would always create CCACHE_DIR/.ccache even if
> # CCACHE_DISABLE = 1.
More information about the Openembedded-core
mailing list