]> code.ossystems Code Review - openembedded-core.git/commit
ccache: Disable CCACHE_HASHDIR by default
authorMike Crowe <mac@mcrowe.com>
Wed, 15 Mar 2017 12:29:16 +0000 (12:29 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 17 Mar 2017 16:52:44 +0000 (16:52 +0000)
commitfb7a5cdcff19bb44a25a51e20de0440c1ebcc057
treeccd5532c73d0d30dc1cb3be551023b18c40d637d
parent2815f819c1a620949213fa952557c03f7d594ed6
ccache: Disable CCACHE_HASHDIR by default

As of ccache-3.3, ccache tries to ensure that the paths in the debug
information are always correct. It does this by including the current
directory in the hash if debug output is enabled. It includes support for
detecting remapping via a single -fdebug-prefix-map argument uses the
remapped directory in the hash instead.

The DEBUG_PREFIX_MAP in bitbake.conf remaps the source directory, target
sysroot and native sysroot separately which results in multiple
-fdebug-prefix-map arguments. Although ccache passes all these arguments
through to the compiler, it only enables the special behaviour described
above if the last one matches the current directory. (See
https://github.com/ccache/ccache/issues/163 )

Even if ccache did correctly honour each of the remapping arguments, the
hashes would still be different every time ${PV} or ${PR} change because
the default DEBUG_PREFIX_MAP contains maps to paths including them.

So it seems that for ccache to be of any use with this configuration,
CCACHE_NOHASHDIR needs to be set.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Helped-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/ccache.bbclass