ref-manual: Added icecc class and several ICECC_* variables.
New variables added for: ICECC_CC ICECC_CXX ICECC_ENV_EXEC ICECC_PATH ICECC_USER_CLASS_BL ICECC_USER_PACKAGE_BL ICECC_USER_PACKAGE_WL ICECC_VERSION (From yocto-docs rev: 264b0e8ce7d867edbdcbfbdc5621bcf087c13f58) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
172cf55943
commit
cd83080983
|
@ -781,6 +781,78 @@
|
|||
</para>
|
||||
</section>
|
||||
|
||||
<section id='ref-classes-icecc'>
|
||||
<title><filename>icecc.bbclass</filename></title>
|
||||
|
||||
<para>
|
||||
The Icecream distributed compile support (<filename>icecc</filename>)
|
||||
class stages directories with symlinks from
|
||||
<filename>gcc</filename> and <filename>g++</filename> to
|
||||
<filename>icecc</filename>, for both native and cross compilers.
|
||||
Depending on each configure or compile, the OpenEmbedded build system
|
||||
adds the directories at the head of the <filename>PATH</filename> list
|
||||
and then sets
|
||||
<link linkend='var-ICECC_CXX'><filename>ICECC_CXX</filename></link>
|
||||
and
|
||||
<link linkend='var-ICECC_CC'><filename>ICEC_CC</filename></link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For the cross compiler, the class creates a <filename>tar.gz</filename>
|
||||
file that contains the Yocto Project toolchain and sets
|
||||
<link linkend='var-ICECC_VERSION'><filename>ICECC_VERSION</filename></link>
|
||||
accordingly.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The class handles all three different compile stages
|
||||
(i.e native ,cross-kernel and target) and creates the necessary
|
||||
environment <filename>tar.gz</filename> file to be used by the remote
|
||||
machines.
|
||||
The class also supports SDK generation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If <link linkend='var-ICECC_PATH'><filename>ICECC_PATH</filename></link>
|
||||
is not set in your <filename>local.conf</filename> file, then the
|
||||
class tries to locate it using <filename>which</filename>.
|
||||
|
||||
If
|
||||
<link linkend='var-ICECC_ENV_EXEC'><filename>ICECC_ENV_EXEC</filename></link>
|
||||
is set in your <filename>local.conf</filename> file, the variable should
|
||||
point to the <filename>icecc-create-env</filename> 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
|
||||
<filename>icecc-create-env.bb</filename>.
|
||||
<note>
|
||||
This script is a modified version and not the one that comes with
|
||||
<filename>icecc</filename>.
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you do not want the Icecream distributed compile support to apply
|
||||
to specific packages or classes, you can effectively "blacklist" them
|
||||
by listing the packages and classes using the
|
||||
<link linkend='var-ICECC_USER_PACKAGE_BL'><filename>ICECC_USER_PACKAGE_BL</filename></link>
|
||||
and
|
||||
<link linkend='var-ICECC_USER_CLASS_BL'><filename>ICECC_USER_CLASS_BL</filename></link>,
|
||||
variables, respectively, in your <filename>local.conf</filename> file.
|
||||
Doing so causes the OpenEmbedded build system to handle these
|
||||
compilations locally.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Additionally, you can list packages using the
|
||||
<link linkend='var-ICECC_USER_PACKAGE_WL'><filename>ICECC_USER_PACKAGE_WL</filename></link>
|
||||
variable in your <filename>local.conf</filename> file to force
|
||||
<filename>icecc</filename> to be enabled for packages using an empty
|
||||
<link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>
|
||||
variable.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='ref-classes-mime'>
|
||||
<title><filename>mime.bbclass</filename></title>
|
||||
|
||||
|
|
|
@ -2267,6 +2267,153 @@
|
|||
|
||||
<glossdiv id='var-glossary-i'><title>I</title>
|
||||
|
||||
<glossentry id='var-ICECC_CC'><glossterm>ICECC_CC</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
The path to the GNU C compiler <filename>gcc</filename>.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You do not set this variable by hand.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When the location for the GNU C compiler is not a
|
||||
symbolic link, the class sets the variable to the location
|
||||
of the compiler.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_CXX'><glossterm>ICECC_CXX</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
The path to the GNU C++ compiler <filename>g++</filename>.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You do not set this variable by hand.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When the location for the GNU C++ compiler is not a
|
||||
symbolic link, the class sets the variable to the location
|
||||
of the compiler.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_ENV_EXEC'><glossterm>ICECC_ENV_EXEC</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
Points to the <filename>icecc-create-env</filename> script
|
||||
that you provide.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You set this variable in your
|
||||
<filename>local.conf</filename> file.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you do not point to a script that you provide, the
|
||||
OpenEmbedded build system uses the default script provided
|
||||
by the <filename>icecc-create-env.bb</filename> recipe,
|
||||
which is a modified version and not the one that comes with
|
||||
<filename>icecc</filename>.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_PATH'><glossterm>ICECC_PATH</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
The location of the <filename>icecc</filename> binary.
|
||||
You can set this variable in your
|
||||
<filename>local.conf</filename> file.
|
||||
If your <filename>local.conf</filename> file does not define
|
||||
this variable, the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class attempts to define it by locating
|
||||
<filename>icecc</filename> using <filename>which</filename>.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_USER_CLASS_BL'><glossterm>ICECC_USER_CLASS_BL</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
Identifies user classes that you do not want the
|
||||
Icecream distributed compile support to consider.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You set this variable in your
|
||||
<filename>local.conf</filename> file.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When you list classes using this variable, you are
|
||||
"blacklisting" them from distributed compilation across
|
||||
remote hosts.
|
||||
Any classes you list will be distributed and compiled
|
||||
locally.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_USER_PACKAGE_BL'><glossterm>ICECC_USER_PACKAGE_BL</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
Identifies user packages that you do not want the
|
||||
Icecream distributed compile support to consider.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You set this variable in your
|
||||
<filename>local.conf</filename> file.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When you list packages using this variable, you are
|
||||
"blacklisting" them from distributed compilation across
|
||||
remote hosts.
|
||||
Any packages you list will be distributed and compiled
|
||||
locally.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_USER_PACKAGE_WL'><glossterm>ICECC_USER_PACKAGE_WL</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
Identifies user packages that use an empty
|
||||
<link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>
|
||||
variable that you want to force remote distributed
|
||||
compilation on using the Icecream distributed compile
|
||||
support.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You set this variable in your
|
||||
<filename>local.conf</filename> file.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-ICECC_VERSION'><glossterm>ICECC_VERSION</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
The version of the cross-compiler used in the
|
||||
cross-development toolchain.
|
||||
This variable is used by the
|
||||
<link linkend='ref-classes-icecc'><filename>icecc</filename></link>
|
||||
class.
|
||||
You do not set this variable by hand.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id='var-IMAGE_BASENAME'><glossterm>IMAGE_BASENAME</glossterm>
|
||||
<glossdef>
|
||||
<para>
|
||||
|
|
Loading…
Reference in New Issue