diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 7daaa7e3aa..5ce23e50f3 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -12,17 +12,22 @@ # # - Disable ccache for a recipe # Add the following line to the recipe if it can't be built with ccache: -# CCACHE_DISABLE = '1' +# CCACHE_DISABLE = "1" # # - Share ccache files between different builds # Set CCACHE_TOP_DIR to a shared dir -# CCACHE_TOP_DIR = /path/to/shared_ccache/ +# CCACHE_TOP_DIR = "/path/to/shared_ccache/" # -# - TO debug ccahe +# - To debug ccache # export CCACHE_DEBUG = "1" # export CCACHE_LOGFILE = "${CCACHE_DIR}/logfile.log" # And also set PARALLEL_MAKE = "-j 1" to get make the log in order # +# By default this class will only use ccache for target builds, and build +# our own ccache-native. It is possible to use a host-provided ccache that +# can then be used by native recipes too by setting: +# ASSUME_PROVIDED += "ccache-native" +# HOSTTOOLS += "ccache" # Set it to a shared location for different builds, so that cache files can # be shared between different builds. @@ -46,7 +51,8 @@ python() { Enable ccache for the recipe """ pn = d.getVar('PN') - if (pn in d.getVar('CCACHE_NATIVE_RECIPES_ALLOWED') or + if ("ccache" in d.getVar("HOSTTOOLS").split() or + 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')