From patchwork Wed Mar 13 19:04:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: icecc: improve interaction with sstate Date: Wed, 13 Mar 2013 19:04:51 -0000 From: Martin Jansa X-Patchwork-Id: 46159 Message-Id: <1363201491-27766-1-git-send-email-Martin.Jansa@gmail.com> To: openembedded-core@lists.openembedded.org * exclude ICECC_PARALLEL_MAKE (like PARALLEL_MAKE is) * add ICECC_DISBLED to be able to disable whole icecc functionality while keeping icecc enabled. This is useful when you want multiple builders sharing same sstate-cache, but only some of them using icecc. * inheriting icecc changes all checksums because of do_*_prepends calls, but because icecc should not influence binary output of task we should get same checksums for tasks build with and without icecc * ICECC_DISABLED when set (to any non-empty value will disable icecc env modifications but while keeping same sstate checksum Signed-off-by: Martin Jansa --- meta/classes/icecc.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index ae74050..f3e89a9 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -26,6 +26,8 @@ #Error checking is kept to minimum so double check any parameters you pass to the class ########################################################################################### +BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED" + ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env" def icecc_dep_prepend(d): @@ -160,6 +162,10 @@ def icc_get_tool(bb, d, tool): return os.path.join(ice_dir, "%s-%s" % (target_sys, tool)) set_icecc_env() { + if [ "x${ICECC_DISABLED}" != "x" ] + then + return + fi ICECC_VERSION="${@icc_version(bb, d)}" if [ "x${ICECC_VERSION}" = "x" ] then