icecc: improve interaction with sstate

* 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

(From OE-Core rev: f46cf86d0ec3b80ce526b4dad1b1eac5995969ec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa 2013-03-13 20:04:51 +01:00 committed by Richard Purdie
parent 8a9a93369c
commit 1ceb13dda1
1 changed files with 6 additions and 0 deletions

View File

@ -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