From cd83080983bdd476bf69ee785fe648aa79a97bbd Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 13:42:35 -0600 Subject: 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 Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 72 ++++++++++++++ documentation/ref-manual/ref-variables.xml | 147 +++++++++++++++++++++++++++++ 2 files changed, 219 insertions(+) (limited to 'documentation') diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e9ebd89700..1be7dd5c9b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -781,6 +781,78 @@ +
+ <filename>icecc.bbclass</filename> + + + The Icecream distributed compile support (icecc) + 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 + ICECC_CXX + and + ICEC_CC. + + + + For the cross compiler, the class creates a tar.gz + file that contains the Yocto Project toolchain and sets + ICECC_VERSION + 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 ICECC_PATH + is not set in your local.conf file, then the + class tries to locate it using which. + + If + 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 + icecc-create-env.bb. + + This script is a modified version and not the one that comes with + icecc. + + + + + 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 + ICECC_USER_PACKAGE_BL + and + ICECC_USER_CLASS_BL, + variables, respectively, in your local.conf file. + Doing so causes the OpenEmbedded build system to handle these + compilations locally. + + + + Additionally, you can list packages using the + ICECC_USER_PACKAGE_WL + variable in your local.conf file to force + icecc to be enabled for packages using an empty + PARALLEL_MAKE + variable. + +
+
<filename>mime.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 995d9f2d14..35f7b919b8 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2267,6 +2267,153 @@ I + ICECC_CC + + + The path to the GNU C compiler gcc. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + When the location for the GNU C compiler is not a + symbolic link, the class sets the variable to the location + of the compiler. + + + + + ICECC_CXX + + + The path to the GNU C++ compiler g++. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + When the location for the GNU C++ compiler is not a + symbolic link, the class sets the variable to the location + of the compiler. + + + + + ICECC_ENV_EXEC + + + Points to the icecc-create-env script + that you provide. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + If you do not point to a script that you provide, the + OpenEmbedded build system uses the default script provided + by the icecc-create-env.bb recipe, + which is a modified version and not the one that comes with + icecc. + + + + + ICECC_PATH + + + The location of the icecc binary. + You can set this variable in your + local.conf file. + If your local.conf file does not define + this variable, the + icecc + class attempts to define it by locating + icecc using which. + + + + + ICECC_USER_CLASS_BL + + + Identifies user classes that you do not want the + Icecream distributed compile support to consider. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + 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. + + + + + ICECC_USER_PACKAGE_BL + + + Identifies user packages that you do not want the + Icecream distributed compile support to consider. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + 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. + + + + + ICECC_USER_PACKAGE_WL + + + Identifies user packages that use an empty + PARALLEL_MAKE + variable that you want to force remote distributed + compilation on using the Icecream distributed compile + support. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + + ICECC_VERSION + + + The version of the cross-compiler used in the + cross-development toolchain. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + IMAGE_BASENAME -- cgit v1.2.3-54-g00ecf