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> |
