summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-12-02 13:42:35 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-03 12:53:34 +0000
commitcd83080983bdd476bf69ee785fe648aa79a97bbd (patch)
tree8c0d303358050ad90ee5cd60a732104422879f27 /documentation
parent172cf559433b8a471b4e6afab5fc387088754fa4 (diff)
downloadpoky-cd83080983bdd476bf69ee785fe648aa79a97bbd.tar.gz
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>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/ref-classes.xml72
-rw-r--r--documentation/ref-manual/ref-variables.xml147
2 files changed, 219 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
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 @@
2267 2267
2268 <glossdiv id='var-glossary-i'><title>I</title> 2268 <glossdiv id='var-glossary-i'><title>I</title>
2269 2269
2270 <glossentry id='var-ICECC_CC'><glossterm>ICECC_CC</glossterm>
2271 <glossdef>
2272 <para>
2273 The path to the GNU C compiler <filename>gcc</filename>.
2274 This variable is used by the
2275 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2276 class.
2277 You do not set this variable by hand.
2278 </para>
2279
2280 <para>
2281 When the location for the GNU C compiler is not a
2282 symbolic link, the class sets the variable to the location
2283 of the compiler.
2284 </para>
2285 </glossdef>
2286 </glossentry>
2287
2288 <glossentry id='var-ICECC_CXX'><glossterm>ICECC_CXX</glossterm>
2289 <glossdef>
2290 <para>
2291 The path to the GNU C++ compiler <filename>g++</filename>.
2292 This variable is used by the
2293 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2294 class.
2295 You do not set this variable by hand.
2296 </para>
2297
2298 <para>
2299 When the location for the GNU C++ compiler is not a
2300 symbolic link, the class sets the variable to the location
2301 of the compiler.
2302 </para>
2303 </glossdef>
2304 </glossentry>
2305
2306 <glossentry id='var-ICECC_ENV_EXEC'><glossterm>ICECC_ENV_EXEC</glossterm>
2307 <glossdef>
2308 <para>
2309 Points to the <filename>icecc-create-env</filename> script
2310 that you provide.
2311 This variable is used by the
2312 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2313 class.
2314 You set this variable in your
2315 <filename>local.conf</filename> file.
2316 </para>
2317
2318 <para>
2319 If you do not point to a script that you provide, the
2320 OpenEmbedded build system uses the default script provided
2321 by the <filename>icecc-create-env.bb</filename> recipe,
2322 which is a modified version and not the one that comes with
2323 <filename>icecc</filename>.
2324 </para>
2325 </glossdef>
2326 </glossentry>
2327
2328 <glossentry id='var-ICECC_PATH'><glossterm>ICECC_PATH</glossterm>
2329 <glossdef>
2330 <para>
2331 The location of the <filename>icecc</filename> binary.
2332 You can set this variable in your
2333 <filename>local.conf</filename> file.
2334 If your <filename>local.conf</filename> file does not define
2335 this variable, the
2336 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2337 class attempts to define it by locating
2338 <filename>icecc</filename> using <filename>which</filename>.
2339 </para>
2340 </glossdef>
2341 </glossentry>
2342
2343 <glossentry id='var-ICECC_USER_CLASS_BL'><glossterm>ICECC_USER_CLASS_BL</glossterm>
2344 <glossdef>
2345 <para>
2346 Identifies user classes that you do not want the
2347 Icecream distributed compile support to consider.
2348 This variable is used by the
2349 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2350 class.
2351 You set this variable in your
2352 <filename>local.conf</filename> file.
2353 </para>
2354
2355 <para>
2356 When you list classes using this variable, you are
2357 "blacklisting" them from distributed compilation across
2358 remote hosts.
2359 Any classes you list will be distributed and compiled
2360 locally.
2361 </para>
2362 </glossdef>
2363 </glossentry>
2364
2365 <glossentry id='var-ICECC_USER_PACKAGE_BL'><glossterm>ICECC_USER_PACKAGE_BL</glossterm>
2366 <glossdef>
2367 <para>
2368 Identifies user packages that you do not want the
2369 Icecream distributed compile support to consider.
2370 This variable is used by the
2371 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2372 class.
2373 You set this variable in your
2374 <filename>local.conf</filename> file.
2375 </para>
2376
2377 <para>
2378 When you list packages using this variable, you are
2379 "blacklisting" them from distributed compilation across
2380 remote hosts.
2381 Any packages you list will be distributed and compiled
2382 locally.
2383 </para>
2384 </glossdef>
2385 </glossentry>
2386
2387 <glossentry id='var-ICECC_USER_PACKAGE_WL'><glossterm>ICECC_USER_PACKAGE_WL</glossterm>
2388 <glossdef>
2389 <para>
2390 Identifies user packages that use an empty
2391 <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>
2392 variable that you want to force remote distributed
2393 compilation on using the Icecream distributed compile
2394 support.
2395 This variable is used by the
2396 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2397 class.
2398 You set this variable in your
2399 <filename>local.conf</filename> file.
2400 </para>
2401 </glossdef>
2402 </glossentry>
2403
2404 <glossentry id='var-ICECC_VERSION'><glossterm>ICECC_VERSION</glossterm>
2405 <glossdef>
2406 <para>
2407 The version of the cross-compiler used in the
2408 cross-development toolchain.
2409 This variable is used by the
2410 <link linkend='ref-classes-icecc'><filename>icecc</filename></link>
2411 class.
2412 You do not set this variable by hand.
2413 </para>
2414 </glossdef>
2415 </glossentry>
2416
2270 <glossentry id='var-IMAGE_BASENAME'><glossterm>IMAGE_BASENAME</glossterm> 2417 <glossentry id='var-IMAGE_BASENAME'><glossterm>IMAGE_BASENAME</glossterm>
2271 <glossdef> 2418 <glossdef>
2272 <para> 2419 <para>