mirror of
https://git.yoctoproject.org/poky
synced 2026-09-12 06:49:32 +02:00
Drop the icecc class and related variables
Dropped by commit ecf8c386cf83 ("classes/recipes-devtools: Drop icecc
from OE-Core") in OE-Core.
Remove documentation for the class and the related variables. Remove the
references to this class.
(From yocto-docs rev: 30c9413c5106bcbcc1600ef16b8d0cece86d8158)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
16d3f5b3b0
commit
a15109ab52
@@ -1143,80 +1143,6 @@ The :ref:`ref-classes-gzipnative` class enables the use of different native vers
|
||||
``gzip`` and ``pigz`` rather than the versions of these tools from the
|
||||
build host.
|
||||
|
||||
.. _ref-classes-icecc:
|
||||
|
||||
``icecc``
|
||||
=========
|
||||
|
||||
The :ref:`ref-classes-icecc` class supports
|
||||
`Icecream <https://github.com/icecc/icecream>`__, which facilitates
|
||||
taking compile jobs and distributing them among remote machines.
|
||||
|
||||
The class stages directories with symlinks from ``gcc`` and ``g++`` to
|
||||
``icecc``, for both native and cross compilers. Depending on each
|
||||
configure or compile, the OpenEmbedded build system adds the directories
|
||||
at the head of the ``PATH`` list and then sets the ``ICECC_CXX`` and
|
||||
``ICECC_CC`` variables, which are the paths to the ``g++`` and ``gcc``
|
||||
compilers, respectively.
|
||||
|
||||
For the cross compiler, the class creates a ``tar.gz`` file that
|
||||
contains the Yocto Project toolchain and sets ``ICECC_VERSION``, which
|
||||
is the version of the cross-compiler used in the cross-development
|
||||
toolchain, accordingly.
|
||||
|
||||
The class handles all three different compile stages (i.e native,
|
||||
cross-kernel and target) and creates the necessary environment
|
||||
``tar.gz`` file to be used by the remote machines. The class also
|
||||
supports SDK generation.
|
||||
|
||||
If :term:`ICECC_PATH` is not set in your
|
||||
``local.conf`` file, then the class tries to locate the ``icecc`` binary
|
||||
using ``which``. If :term:`ICECC_ENV_EXEC` is set
|
||||
in your ``local.conf`` file, the variable should point to the
|
||||
``icecc-create-env`` script provided by the user. If you do not point to
|
||||
a user-provided script, the build system uses the default script
|
||||
provided by the recipe :oe_git:`icecc-create-env_0.1.bb
|
||||
</openembedded-core/tree/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb>`.
|
||||
|
||||
.. note::
|
||||
|
||||
This script is a modified version and not the one that comes with
|
||||
``icecream``.
|
||||
|
||||
If you do not want the Icecream distributed compile support to apply to
|
||||
specific recipes or classes, you can ask them to be ignored by Icecream
|
||||
by listing the recipes and classes using the
|
||||
:term:`ICECC_RECIPE_DISABLE` and
|
||||
:term:`ICECC_CLASS_DISABLE` variables,
|
||||
respectively, in your ``local.conf`` file. Doing so causes the
|
||||
OpenEmbedded build system to handle these compilations locally.
|
||||
|
||||
Additionally, you can list recipes using the
|
||||
:term:`ICECC_RECIPE_ENABLE` variable in
|
||||
your ``local.conf`` file to force ``icecc`` to be enabled for recipes
|
||||
using an empty :term:`PARALLEL_MAKE` variable.
|
||||
|
||||
Inheriting the :ref:`ref-classes-icecc` class changes all sstate signatures.
|
||||
Consequently, if a development team has a dedicated build system that
|
||||
populates :term:`SSTATE_MIRRORS` and they want to
|
||||
reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build
|
||||
system need to either inherit the :ref:`ref-classes-icecc` class or nobody should.
|
||||
|
||||
At the distribution level, you can inherit the :ref:`ref-classes-icecc` class to be
|
||||
sure that all builders start with the same sstate signatures. After
|
||||
inheriting the class, you can then disable the feature by setting the
|
||||
:term:`ICECC_DISABLED` variable to "1" as follows::
|
||||
|
||||
INHERIT_DISTRO:append = " icecc"
|
||||
ICECC_DISABLED ??= "1"
|
||||
|
||||
This practice
|
||||
makes sure everyone is using the same signatures but also requires
|
||||
individuals that do want to use Icecream to enable the feature
|
||||
individually as follows in your ``local.conf`` file::
|
||||
|
||||
ICECC_DISABLED = ""
|
||||
|
||||
.. _ref-classes-image:
|
||||
|
||||
``image``
|
||||
|
||||
Reference in New Issue
Block a user