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

Joshua Watt jpewhacker at gmail.com
Wed Feb 7 21:19:12 UTC 2018


On Wed, 2018-02-07 at 21:59 +0100, Tomas Novotny wrote:
> 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.

Ok, that make sense. I'll add a patch to default to
ICECC_CARET_WORKAROUND to my patch series. Thanks for the heads up!

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