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