diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-12-02 13:42:35 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-12-03 12:53:34 +0000 |
commit | cd83080983bdd476bf69ee785fe648aa79a97bbd (patch) | |
tree | 8c0d303358050ad90ee5cd60a732104422879f27 /documentation/ref-manual | |
parent | 172cf559433b8a471b4e6afab5fc387088754fa4 (diff) | |
download | poky-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/ref-manual')
-rw-r--r-- | documentation/ref-manual/ref-classes.xml | 72 | ||||
-rw-r--r-- | documentation/ref-manual/ref-variables.xml | 147 |
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> |