[OE-core] [PATCH 00/14] Fix support for Icecream

Tomas Novotny tomas at novotny.cz
Wed Feb 7 20:59:13 UTC 2018


Hi Joshua,

On Tue,  6 Feb 2018 16:01:19 -0600
Joshua Watt <jpewhacker at gmail.com> wrote:

> Fix up support for using Icecream to do distributed builds, which
> appears to have been broken for some time.

we were using icecream a year ago and we set ICECC_CARET_WORKAROUND env
variable to 0 (in set_icecc_env() in icecc.bbclass). The default is 1 and it
causes a local rebuild when any warning is emitted.

I don't have exact numbers, but the extreme case was opencv. There was so
many warnings that distributed build on ~10 threads was slower than local
build on 4 threads.

I know that it is some kind of configuration, but I would set the default to
0. Or do it at least configurable.

> In addition, Icecream support can now be enabled in the SDK. When
> enabled, the SDK install process will check if the host supports icecc
> and if so will construct a proper environment tarball and use it when
> compiling.

Thanks for work on that, I'm keen to use it in our environment.

Tomas

> Most of the changes should be straightforward. icecc-create-env has
> been almost completely re-written but the changes were broken up into
> hopefully logical chunks.
> 
> The following changes since commit 385944254d0ef88bd6450a221a54cbcb40020b42:
> 
>   tcmode-default.inc: drop preferred version of gzip-native (2018-01-31 17:01:20 +0000)
> 
> are available in the Git repository at:
> 
>   git://push.yoctoproject.org/poky-contrib jpew/icecream
> 
> Joshua Watt (14):
>   icecc.bbclass: Move to shared work directory
>   icecc.bbclass: Fix STAGING_BINDIR_TOOLCHAIN usage
>   icecc.bbclass: Skip canadian-cross compiles
>   icecc-create-env: Reformat
>   icecc-create-env: Add /bin/true to environment
>   icecc-create-env: Use program interpreter for deps
>   icecc-create-env: Symlink alternate names
>   icecc-create-env: Archive directory
>   icecc-create-env: Fix executable rpaths
>   icecc-create-env: Add support for nativesdk
>   icecc-create-env: Allow multiple tool aliases
>   toolchain-shar-extract: Add post-relocate scripts
>   icecc-toolchain: Add SDK icecream setup
>   icecc.bbclass: Add IceCream support to SDK
> 
>  meta/classes/icecc.bbclass                         |  37 ++-
>  meta/classes/toolchain-scripts.bbclass             |  15 +
>  meta/files/toolchain-shar-extract.sh               |   8 +
>  meta/recipes-core/meta/meta-environment.bb         |   2 +
>  .../icecc-create-env/icecc-create-env              | 328 ++++++++++++++-------
>  ...e-env-native_0.1.bb => icecc-create-env_0.1.bb} |   4 +-
>  .../icecc-toolchain/icecc-toolchain/icecc-env.sh   |  37 +++
>  .../icecc-toolchain/icecc-toolchain/icecc-setup.sh |  43 +++
>  .../nativesdk-icecc-toolchain_0.1.bb               |  38 +++
>  9 files changed, 390 insertions(+), 122 deletions(-)
>  rename meta/recipes-devtools/icecc-create-env/{icecc-create-env-native_0.1.bb => icecc-create-env_0.1.bb} (98%)
>  create mode 100644 meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-env.sh
>  create mode 100644 meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc-setup.sh
>  create mode 100644 meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
> 



More information about the Openembedded-core mailing list