diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-02-28 12:19:43 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-08 12:08:04 -0800 |
commit | 36e3daf7f924fbf15ab9c1764c424046adffff5e (patch) | |
tree | da22b716ee37498ee8df35ff390405ca869fcac0 | |
parent | ad5de9715af23781fc11891d87014c74d5b80206 (diff) | |
download | poky-36e3daf7f924fbf15ab9c1764c424046adffff5e.tar.gz |
documentation/poky-ref-manual/ref-classes.xml: New externalsrc class
Added a new class description for externalsrc.bbclass. This
addition was driven by feedback from two community members
inside Intel whose feedback was picked up by Darren Hart.
Reported-by: Inaky Perez-Gonzales <inaky.perez-gonzales@intel.com>
Reported-by: Mohamed Abbas <mohamed.abbas@intel.com>
(From yocto-docs rev: 1217d26993f9e5f3e6914e366b1fed34debbd242)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | documentation/poky-ref-manual/ref-classes.xml | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/documentation/poky-ref-manual/ref-classes.xml b/documentation/poky-ref-manual/ref-classes.xml index 9238ba2406..09b3161fb7 100644 --- a/documentation/poky-ref-manual/ref-classes.xml +++ b/documentation/poky-ref-manual/ref-classes.xml | |||
@@ -519,6 +519,66 @@ | |||
519 | </para> | 519 | </para> |
520 | </section> | 520 | </section> |
521 | 521 | ||
522 | <section id='ref-classes-externalsrc'> | ||
523 | <title>Using External Source - <filename>externalsrc.bbclass</filename></title> | ||
524 | |||
525 | <para> | ||
526 | You can use this class to build software from source code that is external to the | ||
527 | Yocto Project build system. | ||
528 | In other words, your source code resides in an external tree outside of the Yocto Project. | ||
529 | Building software from an external source tree means that the normal fetch, unpack, and | ||
530 | patch process is not used. | ||
531 | </para> | ||
532 | |||
533 | <para> | ||
534 | To use the class, you need to define the | ||
535 | <link linkend='var-S'><filename>S</filename></link> variable to point to the directory that contains the source files. | ||
536 | You also need to have your recipe inherit the <filename>externalsrc.bbclass</filename> class. | ||
537 | </para> | ||
538 | |||
539 | <para> | ||
540 | This class expects the source code to support recipe builds that use the | ||
541 | <link linkend='var-B'><filename>B</filename></link> variable to point to the directory in | ||
542 | which the Yocto Project build system places the generated objects built from the recipes. | ||
543 | By default, the <filename>B</filename> directory is set to the following, which is separate from the | ||
544 | source directory (<filename>S</filename>): | ||
545 | <literallayout class='monospaced'> | ||
546 | ${WORKDIR}/${BPN}-{PV}/ | ||
547 | </literallayout> | ||
548 | See the glossary entries for the | ||
549 | <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>, | ||
550 | <link linkend='var-BPN'><filename>BPN</filename></link>, | ||
551 | <link linkend='var-PV'><filename>PV</filename></link>, | ||
552 | <link linkend='var-S'><filename>S</filename></link>, and | ||
553 | <link linkend='var-B'><filename>B</filename></link> for more information. | ||
554 | </para> | ||
555 | |||
556 | <para> | ||
557 | You can build object files in the external tree by setting the | ||
558 | <filename>B</filename> variable equal to <filename>"${S}"</filename>. | ||
559 | However, this practice does not work well if you use the source for more than one variant | ||
560 | (i.e., "natives" such as <filename>quilt-native</filename>, | ||
561 | or "crosses" such as <filename>gcc-cross</filename>). | ||
562 | So, be sure there are no "native", "cross", or "multilib" variants of the recipe. | ||
563 | </para> | ||
564 | |||
565 | <para> | ||
566 | If you do want to build different variants of a recipe, you can use the | ||
567 | <link linkend='var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link> variable. | ||
568 | When you do, the <link linkend='var-B'><filename>B</filename></link> variable must support the | ||
569 | recipe's ability to build variants in different working directories. | ||
570 | Alternatively, you can make sure that separate recipes exist that each | ||
571 | use the <filename>BBCLASSEXTEND</filename> variable to build each variant. | ||
572 | The separate recipes can inherit a single target recipe. | ||
573 | </para> | ||
574 | |||
575 | <para> | ||
576 | For information on how to use this class, see the | ||
577 | "<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#building-software-from-an-external-source'>Building | ||
578 | Software from an External Source</ulink>" section in the Yocto Project Development Manual. | ||
579 | </para> | ||
580 | </section> | ||
581 | |||
522 | <section id='ref-classes-others'> | 582 | <section id='ref-classes-others'> |
523 | <title>Other Classes</title> | 583 | <title>Other Classes</title> |
524 | 584 | ||