diff options
Diffstat (limited to 'documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html')
| -rw-r--r-- | documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html new file mode 100644 index 0000000000..ead3708607 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | <html> | ||
| 2 | <head> | ||
| 3 | <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | ||
| 4 | <title>7.20. Using External Source - externalsrc.bbclass</title> | ||
| 5 | <link rel="stylesheet" type="text/css" href="../book.css"> | ||
| 6 | <meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> | ||
| 7 | <link rel="home" href="index.html" title="The Yocto Project Reference Manual"> | ||
| 8 | <link rel="up" href="ref-classes.html" title="Chapter 7. Classes"> | ||
| 9 | <link rel="prev" href="ref-classes-useradd.html" title="7.19. Adding Users - useradd.bbclass"> | ||
| 10 | <link rel="next" href="ref-classes-others.html" title="7.21. Other Classes"> | ||
| 11 | </head> | ||
| 12 | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" title="7.20. Using External Source - externalsrc.bbclass"> | ||
| 13 | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> | ||
| 14 | <a name="ref-classes-externalsrc"></a>7.20. Using External Source - <code class="filename">externalsrc.bbclass</code> | ||
| 15 | </h2></div></div></div> | ||
| 16 | <p> | ||
| 17 | You can use this class to build software from source code that is external to the | ||
| 18 | OpenEmbedded build system. | ||
| 19 | In other words, your source code resides in an external tree outside of the Yocto Project. | ||
| 20 | Building software from an external source tree means that the normal fetch, unpack, and | ||
| 21 | patch process is not used. | ||
| 22 | </p> | ||
| 23 | <p> | ||
| 24 | To use the class, you need to define the | ||
| 25 | <a class="link" href="ref-variables-glos.html#var-S" title="S"><code class="filename">S</code></a> variable to point to the directory that contains the source files. | ||
| 26 | You also need to have your recipe inherit the <code class="filename">externalsrc.bbclass</code> class. | ||
| 27 | </p> | ||
| 28 | <p> | ||
| 29 | This class expects the source code to support recipe builds that use the | ||
| 30 | <a class="link" href="ref-variables-glos.html#var-B" title="B"><code class="filename">B</code></a> variable to point to the directory in | ||
| 31 | which the OpenEmbedded build system places the generated objects built from the recipes. | ||
| 32 | By default, the <code class="filename">B</code> directory is set to the following, which is separate from the | ||
| 33 | Source Directory (<code class="filename">S</code>): | ||
| 34 | </p> | ||
| 35 | <pre class="literallayout"> | ||
| 36 | ${WORKDIR}/${BPN}-{PV}/ | ||
| 37 | </pre> | ||
| 38 | <p> | ||
| 39 | See the glossary entries for the | ||
| 40 | <a class="link" href="ref-variables-glos.html#var-WORKDIR" title="WORKDIR"><code class="filename">WORKDIR</code></a>, | ||
| 41 | <a class="link" href="ref-variables-glos.html#var-BPN" title="BPN"><code class="filename">BPN</code></a>, | ||
| 42 | <a class="link" href="ref-variables-glos.html#var-PV" title="PV"><code class="filename">PV</code></a>, | ||
| 43 | <a class="link" href="ref-variables-glos.html#var-S" title="S"><code class="filename">S</code></a>, and | ||
| 44 | <a class="link" href="ref-variables-glos.html#var-B" title="B"><code class="filename">B</code></a> for more information. | ||
| 45 | </p> | ||
| 46 | <p> | ||
| 47 | You can build object files in the external tree by setting the | ||
| 48 | <code class="filename">B</code> variable equal to <code class="filename">"${S}"</code>. | ||
| 49 | However, this practice does not work well if you use the source for more than one variant | ||
| 50 | (i.e., "natives" such as <code class="filename">quilt-native</code>, | ||
| 51 | or "crosses" such as <code class="filename">gcc-cross</code>). | ||
| 52 | So, be sure there are no "native", "cross", or "multilib" variants of the recipe. | ||
| 53 | </p> | ||
| 54 | <p> | ||
| 55 | If you do want to build different variants of a recipe, you can use the | ||
| 56 | <a class="link" href="ref-variables-glos.html#var-BBCLASSEXTEND" title="BBCLASSEXTEND"><code class="filename">BBCLASSEXTEND</code></a> variable. | ||
| 57 | When you do, the <a class="link" href="ref-variables-glos.html#var-B" title="B"><code class="filename">B</code></a> variable must support the | ||
| 58 | recipe's ability to build variants in different working directories. | ||
| 59 | Most autotools-based recipes support separating these directories. | ||
| 60 | The OpenEmbedded build system defaults to using separate directories for <code class="filename">gcc</code> | ||
| 61 | and some kernel recipes. | ||
| 62 | Alternatively, you can make sure that separate recipes exist that each | ||
| 63 | use the <code class="filename">BBCLASSEXTEND</code> variable to build each variant. | ||
| 64 | The separate recipes can inherit a single target recipe. | ||
| 65 | </p> | ||
| 66 | <p> | ||
| 67 | For information on how to use this class, see the | ||
| 68 | "<a class="link" href="../dev-manual/building-software-from-an-external-source.html" target="_self">Building | ||
| 69 | Software from an External Source</a>" section in the Yocto Project Development Manual. | ||
| 70 | </p> | ||
| 71 | </div></body> | ||
| 72 | </html> | ||
