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 @@
+
+ icecc.bbclass
+
+
+ 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.
+
+
+
mime.bbclass
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