diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-05-16 15:00:47 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-05-24 17:16:35 +0100 |
| commit | e1b1f83208b52e44bf7b0edff3ebd03a512d24f3 (patch) | |
| tree | 190281b8240b1bd7caf0a0009529f5506e8c5c4b /documentation | |
| parent | 0122aced5f23962791c184ae1d1ef6644ff5c148 (diff) | |
| download | poky-e1b1f83208b52e44bf7b0edff3ebd03a512d24f3.tar.gz | |
dev-manual: Moved "Building Software from an External Source" section.
This section is now organized under the parent "Building" section in
the common tasks chapter.
(From yocto-docs rev: bc1bc9965cda547e45ff09a1c9e77be5e8c0a3d9)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 6734b1f4b9..d4b99bc69f 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -6145,6 +6145,81 @@ | |||
| 6145 | </itemizedlist> | 6145 | </itemizedlist> |
| 6146 | </para> | 6146 | </para> |
| 6147 | </section> | 6147 | </section> |
| 6148 | |||
| 6149 | <section id="building-software-from-an-external-source"> | ||
| 6150 | <title>Building Software from an External Source</title> | ||
| 6151 | |||
| 6152 | <para> | ||
| 6153 | By default, the OpenEmbedded build system uses the | ||
| 6154 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
| 6155 | when building source code. | ||
| 6156 | The build process involves fetching the source files, unpacking | ||
| 6157 | them, and then patching them if necessary before the build takes | ||
| 6158 | place. | ||
| 6159 | </para> | ||
| 6160 | |||
| 6161 | <para> | ||
| 6162 | Situations exist where you might want to build software from source | ||
| 6163 | files that are external to and thus outside of the | ||
| 6164 | OpenEmbedded build system. | ||
| 6165 | For example, suppose you have a project that includes a new BSP with | ||
| 6166 | a heavily customized kernel. | ||
| 6167 | And, you want to minimize exposing the build system to the | ||
| 6168 | development team so that they can focus on their project and | ||
| 6169 | maintain everyone's workflow as much as possible. | ||
| 6170 | In this case, you want a kernel source directory on the development | ||
| 6171 | machine where the development occurs. | ||
| 6172 | You want the recipe's | ||
| 6173 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | ||
| 6174 | variable to point to the external directory and use it as is, not | ||
| 6175 | copy it. | ||
| 6176 | </para> | ||
| 6177 | |||
| 6178 | <para> | ||
| 6179 | To build from software that comes from an external source, all you | ||
| 6180 | need to do is inherit the | ||
| 6181 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc</filename></ulink> | ||
| 6182 | class and then set the | ||
| 6183 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink> | ||
| 6184 | variable to point to your external source code. | ||
| 6185 | Here are the statements to put in your | ||
| 6186 | <filename>local.conf</filename> file: | ||
| 6187 | <literallayout class='monospaced'> | ||
| 6188 | INHERIT += "externalsrc" | ||
| 6189 | EXTERNALSRC_pn-<replaceable>myrecipe</replaceable> = "<replaceable>path-to-your-source-tree</replaceable>" | ||
| 6190 | </literallayout> | ||
| 6191 | </para> | ||
| 6192 | |||
| 6193 | <para> | ||
| 6194 | This next example shows how to accomplish the same thing by setting | ||
| 6195 | <filename>EXTERNALSRC</filename> in the recipe itself or in the | ||
| 6196 | recipe's append file: | ||
| 6197 | <literallayout class='monospaced'> | ||
| 6198 | EXTERNALSRC = "<replaceable>path</replaceable>" | ||
| 6199 | EXTERNALSRC_BUILD = "<replaceable>path</replaceable>" | ||
| 6200 | </literallayout> | ||
| 6201 | <note> | ||
| 6202 | In order for these settings to take effect, you must globally | ||
| 6203 | or locally inherit the | ||
| 6204 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc</filename></ulink> | ||
| 6205 | class. | ||
| 6206 | </note> | ||
| 6207 | </para> | ||
| 6208 | |||
| 6209 | <para> | ||
| 6210 | By default, <filename>externalsrc.bbclass</filename> builds | ||
| 6211 | the source code in a directory separate from the external source | ||
| 6212 | directory as specified by | ||
| 6213 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink>. | ||
| 6214 | If you need to have the source built in the same directory in | ||
| 6215 | which it resides, or some other nominated directory, you can set | ||
| 6216 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></ulink> | ||
| 6217 | to point to that directory: | ||
| 6218 | <literallayout class='monospaced'> | ||
| 6219 | EXTERNALSRC_BUILD_pn-<replaceable>myrecipe</replaceable> = "<replaceable>path-to-your-source-tree</replaceable>" | ||
| 6220 | </literallayout> | ||
| 6221 | </para> | ||
| 6222 | </section> | ||
| 6148 | </section> | 6223 | </section> |
| 6149 | 6224 | ||
| 6150 | 6225 | ||
| @@ -9992,81 +10067,6 @@ | |||
| 9992 | </section> | 10067 | </section> |
| 9993 | </section> | 10068 | </section> |
| 9994 | 10069 | ||
| 9995 | <section id="building-software-from-an-external-source"> | ||
| 9996 | <title>Building Software from an External Source</title> | ||
| 9997 | |||
| 9998 | <para> | ||
| 9999 | By default, the OpenEmbedded build system uses the | ||
| 10000 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
| 10001 | when building source code. | ||
| 10002 | The build process involves fetching the source files, unpacking | ||
| 10003 | them, and then patching them if necessary before the build takes | ||
| 10004 | place. | ||
| 10005 | </para> | ||
| 10006 | |||
| 10007 | <para> | ||
| 10008 | Situations exist where you might want to build software from source | ||
| 10009 | files that are external to and thus outside of the | ||
| 10010 | OpenEmbedded build system. | ||
| 10011 | For example, suppose you have a project that includes a new BSP with | ||
| 10012 | a heavily customized kernel. | ||
| 10013 | And, you want to minimize exposing the build system to the | ||
| 10014 | development team so that they can focus on their project and | ||
| 10015 | maintain everyone's workflow as much as possible. | ||
| 10016 | In this case, you want a kernel source directory on the development | ||
| 10017 | machine where the development occurs. | ||
| 10018 | You want the recipe's | ||
| 10019 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | ||
| 10020 | variable to point to the external directory and use it as is, not | ||
| 10021 | copy it. | ||
| 10022 | </para> | ||
| 10023 | |||
| 10024 | <para> | ||
| 10025 | To build from software that comes from an external source, all you | ||
| 10026 | need to do is inherit the | ||
| 10027 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc</filename></ulink> | ||
| 10028 | class and then set the | ||
| 10029 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink> | ||
| 10030 | variable to point to your external source code. | ||
| 10031 | Here are the statements to put in your | ||
| 10032 | <filename>local.conf</filename> file: | ||
| 10033 | <literallayout class='monospaced'> | ||
| 10034 | INHERIT += "externalsrc" | ||
| 10035 | EXTERNALSRC_pn-<replaceable>myrecipe</replaceable> = "<replaceable>path-to-your-source-tree</replaceable>" | ||
| 10036 | </literallayout> | ||
| 10037 | </para> | ||
| 10038 | |||
| 10039 | <para> | ||
| 10040 | This next example shows how to accomplish the same thing by setting | ||
| 10041 | <filename>EXTERNALSRC</filename> in the recipe itself or in the | ||
| 10042 | recipe's append file: | ||
| 10043 | <literallayout class='monospaced'> | ||
| 10044 | EXTERNALSRC = "<replaceable>path</replaceable>" | ||
| 10045 | EXTERNALSRC_BUILD = "<replaceable>path</replaceable>" | ||
| 10046 | </literallayout> | ||
| 10047 | <note> | ||
| 10048 | In order for these settings to take effect, you must globally | ||
| 10049 | or locally inherit the | ||
| 10050 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc</filename></ulink> | ||
| 10051 | class. | ||
| 10052 | </note> | ||
| 10053 | </para> | ||
| 10054 | |||
| 10055 | <para> | ||
| 10056 | By default, <filename>externalsrc.bbclass</filename> builds | ||
| 10057 | the source code in a directory separate from the external source | ||
| 10058 | directory as specified by | ||
| 10059 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink>. | ||
| 10060 | If you need to have the source built in the same directory in | ||
| 10061 | which it resides, or some other nominated directory, you can set | ||
| 10062 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></ulink> | ||
| 10063 | to point to that directory: | ||
| 10064 | <literallayout class='monospaced'> | ||
| 10065 | EXTERNALSRC_BUILD_pn-<replaceable>myrecipe</replaceable> = "<replaceable>path-to-your-source-tree</replaceable>" | ||
| 10066 | </literallayout> | ||
| 10067 | </para> | ||
| 10068 | </section> | ||
| 10069 | |||
| 10070 | <section id="selecting-an-initialization-manager"> | 10070 | <section id="selecting-an-initialization-manager"> |
| 10071 | <title>Selecting an Initialization Manager</title> | 10071 | <title>Selecting an Initialization Manager</title> |
| 10072 | 10072 | ||
