summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-classes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/ref-classes.xml')
-rw-r--r--documentation/ref-manual/ref-classes.xml72
1 files changed, 72 insertions, 0 deletions
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 @@
781 </para> 781 </para>
782</section> 782</section>
783 783
784<section id='ref-classes-icecc'>
785 <title><filename>icecc.bbclass</filename></title>
786
787 <para>
788 The Icecream distributed compile support (<filename>icecc</filename>)
789 class stages directories with symlinks from
790 <filename>gcc</filename> and <filename>g++</filename> to
791 <filename>icecc</filename>, for both native and cross compilers.
792 Depending on each configure or compile, the OpenEmbedded build system
793 adds the directories at the head of the <filename>PATH</filename> list
794 and then sets
795 <link linkend='var-ICECC_CXX'><filename>ICECC_CXX</filename></link>
796 and
797 <link linkend='var-ICECC_CC'><filename>ICEC_CC</filename></link>.
798 </para>
799
800 <para>
801 For the cross compiler, the class creates a <filename>tar.gz</filename>
802 file that contains the Yocto Project toolchain and sets
803 <link linkend='var-ICECC_VERSION'><filename>ICECC_VERSION</filename></link>
804 accordingly.
805 </para>
806
807 <para>
808 The class handles all three different compile stages
809 (i.e native ,cross-kernel and target) and creates the necessary
810 environment <filename>tar.gz</filename> file to be used by the remote
811 machines.
812 The class also supports SDK generation.
813 </para>
814
815 <para>
816 If <link linkend='var-ICECC_PATH'><filename>ICECC_PATH</filename></link>
817 is not set in your <filename>local.conf</filename> file, then the
818 class tries to locate it using <filename>which</filename>.
819
820 If
821 <link linkend='var-ICECC_ENV_EXEC'><filename>ICECC_ENV_EXEC</filename></link>
822 is set in your <filename>local.conf</filename> file, the variable should
823 point to the <filename>icecc-create-env</filename> script provided by
824 the user.
825 If you do not point to a user-provided script, the build system
826 uses the default script provided by the recipe
827 <filename>icecc-create-env.bb</filename>.
828 <note>
829 This script is a modified version and not the one that comes with
830 <filename>icecc</filename>.
831 </note>
832 </para>
833
834 <para>
835 If you do not want the Icecream distributed compile support to apply
836 to specific packages or classes, you can effectively "blacklist" them
837 by listing the packages and classes using the
838 <link linkend='var-ICECC_USER_PACKAGE_BL'><filename>ICECC_USER_PACKAGE_BL</filename></link>
839 and
840 <link linkend='var-ICECC_USER_CLASS_BL'><filename>ICECC_USER_CLASS_BL</filename></link>,
841 variables, respectively, in your <filename>local.conf</filename> file.
842 Doing so causes the OpenEmbedded build system to handle these
843 compilations locally.
844 </para>
845
846 <para>
847 Additionally, you can list packages using the
848 <link linkend='var-ICECC_USER_PACKAGE_WL'><filename>ICECC_USER_PACKAGE_WL</filename></link>
849 variable in your <filename>local.conf</filename> file to force
850 <filename>icecc</filename> to be enabled for packages using an empty
851 <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>
852 variable.
853 </para>
854</section>
855
784<section id='ref-classes-mime'> 856<section id='ref-classes-mime'>
785 <title><filename>mime.bbclass</filename></title> 857 <title><filename>mime.bbclass</filename></title>
786 858