[oe-commits] [openembedded-core] 51/52: ccache: Disable CCACHE_HASHDIR by default
git at git.openembedded.org
git at git.openembedded.org
Thu Mar 16 22:23:16 UTC 2017
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
commit 9b62d1b1b6517a2755cd53e50752f73cffd12992
Author: Mike Crowe <mac at mcrowe.com>
AuthorDate: Wed Mar 15 12:29:16 2017 +0000
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 at mcrowe.com>
Helped-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
meta/classes/ccache.bbclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass
index 76c8828..9713fea 100644
--- a/meta/classes/ccache.bbclass
+++ b/meta/classes/ccache.bbclass
@@ -2,6 +2,12 @@ CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"
export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_HOST_SYS}/${PN}"
CCACHE_DISABLE[unexport] = "1"
+# We need to stop ccache considering the current directory or the
+# debug-prefix-map target directory to be significant when calculating
+# its hash. Without this the cache would be invalidated every time
+# ${PV} or ${PR} change.
+export CCACHE_NOHASHDIR ?= "1"
+
DEPENDS_append_class-target = " ccache-native"
DEPENDS[vardepvalueexclude] = " ccache-native"
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list