summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/ref-terms.rst751
-rw-r--r--documentation/ref-manual/ref-variables.rst1527
2 files changed, 1152 insertions, 1126 deletions
diff --git a/documentation/ref-manual/ref-terms.rst b/documentation/ref-manual/ref-terms.rst
index 27335fb777..59100e9c88 100644
--- a/documentation/ref-manual/ref-terms.rst
+++ b/documentation/ref-manual/ref-terms.rst
@@ -4,368 +4,389 @@
4Yocto Project Terms 4Yocto Project Terms
5******************* 5*******************
6 6
7Following is a list of terms and definitions users new to the Yocto 7Following is a list of terms and definitions users new to the Yocto Project
8Project development environment might find helpful. While some of these 8development environment might find helpful. While some of these terms are
9terms are universal, the list includes them just in case: 9universal, the list includes them just in case:
10 10
11- *Append Files:* Files that append build information to a recipe file. 11.. glossary::
12 Append files are known as BitBake append files and ``.bbappend`` 12
13 files. The OpenEmbedded build system expects every append file to 13 Append Files
14 have a corresponding recipe (``.bb``) file. Furthermore, the append 14 Files that append build information to a recipe file. Append files are
15 file and corresponding recipe file must use the same root filename. 15 known as BitBake append files and ``.bbappend`` files. The OpenEmbedded
16 The filenames can differ only in the file type suffix used (e.g. 16 build system expects every append file to have a corresponding recipe
17 ``formfactor_0.0.bb`` and ``formfactor_0.0.bbappend``). 17 (``.bb``) file. Furthermore, the append file and corresponding recipe file
18 18 must use the same root filename. The filenames can differ only in the
19 Information in append files extends or overrides the information in 19 file type suffix used (e.g. ``formfactor_0.0.bb`` and
20 the similarly-named recipe file. For an example of an append file in 20 ``formfactor_0.0.bbappend``).
21 use, see the "`Using .bbappend Files in Your 21
22 Layer <&YOCTO_DOCS_DEV_URL;#using-bbappend-files>`__" section in the 22 Information in append files extends or overrides the information in the
23 Yocto Project Development Tasks Manual. 23 similarly-named recipe file. For an example of an append file in use, see
24 24 the ":ref:`dev-manual/dev-manual-common-tasks:Using .bbappend Files in
25 When you name an append file, you can use the "``%``" wildcard 25 Your Layer`" section in the Yocto Project Development Tasks Manual.
26 character to allow for matching recipe names. For example, suppose 26
27 you have an append file named as follows: busybox_1.21.%.bbappend 27 When you name an append file, you can use the "``%``" wildcard character
28 That append file would match any ``busybox_1.21.``\ x\ ``.bb`` 28 to allow for matching recipe names. For example, suppose you have an
29 version of the recipe. So, the append file would match any of the 29 append file named as follows: busybox_1.21.%.bbappend That append file
30 following recipe names: busybox_1.21.1.bb busybox_1.21.2.bb 30 would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So,
31 busybox_1.21.3.bb busybox_1.21.10.bb busybox_1.21.25.bb 31 the append file would match any of the following recipe names:
32 32
33 .. note:: 33 .. code-block:: shell
34 34
35 The use of the " 35 busybox_1.21.1.bb
36 % 36 busybox_1.21.2.bb
37 " character is limited in that it only works directly in front of 37 busybox_1.21.3.bb
38 the 38 busybox_1.21.10.bb
39 .bbappend 39 busybox_1.21.25.bb
40 portion of the append file's name. You cannot use the wildcard 40
41 character in any other location of the name. 41 .. note::
42 42
43- *BitBake:* The task executor and scheduler used by the OpenEmbedded 43 The use of the " % " character is limited in that it only works
44 build system to build images. For more information on BitBake, see 44 directly in front of the .bbappend portion of the append file's
45 the `BitBake User Manual <&YOCTO_DOCS_BB_URL;>`__. 45 name. You cannot use the wildcard character in any other location of
46 46 the name.
47- *Board Support Package (BSP):* A group of drivers, definitions, and 47
48 other components that provide support for a specific hardware 48 BitBake
49 configuration. For more information on BSPs, see the `Yocto Project 49 The task executor and scheduler used by the OpenEmbedded build system to
50 Board Support Package (BSP) Developer's 50 build images. For more information on BitBake, see the `BitBake User
51 Guide <&YOCTO_DOCS_BSP_URL;>`__. 51 Manual <&YOCTO_DOCS_BB_URL;>`__.
52 52
53- *Build Directory:* This term refers to the area used by the 53 Board Support Package (BSP)
54 OpenEmbedded build system for builds. The area is created when you 54 A group of drivers, definitions, and other components that provide support
55 ``source`` the setup environment script that is found in the Source 55 for a specific hardware configuration. For more information on BSPs, see
56 Directory (i.e. ````` <#structure-core-script>`__). The 56 the :ref:`bsp-guide/bsp-guide:Yocto Project Board Support Package
57 ```TOPDIR`` <#var-TOPDIR>`__ variable points to the Build Directory. 57 Developer's Guide`.
58 58
59 You have a lot of flexibility when creating the Build Directory. 59 Build Directory
60 Following are some examples that show how to create the directory. 60 This term refers to the area used by the OpenEmbedded build system for
61 The examples assume your `Source Directory <#source-directory>`__ is 61 builds. The area is created when you ``source`` the setup environment
62 named ``poky``: 62 script that is found in the Source Directory
63 63 (i.e. :ref:`ref-manual/ref-structure:\`\`oe-init-build-env\`\``). The
64 - Create the Build Directory inside your Source Directory and let 64 :term:`TOPDIR` variable points to the Build Directory.
65 the name of the Build Directory default to ``build``: $ cd 65
66 $HOME/poky $ source OE_INIT_FILE 66 You have a lot of flexibility when creating the Build Directory.
67 67 Following are some examples that show how to create the directory. The
68 - Create the Build Directory inside your home directory and 68 examples assume your :term:`Source Directory` is named ``poky``:
69 specifically name it ``test-builds``: $ cd $HOME $ source 69
70 poky/OE_INIT_FILE test-builds 70 - Create the Build Directory inside your Source Directory and let
71 71 the name of the Build Directory default to ``build``:
72 - Provide a directory path and specifically name the Build 72
73 Directory. Any intermediate folders in the pathname must exist. 73 .. code-block:: shell
74 This next example creates a Build Directory named 74
75 ``YP-POKYVERSION`` in your home directory within the existing 75 $ cd $HOME/poky
76 directory ``mybuilds``: $ cd $HOME $ source 76 $ source oe-init-build-env
77 $HOME/poky/OE_INIT_FILE $HOME/mybuilds/YP-POKYVERSION 77
78 78 - Create the Build Directory inside your home directory and
79 .. note:: 79 specifically name it ``test-builds``:
80 80
81 By default, the Build Directory contains 81 .. code-block:: shell
82 TMPDIR 82
83 , which is a temporary directory the build system uses for its 83 $ cd $HOME
84 work. 84 $ source poky/oe-init-build-env test-builds
85 TMPDIR 85
86 cannot be under NFS. Thus, by default, the Build Directory cannot 86 - Provide a directory path and specifically name the Build
87 be under NFS. However, if you need the Build Directory to be under 87 Directory. Any intermediate folders in the pathname must exist.
88 NFS, you can set this up by setting 88 This next example creates a Build Directory named
89 TMPDIR 89 ``YP-POKYVERSION`` in your home directory within the existing
90 in your 90 directory ``mybuilds``:
91 local.conf 91
92 file to use a local drive. Doing so effectively separates 92 .. code-block:: shell
93 TMPDIR 93
94 from 94 $ cd $HOME
95 TOPDIR 95 $ source $HOME/poky/oe-init-build-env $HOME/mybuilds/YP-POKYVERSION
96 , which is the Build Directory. 96
97 97 .. note::
98- *Build Host:* The system used to build images in a Yocto Project 98
99 Development environment. The build system is sometimes referred to as 99 By default, the Build Directory contains :term:`TMPDIR` , which is a
100 the development host. 100 temporary directory the build system uses for its work. TMPDIR cannot
101 101 be under NFS. Thus, by default, the Build Directory cannot be under
102- *Classes:* Files that provide for logic encapsulation and inheritance 102 NFS. However, if you need the Build Directory to be under NFS, you can
103 so that commonly used patterns can be defined once and then easily 103 set this up by setting TMPDIR in your local.conf file to use a local
104 used in multiple recipes. For reference information on the Yocto 104 drive. Doing so effectively separates TMPDIR from TOPDIR , which is the
105 Project classes, see the "`Classes <#ref-classes>`__" chapter. Class 105 Build Directory.
106 files end with the ``.bbclass`` filename extension. 106
107 107 Build Host
108- *Configuration File:* Files that hold global definitions of 108 The system used to build images in a Yocto Project Development
109 variables, user-defined variables, and hardware configuration 109 environment. The build system is sometimes referred to as the development
110 information. These files tell the OpenEmbedded build system what to 110 host.
111 build and what to put into the image to support a particular 111
112 platform. 112 Classes
113 113 Files that provide for logic encapsulation and inheritance so that
114 Configuration files end with a ``.conf`` filename extension. The 114 commonly used patterns can be defined once and then easily used in
115 ``conf/local.conf`` configuration file in the `Build 115 multiple recipes. For reference information on the Yocto Project classes,
116 Directory <#build-directory>`__ contains user-defined variables that 116 see the "`Classes <#ref-classes>`__" chapter. Class files end with the
117 affect every build. The ``meta-poky/conf/distro/poky.conf`` 117 ``.bbclass`` filename extension.
118 configuration file defines Yocto "distro" configuration variables 118
119 used only when building with this policy. Machine configuration 119 Configuration File
120 files, which are located throughout the `Source 120 Files that hold global definitions of variables, user-defined variables,
121 Directory <#source-directory>`__, define variables for specific 121 and hardware configuration information. These files tell the OpenEmbedded
122 hardware and are only used when building for that target (e.g. the 122 build system what to build and what to put into the image to support a
123 ``machine/beaglebone.conf`` configuration file defines variables for 123 particular platform.
124 the Texas Instruments ARM Cortex-A8 development board). 124
125 125 Configuration files end with a ``.conf`` filename extension. The
126- *Container Layer:* Layers that hold other layers. An example of a 126 :file:`conf/local.conf` configuration file in the :term:`Build Directory`
127 container layer is OpenEmbedded's 127 contains user-defined variables that affect every build. The
128 ```meta-openembedded`` <https://github.com/openembedded/meta-openembedded>`__ 128 :file:`meta-poky/conf/distro/poky.conf` configuration file defines Yocto
129 layer. The ``meta-openembedded`` layer contains many ``meta-*`` 129 "distro" configuration variables used only when building with this
130 layers. 130 policy. Machine configuration files, which are located throughout the
131 131 :term:`Source Directory`, define variables for specific hardware and are
132- *Cross-Development Toolchain:* In general, a cross-development 132 only used when building for that target (e.g. the
133 toolchain is a collection of software development tools and utilities 133 :file:`machine/beaglebone.conf` configuration file defines variables for
134 that run on one architecture and allow you to develop software for a 134 the Texas Instruments ARM Cortex-A8 development board).
135 different, or targeted, architecture. These toolchains contain 135
136 cross-compilers, linkers, and debuggers that are specific to the 136 Container Layer
137 target architecture. 137 Layers that hold other layers. An example of a container layer is
138 138 OpenEmbedded's `meta-openembedded
139 The Yocto Project supports two different cross-development 139 <https://github.com/openembedded/meta-openembedded>`_ layer. The
140 toolchains: 140 ``meta-openembedded`` layer contains many ``meta-*`` layers.
141 141
142 - A toolchain only used by and within BitBake when building an image 142 Cross-Development Toolchain
143 for a target architecture. 143 In general, a cross-development toolchain is a collection of software
144 144 development tools and utilities that run on one architecture and allow you
145 - A relocatable toolchain used outside of BitBake by developers when 145 to develop software for a different, or targeted, architecture. These
146 developing applications that will run on a targeted device. 146 toolchains contain cross-compilers, linkers, and debuggers that are
147 147 specific to the target architecture.
148 Creation of these toolchains is simple and automated. For information 148
149 on toolchain concepts as they apply to the Yocto Project, see the 149 The Yocto Project supports two different cross-development toolchains:
150 "`Cross-Development Toolchain 150
151 Generation <&YOCTO_DOCS_OM_URL;#cross-development-toolchain-generation>`__" 151 - A toolchain only used by and within BitBake when building an image for a
152 section in the Yocto Project Overview and Concepts Manual. You can 152 target architecture.
153 also find more information on using the relocatable toolchain in the 153
154 `Yocto Project Application Development and the Extensible Software 154 - A relocatable toolchain used outside of BitBake by developers when
155 Development Kit (eSDK) <&YOCTO_DOCS_SDK_URL;>`__ manual. 155 developing applications that will run on a targeted device.
156 156
157- *Extensible Software Development Kit (eSDK):* A custom SDK for 157 Creation of these toolchains is simple and automated. For information on
158 application developers. This eSDK allows developers to incorporate 158 toolchain concepts as they apply to the Yocto Project, see the
159 their library and programming changes back into the image to make 159 ":ref:`overview-manual/overview-manual-concepts:Cross-Development
160 their code available to other application developers. 160 Toolchain Generation`" section in the Yocto Project Overview and Concepts
161 161 Manual. You can also find more information on using the relocatable
162 For information on the eSDK, see the `Yocto Project Application 162 toolchain in the :ref:`sdk-manual/sdk-manual:Yocto Project Application
163 Development and the Extensible Software Development Kit 163 Development and the Extensible Software Development Kit (eSDK)` manual.
164 (eSDK) <&YOCTO_DOCS_SDK_URL;>`__ manual. 164
165 165 Extensible Software Development Kit (eSDK)
166- *Image:* An image is an artifact of the BitBake build process given a 166 A custom SDK for application developers. This eSDK allows developers to
167 collection of recipes and related Metadata. Images are the binary 167 incorporate their library and programming changes back into the image to
168 output that run on specific hardware or QEMU and are used for 168 make their code available to other application developers.
169 specific use-cases. For a list of the supported image types that the 169
170 Yocto Project provides, see the "`Images <#ref-images>`__" chapter. 170 For information on the eSDK, see the :ref:`sdk-manual/sdk-manual:Yocto
171 171 Project Application Development and the Extensible Software Development
172- *Layer:* A collection of related recipes. Layers allow you to 172 Kit (eSDK)` manual.
173 consolidate related metadata to customize your build. Layers also 173
174 isolate information used when building for multiple architectures. 174 Image
175 Layers are hierarchical in their ability to override previous 175 An image is an artifact of the BitBake build process given a collection of
176 specifications. You can include any number of available layers from 176 recipes and related Metadata. Images are the binary output that run on
177 the Yocto Project and customize the build by adding your layers after 177 specific hardware or QEMU and are used for specific use-cases. For a list
178 them. You can search the Layer Index for layers used within Yocto 178 of the supported image types that the Yocto Project provides, see the
179 Project. 179 ":ref:`ref-manual/ref-images:Images`" chapter.
180 180
181 For introductory information on layers, see the "`The Yocto Project 181 Layer
182 Layer Model <&YOCTO_DOCS_OM_URL;#the-yocto-project-layer-model>`__" 182 A collection of related recipes. Layers allow you to consolidate related
183 section in the Yocto Project Overview and Concepts Manual. For more 183 metadata to customize your build. Layers also isolate information used
184 detailed information on layers, see the "`Understanding and Creating 184 when building for multiple architectures. Layers are hierarchical in
185 Layers <&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers>`__" 185 their ability to override previous specifications. You can include any
186 section in the Yocto Project Development Tasks Manual. For a 186 number of available layers from the Yocto Project and customize the build
187 discussion specifically on BSP Layers, see the "`BSP 187 by adding your layers after them. You can search the Layer Index for
188 Layers <&YOCTO_DOCS_BSP_URL;#bsp-layers>`__" section in the Yocto 188 layers used within Yocto Project.
189 Project Board Support Packages (BSP) Developer's Guide. 189
190 190 For introductory information on layers, see the
191- *Metadata:* A key element of the Yocto Project is the Metadata that 191 ":ref:`overview-manual/overview-manual-yp-intro:The Yocto Project Layer
192 is used to construct a Linux distribution and is contained in the 192 Model`" section in the Yocto Project Overview and Concepts Manual. For
193 files that the `OpenEmbedded build system <#build-system-term>`__ 193 more detailed information on layers, see the
194 parses when building an image. In general, Metadata includes recipes, 194 ":ref:`dev-manual/dev-manual-common-tasks:Understanding and Creating
195 configuration files, and other information that refers to the build 195 Layers`" section in the Yocto Project Development Tasks Manual. For a
196 instructions themselves, as well as the data used to control what 196 discussion specifically on BSP Layers, see the ":ref:`bsp-guide/bsp:BSP
197 things get built and the effects of the build. Metadata also includes 197 Layers`" section in the Yocto Project Board Support Packages (BSP)
198 commands and data used to indicate what versions of software are 198 Developer's Guide.
199 used, from where they are obtained, and changes or additions to the 199
200 software itself (patches or auxiliary files) that are used to fix 200 Metadata
201 bugs or customize the software for use in a particular situation. 201 A key element of the Yocto Project is the Metadata that
202 OpenEmbedded-Core is an important set of validated metadata. 202 is used to construct a Linux distribution and is contained in the
203 203 files that the `OpenEmbedded build system <#build-system-term>`__
204 In the context of the kernel ("kernel Metadata"), the term refers to 204 parses when building an image. In general, Metadata includes recipes,
205 the kernel config fragments and features contained in the 205 configuration files, and other information that refers to the build
206 ```yocto-kernel-cache`` <&YOCTO_GIT_URL;/cgit/cgit.cgi/yocto-kernel-cache>`__ 206 instructions themselves, as well as the data used to control what
207 Git repository. 207 things get built and the effects of the build. Metadata also includes
208 208 commands and data used to indicate what versions of software are
209- *OpenEmbedded-Core (OE-Core):* OE-Core is metadata comprised of 209 used, from where they are obtained, and changes or additions to the
210 foundational recipes, classes, and associated files that are meant to 210 software itself (patches or auxiliary files) that are used to fix
211 be common among many different OpenEmbedded-derived systems, 211 bugs or customize the software for use in a particular situation.
212 including the Yocto Project. OE-Core is a curated subset of an 212 OpenEmbedded-Core is an important set of validated metadata.
213 original repository developed by the OpenEmbedded community that has 213
214 been pared down into a smaller, core set of continuously validated 214 In the context of the kernel ("kernel Metadata"), the term refers to
215 recipes. The result is a tightly controlled and an quality-assured 215 the kernel config fragments and features contained in the
216 core set of recipes. 216 ```yocto-kernel-cache`` <&YOCTO_GIT_URL;/cgit/cgit.cgi/yocto-kernel-cache>`__
217 217 Git repository.
218 You can see the Metadata in the ``meta`` directory of the Yocto 218
219 Project `Source 219 OpenEmbedded-Core (OE-Core)
220 Repositories <http://git.yoctoproject.org/cgit/cgit.cgi>`__. 220 OE-Core is metadata comprised of
221 221 foundational recipes, classes, and associated files that are meant to
222- *OpenEmbedded Build System:* The build system specific to the Yocto 222 be common among many different OpenEmbedded-derived systems,
223 Project. The OpenEmbedded build system is based on another project 223 including the Yocto Project. OE-Core is a curated subset of an
224 known as "Poky", which uses `BitBake <#bitbake-term>`__ as the task 224 original repository developed by the OpenEmbedded community that has
225 executor. Throughout the Yocto Project documentation set, the 225 been pared down into a smaller, core set of continuously validated
226 OpenEmbedded build system is sometimes referred to simply as "the 226 recipes. The result is a tightly controlled and an quality-assured
227 build system". If other build systems, such as a host or target build 227 core set of recipes.
228 system are referenced, the documentation clearly states the 228
229 difference. 229 You can see the Metadata in the ``meta`` directory of the Yocto
230 230 Project `Source
231 .. note:: 231 Repositories <http://git.yoctoproject.org/cgit/cgit.cgi>`__.
232 232
233 For some historical information about Poky, see the 233 OpenEmbedded Build System
234 Poky 234 The build system specific to the Yocto
235 term. 235 Project. The OpenEmbedded build system is based on another project
236 236 known as "Poky", which uses `BitBake <#bitbake-term>`__ as the task
237- *Package:* In the context of the Yocto Project, this term refers to a 237 executor. Throughout the Yocto Project documentation set, the
238 recipe's packaged output produced by BitBake (i.e. a "baked recipe"). 238 OpenEmbedded build system is sometimes referred to simply as "the
239 A package is generally the compiled binaries produced from the 239 build system". If other build systems, such as a host or target build
240 recipe's sources. You "bake" something by running it through BitBake. 240 system are referenced, the documentation clearly states the
241 241 difference.
242 It is worth noting that the term "package" can, in general, have 242
243 subtle meanings. For example, the packages referred to in the 243 .. note::
244 "`Required Packages for the Build 244
245 Host <#required-packages-for-the-build-host>`__" section are compiled 245 For some historical information about Poky, see the
246 binaries that, when installed, add functionality to your Linux 246 Poky
247 distribution. 247 term.
248 248
249 Another point worth noting is that historically within the Yocto 249 Package
250 Project, recipes were referred to as packages - thus, the existence 250 In the context of the Yocto Project, this term refers to a
251 of several BitBake variables that are seemingly mis-named, (e.g. 251 recipe's packaged output produced by BitBake (i.e. a "baked recipe").
252 ```PR`` <#var-PR>`__, ```PV`` <#var-PV>`__, and 252 A package is generally the compiled binaries produced from the
253 ```PE`` <#var-PE>`__). 253 recipe's sources. You "bake" something by running it through BitBake.
254 254
255- *Package Groups:* Arbitrary groups of software Recipes. You use 255 It is worth noting that the term "package" can, in general, have
256 package groups to hold recipes that, when built, usually accomplish a 256 subtle meanings. For example, the packages referred to in the
257 single task. For example, a package group could contain the recipes 257 "`Required Packages for the Build
258 for a company’s proprietary or value-add software. Or, the package 258 Host <#required-packages-for-the-build-host>`__" section are compiled
259 group could contain the recipes that enable graphics. A package group 259 binaries that, when installed, add functionality to your Linux
260 is really just another recipe. Because package group files are 260 distribution.
261 recipes, they end with the ``.bb`` filename extension. 261
262 262 Another point worth noting is that historically within the Yocto
263- *Poky:* Poky, which is pronounced *Pock*-ee, is a reference embedded 263 Project, recipes were referred to as packages - thus, the existence
264 distribution and a reference test configuration. Poky provides the 264 of several BitBake variables that are seemingly mis-named, (e.g.
265 following: 265 ```PR`` <#var-PR>`__, ```PV`` <#var-PV>`__, and
266 266 ```PE`` <#var-PE>`__).
267 - A base-level functional distro used to illustrate how to customize 267
268 a distribution. 268 Package Groups
269 269 Arbitrary groups of software Recipes. You use
270 - A means by which to test the Yocto Project components (i.e. Poky 270 package groups to hold recipes that, when built, usually accomplish a
271 is used to validate the Yocto Project). 271 single task. For example, a package group could contain the recipes
272 272 for a company’s proprietary or value-add software. Or, the package
273 - A vehicle through which you can download the Yocto Project. 273 group could contain the recipes that enable graphics. A package group
274 274 is really just another recipe. Because package group files are
275 Poky is not a product level distro. Rather, it is a good starting 275 recipes, they end with the ``.bb`` filename extension.
276 point for customization. 276
277 277 Poky
278 .. note:: 278 Poky, which is pronounced *Pock*-ee, is a reference embedded
279 279 distribution and a reference test configuration. Poky provides the
280 Poky began as an open-source project initially developed by 280 following:
281 OpenedHand. OpenedHand developed Poky from the existing 281
282 OpenEmbedded build system to create a commercially supportable 282 - A base-level functional distro used to illustrate how to customize
283 build system for embedded Linux. After Intel Corporation acquired 283 a distribution.
284 OpenedHand, the poky project became the basis for the Yocto 284
285 Project's build system. 285 - A means by which to test the Yocto Project components (i.e. Poky
286 286 is used to validate the Yocto Project).
287- *Recipe:* A set of instructions for building packages. A recipe 287
288 describes where you get source code, which patches to apply, how to 288 - A vehicle through which you can download the Yocto Project.
289 configure the source, how to compile it and so on. Recipes also 289
290 describe dependencies for libraries or for other recipes. Recipes 290 Poky is not a product level distro. Rather, it is a good starting
291 represent the logical unit of execution, the software to build, the 291 point for customization.
292 images to build, and use the ``.bb`` file extension. 292
293 293 .. note::
294- *Reference Kit:* A working example of a system, which includes a 294
295 `BSP <#board-support-package-bsp-term>`__ as well as a `build 295 Poky began as an open-source project initially developed by
296 host <#hardware-build-system-term>`__ and other components, that can 296 OpenedHand. OpenedHand developed Poky from the existing
297 work on specific hardware. 297 OpenEmbedded build system to create a commercially supportable
298 298 build system for embedded Linux. After Intel Corporation acquired
299- *Source Directory:* This term refers to the directory structure 299 OpenedHand, the poky project became the basis for the Yocto
300 created as a result of creating a local copy of the ``poky`` Git 300 Project's build system.
301 repository ``git://git.yoctoproject.org/poky`` or expanding a 301
302 released ``poky`` tarball. 302 Recipe
303 303 A set of instructions for building packages. A recipe
304 .. note:: 304 describes where you get source code, which patches to apply, how to
305 305 configure the source, how to compile it and so on. Recipes also
306 Creating a local copy of the 306 describe dependencies for libraries or for other recipes. Recipes
307 poky 307 represent the logical unit of execution, the software to build, the
308 Git repository is the recommended method for setting up your 308 images to build, and use the ``.bb`` file extension.
309 Source Directory. 309
310 310 Reference Kit
311 Sometimes you might hear the term "poky directory" used to refer to 311 A working example of a system, which includes a
312 this directory structure. 312 :term:`BSP<Board Support Package (BSP)>` as well as a
313 313 :term:`build host<Build Host>` and other components, that can
314 .. note:: 314 work on specific hardware.
315 315
316 The OpenEmbedded build system does not support file or directory 316 Source Directory
317 names that contain spaces. Be sure that the Source Directory you 317 This term refers to the directory structure
318 use does not contain these types of names. 318 created as a result of creating a local copy of the ``poky`` Git
319 319 repository ``git://git.yoctoproject.org/poky`` or expanding a
320 The Source Directory contains BitBake, Documentation, Metadata and 320 released ``poky`` tarball.
321 other files that all support the Yocto Project. Consequently, you 321
322 must have the Source Directory in place on your development system in 322 .. note::
323 order to do any development using the Yocto Project. 323
324 324 Creating a local copy of the
325 When you create a local copy of the Git repository, you can name the 325 poky
326 repository anything you like. Throughout much of the documentation, 326 Git repository is the recommended method for setting up your
327 "poky" is used as the name of the top-level folder of the local copy 327 Source Directory.
328 of the poky Git repository. So, for example, cloning the ``poky`` Git 328
329 repository results in a local Git repository whose top-level folder 329 Sometimes you might hear the term "poky directory" used to refer to
330 is also named "poky". 330 this directory structure.
331 331
332 While it is not recommended that you use tarball expansion to set up 332 .. note::
333 the Source Directory, if you do, the top-level directory name of the 333
334 Source Directory is derived from the Yocto Project release tarball. 334 The OpenEmbedded build system does not support file or directory
335 For example, downloading and unpacking ```` results in a Source 335 names that contain spaces. Be sure that the Source Directory you
336 Directory whose root folder is named ````. 336 use does not contain these types of names.
337 337
338 It is important to understand the differences between the Source 338 The Source Directory contains BitBake, Documentation, Metadata and
339 Directory created by unpacking a released tarball as compared to 339 other files that all support the Yocto Project. Consequently, you
340 cloning ``git://git.yoctoproject.org/poky``. When you unpack a 340 must have the Source Directory in place on your development system in
341 tarball, you have an exact copy of the files based on the time of 341 order to do any development using the Yocto Project.
342 release - a fixed release point. Any changes you make to your local 342
343 files in the Source Directory are on top of the release and will 343 When you create a local copy of the Git repository, you can name the
344 remain local only. On the other hand, when you clone the ``poky`` Git 344 repository anything you like. Throughout much of the documentation,
345 repository, you have an active development repository with access to 345 "poky" is used as the name of the top-level folder of the local copy
346 the upstream repository's branches and tags. In this case, any local 346 of the poky Git repository. So, for example, cloning the ``poky`` Git
347 changes you make to the local Source Directory can be later applied 347 repository results in a local Git repository whose top-level folder
348 to active development branches of the upstream ``poky`` Git 348 is also named "poky".
349 repository. 349
350 350 While it is not recommended that you use tarball expansion to set up
351 For more information on concepts related to Git repositories, 351 the Source Directory, if you do, the top-level directory name of the
352 branches, and tags, see the "`Repositories, Tags, and 352 Source Directory is derived from the Yocto Project release tarball.
353 Branches <&YOCTO_DOCS_OM_URL;#repositories-tags-and-branches>`__" 353 For example, downloading and unpacking ```` results in a Source
354 section in the Yocto Project Overview and Concepts Manual. 354 Directory whose root folder is named ````.
355 355
356- *Task:* A unit of execution for BitBake (e.g. 356 It is important to understand the differences between the Source
357 ```do_compile`` <#ref-tasks-compile>`__, 357 Directory created by unpacking a released tarball as compared to
358 ```do_fetch`` <#ref-tasks-fetch>`__, 358 cloning ``git://git.yoctoproject.org/poky``. When you unpack a
359 ```do_patch`` <#ref-tasks-patch>`__, and so forth). 359 tarball, you have an exact copy of the files based on the time of
360 360 release - a fixed release point. Any changes you make to your local
361- *Toaster:* A web interface to the Yocto Project's `OpenEmbedded Build 361 files in the Source Directory are on top of the release and will
362 System <#build-system-term>`__. The interface enables you to 362 remain local only. On the other hand, when you clone the ``poky`` Git
363 configure and run your builds. Information about builds is collected 363 repository, you have an active development repository with access to
364 and stored in a database. For information on Toaster, see the 364 the upstream repository's branches and tags. In this case, any local
365 `Toaster User Manual <&YOCTO_DOCS_TOAST_URL;>`__. 365 changes you make to the local Source Directory can be later applied
366 366 to active development branches of the upstream ``poky`` Git
367- *Upstream:* A reference to source code or repositories that are not 367 repository.
368 local to the development system but located in a master area that is 368
369 controlled by the maintainer of the source code. For example, in 369 For more information on concepts related to Git repositories,
370 order for a developer to work on a particular piece of code, they 370 branches, and tags, see the "`Repositories, Tags, and
371 need to first get a copy of it from an "upstream" source. 371 Branches <&YOCTO_DOCS_OM_URL;#repositories-tags-and-branches>`__"
372 section in the Yocto Project Overview and Concepts Manual.
373
374 Task
375 A unit of execution for BitBake (e.g.
376 ```do_compile`` <#ref-tasks-compile>`__,
377 ```do_fetch`` <#ref-tasks-fetch>`__,
378 ```do_patch`` <#ref-tasks-patch>`__, and so forth).
379
380 Toaster
381 A web interface to the Yocto Project's `OpenEmbedded Build
382 System <#build-system-term>`__. The interface enables you to
383 configure and run your builds. Information about builds is collected
384 and stored in a database. For information on Toaster, see the
385 `Toaster User Manual <&YOCTO_DOCS_TOAST_URL;>`__.
386
387 Upstream
388 A reference to source code or repositories that are not
389 local to the development system but located in a master area that is
390 controlled by the maintainer of the source code. For example, in
391 order for a developer to work on a particular piece of code, they
392 need to first get a copy of it from an "upstream" source.
diff --git a/documentation/ref-manual/ref-variables.rst b/documentation/ref-manual/ref-variables.rst
index 485fbb27f5..b84640c6a7 100644
--- a/documentation/ref-manual/ref-variables.rst
+++ b/documentation/ref-manual/ref-variables.rst
@@ -7,12 +7,12 @@ Variables Glossary
7This chapter lists common variables used in the OpenEmbedded build 7This chapter lists common variables used in the OpenEmbedded build
8system and gives an overview of their function and contents. 8system and gives an overview of their function and contents.
9 9
10`A <#var-ABIEXTENSION>`__ :term:`B` `C <#var-CACHE>`__ 10`A <#var-ABIEXTENSION>`__ `B <#var-B>`__ `C <#var-CACHE>`__
11:term:`D` `E <#var-EFI_PROVIDER>`__ `F <#var-FEATURE_PACKAGES>`__ 11`D <#var-D>`__ `E <#var-EFI_PROVIDER>`__ `F <#var-FEATURE_PACKAGES>`__
12`G <#var-GCCPIE>`__ `H <#var-HOMEPAGE>`__ `I <#var-ICECC_DISABLED>`__ 12`G <#var-GCCPIE>`__ `H <#var-HOMEPAGE>`__ `I <#var-ICECC_DISABLED>`__
13`K <#var-KARCH>`__ `L <#var-LABELS>`__ `M <#var-MACHINE>`__ 13`K <#var-KARCH>`__ `L <#var-LABELS>`__ `M <#var-MACHINE>`__
14`N <#var-NATIVELSBSTRING>`__ `O <#var-OBJCOPY>`__ :term:`P` 14`N <#var-NATIVELSBSTRING>`__ `O <#var-OBJCOPY>`__ `P <#var-P>`__
15`R <#var-RANLIB>`__ :term:`S` :term:`T` 15`R <#var-RANLIB>`__ `S <#var-S>`__ `T <#var-T>`__
16`U <#var-UBOOT_CONFIG>`__ `V <#var-VOLATILE_LOG_DIR>`__ 16`U <#var-UBOOT_CONFIG>`__ `V <#var-VOLATILE_LOG_DIR>`__
17`W <#var-WARN_QA>`__ `X <#var-XSERVER>`__ 17`W <#var-WARN_QA>`__ `X <#var-XSERVER>`__
18 18
@@ -30,7 +30,7 @@ system and gives an overview of their function and contents.
30 Specifies whether to produce an output package even if it is empty. 30 Specifies whether to produce an output package even if it is empty.
31 By default, BitBake does not produce empty packages. This default 31 By default, BitBake does not produce empty packages. This default
32 behavior can cause issues when there is an 32 behavior can cause issues when there is an
33 :term:`RDEPENDS` or some other hard runtime 33 ```RDEPENDS`` <#var-RDEPENDS>`__ or some other hard runtime
34 requirement on the existence of the package. 34 requirement on the existence of the package.
35 35
36 Like all package-controlling variables, you must always use them in 36 Like all package-controlling variables, you must always use them in
@@ -49,7 +49,7 @@ system and gives an overview of their function and contents.
49 has four commands that also exist as part of another package, you 49 has four commands that also exist as part of another package, you
50 identify them as follows: ALTERNATIVE_busybox = "sh sed test bracket" 50 identify them as follows: ALTERNATIVE_busybox = "sh sed test bracket"
51 For more information on the alternatives system, see the 51 For more information on the alternatives system, see the
52 ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`" 52 "```update-alternatives.bbclass`` <#ref-classes-update-alternatives>`__"
53 section. 53 section.
54 54
55 ALTERNATIVE_LINK_NAME 55 ALTERNATIVE_LINK_NAME
@@ -72,7 +72,7 @@ system and gives an overview of their function and contents.
72 . 72 .
73 73
74 For more information on the alternatives system, see the 74 For more information on the alternatives system, see the
75 ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`" 75 "```update-alternatives.bbclass`` <#ref-classes-update-alternatives>`__"
76 section. 76 section.
77 77
78 ALTERNATIVE_PRIORITY 78 ALTERNATIVE_PRIORITY
@@ -86,7 +86,7 @@ system and gives an overview of their function and contents.
86 ALTERNATIVE_PRIORITY_pkg[name] = "priority" 86 ALTERNATIVE_PRIORITY_pkg[name] = "priority"
87 87
88 For more information on the alternatives system, see the 88 For more information on the alternatives system, see the
89 ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`" 89 "```update-alternatives.bbclass`` <#ref-classes-update-alternatives>`__"
90 section. 90 section.
91 91
92 ALTERNATIVE_TARGET 92 ALTERNATIVE_TARGET
@@ -103,7 +103,7 @@ system and gives an overview of their function and contents.
103 103
104 If ``ALTERNATIVE_TARGET`` is not defined, it inherits the value 104 If ``ALTERNATIVE_TARGET`` is not defined, it inherits the value
105 from the 105 from the
106 :term:`ALTERNATIVE_LINK_NAME` 106 ```ALTERNATIVE_LINK_NAME`` <#var-ALTERNATIVE_LINK_NAME>`__
107 variable. 107 variable.
108 108
109 If ``ALTERNATIVE_LINK_NAME`` and ``ALTERNATIVE_TARGET`` are the 109 If ``ALTERNATIVE_LINK_NAME`` and ``ALTERNATIVE_TARGET`` are the
@@ -112,25 +112,25 @@ system and gives an overview of their function and contents.
112 112
113 Finally, if the file referenced has not been renamed, the 113 Finally, if the file referenced has not been renamed, the
114 alternatives system will rename it to avoid the need to rename 114 alternatives system will rename it to avoid the need to rename
115 alternative files in the :ref:`ref-tasks-install` 115 alternative files in the ```do_install`` <#ref-tasks-install>`__
116 task while retaining support for the command if necessary. 116 task while retaining support for the command if necessary.
117 117
118 For more information on the alternatives system, see the 118 For more information on the alternatives system, see the
119 ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`" 119 "```update-alternatives.bbclass`` <#ref-classes-update-alternatives>`__"
120 section. 120 section.
121 121
122 APPEND 122 APPEND
123 An override list of append strings for each target specified with 123 An override list of append strings for each target specified with
124 :term:`LABELS`. 124 ```LABELS`` <#var-LABELS>`__.
125 125
126 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 126 See the ```grub-efi`` <#ref-classes-grub-efi>`__ class for more
127 information on how this variable is used. 127 information on how this variable is used.
128 128
129 AR 129 AR
130 The minimal command and arguments used to run ``ar``. 130 The minimal command and arguments used to run ``ar``.
131 131
132 ARCHIVER_MODE 132 ARCHIVER_MODE
133 When used with the :ref:`archiver <ref-classes-archiver>` class, 133 When used with the ```archiver`` <#ref-classes-archiver>`__ class,
134 determines the type of information used to create a released archive. 134 determines the type of information used to create a released archive.
135 You can use this variable to create archives of patched source, 135 You can use this variable to create archives of patched source,
136 original source, configured source, and so forth by employing the 136 original source, configured source, and so forth by employing the
@@ -144,13 +144,14 @@ system and gives an overview of their function and contents.
144 = "1" # Uses environment data. ARCHIVER_MODE[recipe] = "1" # Uses 144 = "1" # Uses environment data. ARCHIVER_MODE[recipe] = "1" # Uses
145 recipe and include files. ARCHIVER_MODE[srpm] = "1" # Uses RPM 145 recipe and include files. ARCHIVER_MODE[srpm] = "1" # Uses RPM
146 package files. For information on how the variable works, see the 146 package files. For information on how the variable works, see the
147 ``meta/classes/archiver.bbclass`` file in the :term:`Source Directory`. 147 ``meta/classes/archiver.bbclass`` file in the `Source
148 Directory <#source-directory>`__.
148 149
149 AS 150 AS
150 Minimal command and arguments needed to run the assembler. 151 Minimal command and arguments needed to run the assembler.
151 152
152 ASSUME_PROVIDED 153 ASSUME_PROVIDED
153 Lists recipe names (:term:`PN` values) BitBake does not 154 Lists recipe names (```PN`` <#var-PN>`__ values) BitBake does not
154 attempt to build. Instead, BitBake assumes these recipes have already 155 attempt to build. Instead, BitBake assumes these recipes have already
155 been built. 156 been built.
156 157
@@ -177,7 +178,7 @@ system and gives an overview of their function and contents.
177 order to send patches and forward bugs. 178 order to send patches and forward bugs.
178 179
179 AUTO_LIBNAME_PKGS 180 AUTO_LIBNAME_PKGS
180 When the :ref:`debian <ref-classes-debian>` class is inherited, 181 When the ```debian`` <#ref-classes-debian>`__ class is inherited,
181 which is the default behavior, ``AUTO_LIBNAME_PKGS`` specifies which 182 which is the default behavior, ``AUTO_LIBNAME_PKGS`` specifies which
182 packages should be checked for libraries and renamed according to 183 packages should be checked for libraries and renamed according to
183 Debian library package naming. 184 Debian library package naming.
@@ -188,7 +189,7 @@ system and gives an overview of their function and contents.
188 AUTO_SYSLINUXMENU 189 AUTO_SYSLINUXMENU
189 Enables creating an automatic menu for the syslinux bootloader. You 190 Enables creating an automatic menu for the syslinux bootloader. You
190 must set this variable in your recipe. The 191 must set this variable in your recipe. The
191 :ref:`syslinux <ref-classes-syslinux>` class checks this variable. 192 ```syslinux`` <#ref-classes-syslinux>`__ class checks this variable.
192 193
193 AUTOREV 194 AUTOREV
194 When ``SRCREV`` is set to the value of this variable, it specifies to 195 When ``SRCREV`` is set to the value of this variable, it specifies to
@@ -196,10 +197,10 @@ system and gives an overview of their function and contents.
196 SRCREV = "${AUTOREV}" 197 SRCREV = "${AUTOREV}"
197 198
198 If you use the previous statement to retrieve the latest version of 199 If you use the previous statement to retrieve the latest version of
199 software, you need to be sure :term:`PV` contains 200 software, you need to be sure ```PV`` <#var-PV>`__ contains
200 ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you 201 ``${``\ ```SRCPV`` <#var-SRCPV>`__\ ``}``. For example, suppose you
201 have a kernel recipe that inherits the 202 have a kernel recipe that inherits the
202 :ref:`kernel <ref-classes-kernel>` class and you use the previous 203 `kernel <#ref-classes-kernel>`__ class and you use the previous
203 statement. In this example, ``${SRCPV}`` does not automatically get 204 statement. In this example, ``${SRCPV}`` does not automatically get
204 into ``PV``. Consequently, you need to change ``PV`` in your recipe 205 into ``PV``. Consequently, you need to change ``PV`` in your recipe
205 so that it does contain ``${SRCPV}``. 206 so that it does contain ``${SRCPV}``.
@@ -211,8 +212,8 @@ system and gives an overview of their function and contents.
211 212
212 AVAILABLE_LICENSES 213 AVAILABLE_LICENSES
213 List of licenses found in the directories specified by 214 List of licenses found in the directories specified by
214 :term:`COMMON_LICENSE_DIR` and 215 ```COMMON_LICENSE_DIR`` <#var-COMMON_LICENSE_DIR>`__ and
215 :term:`LICENSE_PATH`. 216 ```LICENSE_PATH`` <#var-LICENSE_PATH>`__.
216 217
217 .. note:: 218 .. note::
218 219
@@ -239,15 +240,15 @@ system and gives an overview of their function and contents.
239 240
240 To add a tune to the list, be sure to append it with spaces using the 241 To add a tune to the list, be sure to append it with spaces using the
241 "+=" BitBake operator. Do not simply replace the list by using the 242 "+=" BitBake operator. Do not simply replace the list by using the
242 "=" operator. See the 243 "=" operator. See the "`Basic
243 ":ref:`Basic Syntax <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:basic syntax>`" section in the BitBake 244 Syntax <&YOCTO_DOCS_BB_URL;#basic-syntax>`__" section in the BitBake
244 User Manual for more information. 245 User Manual for more information.
245 246
246 B 247 B
247 The directory within the :term:`Build Directory` in 248 The directory within the `Build Directory <#build-directory>`__ in
248 which the OpenEmbedded build system places generated objects during a 249 which the OpenEmbedded build system places generated objects during a
249 recipe's build process. By default, this directory is the same as the 250 recipe's build process. By default, this directory is the same as the
250 :term:`S` directory, which is defined as: S = 251 ```S`` <#var-S>`__ directory, which is defined as: S =
251 "${WORKDIR}/${BP}" 252 "${WORKDIR}/${BP}"
252 253
253 You can separate the (``S``) directory and the directory pointed to 254 You can separate the (``S``) directory and the directory pointed to
@@ -258,7 +259,7 @@ system and gives an overview of their function and contents.
258 BAD_RECOMMENDATIONS 259 BAD_RECOMMENDATIONS
259 Lists "recommended-only" packages to not install. Recommended-only 260 Lists "recommended-only" packages to not install. Recommended-only
260 packages are packages installed only through the 261 packages are packages installed only through the
261 :term:`RRECOMMENDS` variable. You can prevent any 262 ```RRECOMMENDS`` <#var-RRECOMMENDS>`__ variable. You can prevent any
262 of these "recommended" packages from being installed by listing them 263 of these "recommended" packages from being installed by listing them
263 with the ``BAD_RECOMMENDATIONS`` variable: BAD_RECOMMENDATIONS = 264 with the ``BAD_RECOMMENDATIONS`` variable: BAD_RECOMMENDATIONS =
264 "package_name package_name package_name ..." 265 "package_name package_name package_name ..."
@@ -269,15 +270,15 @@ system and gives an overview of their function and contents.
269 270
270 It is important to realize that if you choose to not install packages 271 It is important to realize that if you choose to not install packages
271 using this variable and some other packages are dependent on them 272 using this variable and some other packages are dependent on them
272 (i.e. listed in a recipe's :term:`RDEPENDS` 273 (i.e. listed in a recipe's ```RDEPENDS`` <#var-RDEPENDS>`__
273 variable), the OpenEmbedded build system ignores your request and 274 variable), the OpenEmbedded build system ignores your request and
274 will install the packages to avoid dependency errors. 275 will install the packages to avoid dependency errors.
275 276
276 Support for this variable exists only when using the IPK and RPM 277 Support for this variable exists only when using the IPK and RPM
277 packaging backend. Support does not exist for DEB. 278 packaging backend. Support does not exist for DEB.
278 279
279 See the :term:`NO_RECOMMENDATIONS` and the 280 See the ```NO_RECOMMENDATIONS`` <#var-NO_RECOMMENDATIONS>`__ and the
280 :term:`PACKAGE_EXCLUDE` variables for related 281 ```PACKAGE_EXCLUDE`` <#var-PACKAGE_EXCLUDE>`__ variables for related
281 information. 282 information.
282 283
283 BASE_LIB 284 BASE_LIB
@@ -290,7 +291,7 @@ system and gives an overview of their function and contents.
290 on Multilib. 291 on Multilib.
291 292
292 The ``BASE_LIB`` variable is defined in the machine include files in 293 The ``BASE_LIB`` variable is defined in the machine include files in
293 the :term:`Source Directory`. If Multilib is not 294 the `Source Directory <#source-directory>`__. If Multilib is not
294 being used, the value defaults to "lib". 295 being used, the value defaults to "lib".
295 296
296 BASE_WORKDIR 297 BASE_WORKDIR
@@ -326,10 +327,10 @@ system and gives an overview of their function and contents.
326 - Attempts to access networks not in the host list cause a failure. 327 - Attempts to access networks not in the host list cause a failure.
327 328
328 Using ``BB_ALLOWED_NETWORKS`` in conjunction with 329 Using ``BB_ALLOWED_NETWORKS`` in conjunction with
329 :term:`PREMIRRORS` is very useful. Adding the host 330 ```PREMIRRORS`` <#var-PREMIRRORS>`__ is very useful. Adding the host
330 you want to use to ``PREMIRRORS`` results in the source code being 331 you want to use to ``PREMIRRORS`` results in the source code being
331 fetched from an allowed location and avoids raising an error when a 332 fetched from an allowed location and avoids raising an error when a
332 host that is not allowed is in a :term:`SRC_URI` 333 host that is not allowed is in a ```SRC_URI`` <#var-SRC_URI>`__
333 statement. This is because the fetcher does not attempt to use the 334 statement. This is because the fetcher does not attempt to use the
334 host listed in ``SRC_URI`` after a successful fetch from the 335 host listed in ``SRC_URI`` after a successful fetch from the
335 ``PREMIRRORS`` occurs. 336 ``PREMIRRORS`` occurs.
@@ -348,7 +349,7 @@ system and gives an overview of their function and contents.
348 349
349 You can change the default behavior by setting this variable to "1", 350 You can change the default behavior by setting this variable to "1",
350 "yes", or "true" in your ``local.conf`` file, which is located in the 351 "yes", or "true" in your ``local.conf`` file, which is located in the
351 :term:`Build Directory`: Here is an example: 352 `Build Directory <#build-directory>`__: Here is an example:
352 BB_DANGLINGAPPENDS_WARNONLY = "1" 353 BB_DANGLINGAPPENDS_WARNONLY = "1"
353 354
354 BB_DISKMON_DIRS 355 BB_DISKMON_DIRS
@@ -357,7 +358,7 @@ system and gives an overview of their function and contents.
357 358
358 Disk space monitoring is disabled by default. To enable monitoring, 359 Disk space monitoring is disabled by default. To enable monitoring,
359 add the ``BB_DISKMON_DIRS`` variable to your ``conf/local.conf`` file 360 add the ``BB_DISKMON_DIRS`` variable to your ``conf/local.conf`` file
360 found in the :term:`Build Directory`. Use the 361 found in the `Build Directory <#build-directory>`__. Use the
361 following form: BB_DISKMON_DIRS = "action,dir,threshold [...]" where: 362 following form: BB_DISKMON_DIRS = "action,dir,threshold [...]" where:
362 action is: ABORT: Immediately abort the build when a threshold is 363 action is: ABORT: Immediately abort the build when a threshold is
363 broken. STOPTASKS: Stop the build after the currently executing tasks 364 broken. STOPTASKS: Stop the build after the currently executing tasks
@@ -378,7 +379,7 @@ system and gives an overview of their function and contents.
378 WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_DIRS = 379 WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_DIRS =
379 "STOPTASKS,${TMPDIR},1G" BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K" 380 "STOPTASKS,${TMPDIR},1G" BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
380 The first example works only if you also provide the 381 The first example works only if you also provide the
381 :term:`BB_DISKMON_WARNINTERVAL` 382 ```BB_DISKMON_WARNINTERVAL`` <#var-BB_DISKMON_WARNINTERVAL>`__
382 variable in the ``conf/local.conf``. This example causes the build 383 variable in the ``conf/local.conf``. This example causes the build
383 system to immediately abort when either the disk space in 384 system to immediately abort when either the disk space in
384 ``${TMPDIR}`` drops below 1 Gbyte or the available free inodes drops 385 ``${TMPDIR}`` drops below 1 Gbyte or the available free inodes drops
@@ -401,10 +402,10 @@ system and gives an overview of their function and contents.
401 BB_DISKMON_WARNINTERVAL 402 BB_DISKMON_WARNINTERVAL
402 Defines the disk space and free inode warning intervals. To set these 403 Defines the disk space and free inode warning intervals. To set these
403 intervals, define the variable in your ``conf/local.conf`` file in 404 intervals, define the variable in your ``conf/local.conf`` file in
404 the :term:`Build Directory`. 405 the `Build Directory <#build-directory>`__.
405 406
406 If you are going to use the ``BB_DISKMON_WARNINTERVAL`` variable, you 407 If you are going to use the ``BB_DISKMON_WARNINTERVAL`` variable, you
407 must also use the :term:`BB_DISKMON_DIRS` 408 must also use the ```BB_DISKMON_DIRS`` <#var-BB_DISKMON_DIRS>`__
408 variable and define its action as "WARN". During the build, 409 variable and define its action as "WARN". During the build,
409 subsequent warnings are issued each time disk space or number of free 410 subsequent warnings are issued each time disk space or number of free
410 inodes further reduces by the respective interval. 411 inodes further reduces by the respective interval.
@@ -435,12 +436,12 @@ system and gives an overview of their function and contents.
435 BB_GENERATE_MIRROR_TARBALLS 436 BB_GENERATE_MIRROR_TARBALLS
436 Causes tarballs of the source control repositories (e.g. Git 437 Causes tarballs of the source control repositories (e.g. Git
437 repositories), including metadata, to be placed in the 438 repositories), including metadata, to be placed in the
438 :term:`DL_DIR` directory. 439 ```DL_DIR`` <#var-DL_DIR>`__ directory.
439 440
440 For performance reasons, creating and placing tarballs of these 441 For performance reasons, creating and placing tarballs of these
441 repositories is not the default action by the OpenEmbedded build 442 repositories is not the default action by the OpenEmbedded build
442 system. BB_GENERATE_MIRROR_TARBALLS = "1" Set this variable in your 443 system. BB_GENERATE_MIRROR_TARBALLS = "1" Set this variable in your
443 ``local.conf`` file in the :term:`Build Directory`. 444 ``local.conf`` file in the `Build Directory <#build-directory>`__.
444 445
445 Once you have the tarballs containing your source files, you can 446 Once you have the tarballs containing your source files, you can
446 clean up your ``DL_DIR`` directory by deleting any Git or other 447 clean up your ``DL_DIR`` directory by deleting any Git or other
@@ -480,7 +481,7 @@ system and gives an overview of their function and contents.
480 ``quilt-native``, which is a copy of Quilt built to run on the build 481 ``quilt-native``, which is a copy of Quilt built to run on the build
481 system; "crosses" such as ``gcc-cross``, which is a compiler built to 482 system; "crosses" such as ``gcc-cross``, which is a compiler built to
482 run on the build machine but produces binaries that run on the target 483 run on the build machine but produces binaries that run on the target
483 :term:`MACHINE`; "nativesdk", which targets the SDK 484 ```MACHINE`` <#var-MACHINE>`__; "nativesdk", which targets the SDK
484 machine instead of ``MACHINE``; and "mulitlibs" in the form 485 machine instead of ``MACHINE``; and "mulitlibs" in the form
485 "``multilib:``\ multilib_name". 486 "``multilib:``\ multilib_name".
486 487
@@ -494,7 +495,7 @@ system and gives an overview of their function and contents.
494 Internally, the ``BBCLASSEXTEND`` mechanism generates recipe 495 Internally, the ``BBCLASSEXTEND`` mechanism generates recipe
495 variants by rewriting variable values and applying overrides such 496 variants by rewriting variable values and applying overrides such
496 as ``_class-native``. For example, to generate a native version of 497 as ``_class-native``. For example, to generate a native version of
497 a recipe, a :term:`DEPENDS` on "foo" is rewritten 498 a recipe, a ```DEPENDS`` <#var-DEPENDS>`__ on "foo" is rewritten
498 to a ``DEPENDS`` on "foo-native". 499 to a ``DEPENDS`` on "foo-native".
499 500
500 Even when using ``BBCLASSEXTEND``, the recipe is only parsed once. 501 Even when using ``BBCLASSEXTEND``, the recipe is only parsed once.
@@ -510,7 +511,7 @@ system and gives an overview of their function and contents.
510 511
511 BBFILE_PATTERN 512 BBFILE_PATTERN
512 Variable that expands to match files from 513 Variable that expands to match files from
513 :term:`BBFILES` in a particular layer. This variable 514 ```BBFILES`` <#var-BBFILES>`__ in a particular layer. This variable
514 is used in the ``conf/layer.conf`` file and must be suffixed with the 515 is used in the ``conf/layer.conf`` file and must be suffixed with the
515 name of the specific layer (e.g. ``BBFILE_PATTERN_emenlow``). 516 name of the specific layer (e.g. ``BBFILE_PATTERN_emenlow``).
516 517
@@ -522,7 +523,7 @@ system and gives an overview of their function and contents.
522 prioritize a layer against other layers that contain the same recipe 523 prioritize a layer against other layers that contain the same recipe
523 - effectively letting you control the precedence for the multiple 524 - effectively letting you control the precedence for the multiple
524 layers. The precedence established through this variable stands 525 layers. The precedence established through this variable stands
525 regardless of a recipe's version (:term:`PV` variable). For 526 regardless of a recipe's version (```PV`` <#var-PV>`__ variable). For
526 example, a layer that has a recipe with a higher ``PV`` value but for 527 example, a layer that has a recipe with a higher ``PV`` value but for
527 which the ``BBFILE_PRIORITY`` is set to have a lower precedence still 528 which the ``BBFILE_PRIORITY`` is set to have a lower precedence still
528 has a lower precedence. 529 has a lower precedence.
@@ -546,7 +547,7 @@ system and gives an overview of their function and contents.
546 software. 547 software.
547 548
548 When specifying recipe files, you can pattern match using Python's 549 When specifying recipe files, you can pattern match using Python's
549 ```glob`https://docs.python.org/3/library/glob.html syntax. 550 ```glob`` <https://docs.python.org/3/library/glob.html>`__ syntax.
550 For details on the syntax, see the documentation by following the 551 For details on the syntax, see the documentation by following the
551 previous link. 552 previous link.
552 553
@@ -575,15 +576,15 @@ system and gives an overview of their function and contents.
575 Variable that controls how BitBake displays logs on build failure. 576 Variable that controls how BitBake displays logs on build failure.
576 577
577 BBINCLUDELOGS_LINES 578 BBINCLUDELOGS_LINES
578 If :term:`BBINCLUDELOGS` is set, specifies the 579 If ```BBINCLUDELOGS`` <#var-BBINCLUDELOGS>`__ is set, specifies the
579 maximum number of lines from the task log file to print when 580 maximum number of lines from the task log file to print when
580 reporting a failed task. If you do not set ``BBINCLUDELOGS_LINES``, 581 reporting a failed task. If you do not set ``BBINCLUDELOGS_LINES``,
581 the entire log is printed. 582 the entire log is printed.
582 583
583 BBLAYERS 584 BBLAYERS
584 Lists the layers to enable during the build. This variable is defined 585 Lists the layers to enable during the build. This variable is defined
585 in the ``bblayers.conf`` configuration file in the :term:`Build Directory`. 586 in the ``bblayers.conf`` configuration file in the `Build
586 Here is an example: BBLAYERS = " \\ 587 Directory <#build-directory>`__. Here is an example: BBLAYERS = " \\
587 /home/scottrif/poky/meta \\ /home/scottrif/poky/meta-poky \\ 588 /home/scottrif/poky/meta \\ /home/scottrif/poky/meta-poky \\
588 /home/scottrif/poky/meta-yocto-bsp \\ 589 /home/scottrif/poky/meta-yocto-bsp \\
589 /home/scottrif/poky/meta-mykernel \\ " 590 /home/scottrif/poky/meta-mykernel \\ "
@@ -604,7 +605,7 @@ system and gives an overview of their function and contents.
604 compiler. Consequently, the syntax follows Python's Regular 605 compiler. Consequently, the syntax follows Python's Regular
605 Expression (re) syntax. The expressions are compared against the full 606 Expression (re) syntax. The expressions are compared against the full
606 paths to the files. For complete syntax information, see Python's 607 paths to the files. For complete syntax information, see Python's
607 documentation at http://docs.python.org/3/library/re.html#re. 608 documentation at ` <http://docs.python.org/3/library/re.html#re>`__.
608 609
609 The following example uses a complete regular expression to tell 610 The following example uses a complete regular expression to tell
610 BitBake to ignore all recipe and recipe append files in the 611 BitBake to ignore all recipe and recipe append files in the
@@ -628,7 +629,7 @@ system and gives an overview of their function and contents.
628 multiconfigname for each configuration file you are using. For 629 multiconfigname for each configuration file you are using. For
629 example, the following line specifies three configuration files: 630 example, the following line specifies three configuration files:
630 BBMULTICONFIG = "configA configB configC" Each configuration file you 631 BBMULTICONFIG = "configA configB configC" Each configuration file you
631 use must reside in the :term:`Build Directory` 632 use must reside in the `Build Directory <#build-directory>`__
632 ``conf/multiconfig`` directory (e.g. 633 ``conf/multiconfig`` directory (e.g.
633 build_directory\ ``/conf/multiconfig/configA.conf``). 634 build_directory\ ``/conf/multiconfig/configA.conf``).
634 635
@@ -665,13 +666,13 @@ system and gives an overview of their function and contents.
665 environment: export BBSERVER=localhost:$port 666 environment: export BBSERVER=localhost:$port
666 667
667 By default, ``BBSERVER`` also appears in 668 By default, ``BBSERVER`` also appears in
668 :term:`bitbake:BB_HASHBASE_WHITELIST`. 669 ```BB_HASHBASE_WHITELIST`` <&YOCTO_DOCS_BB_URL;#var-BB_HASHBASE_WHITELIST>`__.
669 Consequently, ``BBSERVER`` is excluded from checksum and dependency 670 Consequently, ``BBSERVER`` is excluded from checksum and dependency
670 data. 671 data.
671 672
672 BINCONFIG 673 BINCONFIG
673 When inheriting the 674 When inheriting the
674 :ref:`binconfig-disabled <ref-classes-binconfig-disabled>` class, 675 ```binconfig-disabled`` <#ref-classes-binconfig-disabled>`__ class,
675 this variable specifies binary configuration scripts to disable in 676 this variable specifies binary configuration scripts to disable in
676 favor of using ``pkg-config`` to query the information. The 677 favor of using ``pkg-config`` to query the information. The
677 ``binconfig-disabled`` class will modify the specified scripts to 678 ``binconfig-disabled`` class will modify the specified scripts to
@@ -683,7 +684,7 @@ system and gives an overview of their function and contents.
683 ${bindir}/libpng16-config" 684 ${bindir}/libpng16-config"
684 685
685 BINCONFIG_GLOB 686 BINCONFIG_GLOB
686 When inheriting the :ref:`binconfig <ref-classes-binconfig>` class, 687 When inheriting the ```binconfig`` <#ref-classes-binconfig>`__ class,
687 this variable specifies a wildcard for configuration scripts that 688 this variable specifies a wildcard for configuration scripts that
688 need editing. The scripts are edited to correct any paths that have 689 need editing. The scripts are edited to correct any paths that have
689 been set up during compilation so that they are correct for use when 690 been set up during compilation so that they are correct for use when
@@ -704,10 +705,10 @@ system and gives an overview of their function and contents.
704 . 705 .
705 706
706 For more information on how this variable works, see 707 For more information on how this variable works, see
707 ``meta/classes/binconfig.bbclass`` in the :term:`Source Directory`. 708 ``meta/classes/binconfig.bbclass`` in the `Source
708 You can also find general 709 Directory <#source-directory>`__. You can also find general
709 information on the class in the 710 information on the class in the
710 ":ref:`binconfig.bbclass <ref-classes-binconfig>`" section. 711 "```binconfig.bbclass`` <#ref-classes-binconfig>`__" section.
711 712
712 BP 713 BP
713 The base recipe name and version but without any special recipe name 714 The base recipe name and version but without any special recipe name
@@ -715,12 +716,12 @@ system and gives an overview of their function and contents.
715 comprised of the following: ${BPN}-${PV} 716 comprised of the following: ${BPN}-${PV}
716 717
717 BPN 718 BPN
718 This variable is a version of the :term:`PN` variable with 719 This variable is a version of the ```PN`` <#var-PN>`__ variable with
719 common prefixes and suffixes removed, such as ``nativesdk-``, 720 common prefixes and suffixes removed, such as ``nativesdk-``,
720 ``-cross``, ``-native``, and multilib's ``lib64-`` and ``lib32-``. 721 ``-cross``, ``-native``, and multilib's ``lib64-`` and ``lib32-``.
721 The exact lists of prefixes and suffixes removed are specified by the 722 The exact lists of prefixes and suffixes removed are specified by the
722 :term:`MLPREFIX` and 723 ```MLPREFIX`` <#var-MLPREFIX>`__ and
723 :term:`SPECIAL_PKGSUFFIX` variables, 724 ```SPECIAL_PKGSUFFIX`` <#var-SPECIAL_PKGSUFFIX>`__ variables,
724 respectively. 725 respectively.
725 726
726 BUGTRACKER 727 BUGTRACKER
@@ -746,37 +747,37 @@ system and gives an overview of their function and contents.
746 Specifies the linker command to be used for the build host when the C 747 Specifies the linker command to be used for the build host when the C
747 compiler is being used as the linker. By default, ``BUILD_CCLD`` 748 compiler is being used as the linker. By default, ``BUILD_CCLD``
748 points to GCC and passes as arguments the value of 749 points to GCC and passes as arguments the value of
749 :term:`BUILD_CC_ARCH`, assuming 750 ```BUILD_CC_ARCH`` <#var-BUILD_CC_ARCH>`__, assuming
750 ``BUILD_CC_ARCH`` is set. 751 ``BUILD_CC_ARCH`` is set.
751 752
752 BUILD_CFLAGS 753 BUILD_CFLAGS
753 Specifies the flags to pass to the C compiler when building for the 754 Specifies the flags to pass to the C compiler when building for the
754 build host. When building in the ``-native`` context, 755 build host. When building in the ``-native`` context,
755 :term:`CFLAGS` is set to the value of this variable by 756 ```CFLAGS`` <#var-CFLAGS>`__ is set to the value of this variable by
756 default. 757 default.
757 758
758 BUILD_CPPFLAGS 759 BUILD_CPPFLAGS
759 Specifies the flags to pass to the C preprocessor (i.e. to both the C 760 Specifies the flags to pass to the C preprocessor (i.e. to both the C
760 and the C++ compilers) when building for the build host. When 761 and the C++ compilers) when building for the build host. When
761 building in the ``-native`` context, :term:`CPPFLAGS` 762 building in the ``-native`` context, ```CPPFLAGS`` <#var-CPPFLAGS>`__
762 is set to the value of this variable by default. 763 is set to the value of this variable by default.
763 764
764 BUILD_CXXFLAGS 765 BUILD_CXXFLAGS
765 Specifies the flags to pass to the C++ compiler when building for the 766 Specifies the flags to pass to the C++ compiler when building for the
766 build host. When building in the ``-native`` context, 767 build host. When building in the ``-native`` context,
767 :term:`CXXFLAGS` is set to the value of this variable 768 ```CXXFLAGS`` <#var-CXXFLAGS>`__ is set to the value of this variable
768 by default. 769 by default.
769 770
770 BUILD_FC 771 BUILD_FC
771 Specifies the Fortran compiler command for the build host. By 772 Specifies the Fortran compiler command for the build host. By
772 default, ``BUILD_FC`` points to Gfortran and passes as arguments the 773 default, ``BUILD_FC`` points to Gfortran and passes as arguments the
773 value of :term:`BUILD_CC_ARCH`, assuming 774 value of ```BUILD_CC_ARCH`` <#var-BUILD_CC_ARCH>`__, assuming
774 ``BUILD_CC_ARCH`` is set. 775 ``BUILD_CC_ARCH`` is set.
775 776
776 BUILD_LD 777 BUILD_LD
777 Specifies the linker command for the build host. By default, 778 Specifies the linker command for the build host. By default,
778 ``BUILD_LD`` points to the GNU linker (ld) and passes as arguments 779 ``BUILD_LD`` points to the GNU linker (ld) and passes as arguments
779 the value of :term:`BUILD_LD_ARCH`, assuming 780 the value of ```BUILD_LD_ARCH`` <#var-BUILD_LD_ARCH>`__, assuming
780 ``BUILD_LD_ARCH`` is set. 781 ``BUILD_LD_ARCH`` is set.
781 782
782 BUILD_LD_ARCH 783 BUILD_LD_ARCH
@@ -786,14 +787,14 @@ system and gives an overview of their function and contents.
786 BUILD_LDFLAGS 787 BUILD_LDFLAGS
787 Specifies the flags to pass to the linker when building for the build 788 Specifies the flags to pass to the linker when building for the build
788 host. When building in the ``-native`` context, 789 host. When building in the ``-native`` context,
789 :term:`LDFLAGS` is set to the value of this variable 790 ```LDFLAGS`` <#var-LDFLAGS>`__ is set to the value of this variable
790 by default. 791 by default.
791 792
792 BUILD_OPTIMIZATION 793 BUILD_OPTIMIZATION
793 Specifies the optimization flags passed to the C compiler when 794 Specifies the optimization flags passed to the C compiler when
794 building for the build host or the SDK. The flags are passed through 795 building for the build host or the SDK. The flags are passed through
795 the :term:`BUILD_CFLAGS` and 796 the ```BUILD_CFLAGS`` <#var-BUILD_CFLAGS>`__ and
796 :term:`BUILDSDK_CFLAGS` default values. 797 ```BUILDSDK_CFLAGS`` <#var-BUILDSDK_CFLAGS>`__ default values.
797 798
798 The default value of the ``BUILD_OPTIMIZATION`` variable is "-O2 799 The default value of the ``BUILD_OPTIMIZATION`` variable is "-O2
799 -pipe". 800 -pipe".
@@ -807,14 +808,14 @@ system and gives an overview of their function and contents.
807 BUILD_PREFIX 808 BUILD_PREFIX
808 The toolchain binary prefix used for native recipes. The OpenEmbedded 809 The toolchain binary prefix used for native recipes. The OpenEmbedded
809 build system uses the ``BUILD_PREFIX`` value to set the 810 build system uses the ``BUILD_PREFIX`` value to set the
810 :term:`TARGET_PREFIX` when building for 811 ```TARGET_PREFIX`` <#var-TARGET_PREFIX>`__ when building for
811 ``native`` recipes. 812 ``native`` recipes.
812 813
813 BUILD_STRIP 814 BUILD_STRIP
814 Specifies the command to be used to strip debugging symbols from 815 Specifies the command to be used to strip debugging symbols from
815 binaries produced for the build host. By default, ``BUILD_STRIP`` 816 binaries produced for the build host. By default, ``BUILD_STRIP``
816 points to 817 points to
817 ``${``\ :term:`BUILD_PREFIX`\ ``}strip``. 818 ``${``\ ```BUILD_PREFIX`` <#var-BUILD_PREFIX>`__\ ``}strip``.
818 819
819 BUILD_SYS 820 BUILD_SYS
820 Specifies the system, including the architecture and the operating 821 Specifies the system, including the architecture and the operating
@@ -822,9 +823,9 @@ system and gives an overview of their function and contents.
822 ``native`` recipes). 823 ``native`` recipes).
823 824
824 The OpenEmbedded build system automatically sets this variable based 825 The OpenEmbedded build system automatically sets this variable based
825 on :term:`BUILD_ARCH`, 826 on ```BUILD_ARCH`` <#var-BUILD_ARCH>`__,
826 :term:`BUILD_VENDOR`, and 827 ```BUILD_VENDOR`` <#var-BUILD_VENDOR>`__, and
827 :term:`BUILD_OS`. You do not need to set the 828 ```BUILD_OS`` <#var-BUILD_OS>`__. You do not need to set the
828 ``BUILD_SYS`` variable yourself. 829 ``BUILD_SYS`` variable yourself.
829 830
830 BUILD_VENDOR 831 BUILD_VENDOR
@@ -832,7 +833,7 @@ system and gives an overview of their function and contents.
832 The default value is an empty string (""). 833 The default value is an empty string ("").
833 834
834 BUILDDIR 835 BUILDDIR
835 Points to the location of the :term:`Build Directory`. 836 Points to the location of the `Build Directory <#build-directory>`__.
836 You can define this directory indirectly through the 837 You can define this directory indirectly through the
837 ````` <#structure-core-script>`__ script by passing in a Build 838 ````` <#structure-core-script>`__ script by passing in a Build
838 Directory path when you run the script. If you run the script and do 839 Directory path when you run the script. If you run the script and do
@@ -840,7 +841,7 @@ system and gives an overview of their function and contents.
840 ``build`` in the current directory. 841 ``build`` in the current directory.
841 842
842 BUILDHISTORY_COMMIT 843 BUILDHISTORY_COMMIT
843 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 844 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
844 class, this variable specifies whether or not to commit the build 845 class, this variable specifies whether or not to commit the build
845 history output in a local Git repository. If set to "1", this local 846 history output in a local Git repository. If set to "1", this local
846 repository will be maintained automatically by the ``buildhistory`` 847 repository will be maintained automatically by the ``buildhistory``
@@ -853,10 +854,10 @@ system and gives an overview of their function and contents.
853 history output in a local Git repository: BUILDHISTORY_COMMIT ?= "0" 854 history output in a local Git repository: BUILDHISTORY_COMMIT ?= "0"
854 855
855 BUILDHISTORY_COMMIT_AUTHOR 856 BUILDHISTORY_COMMIT_AUTHOR
856 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 857 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
857 class, this variable specifies the author to use for each Git commit. 858 class, this variable specifies the author to use for each Git commit.
858 In order for the ``BUILDHISTORY_COMMIT_AUTHOR`` variable to work, the 859 In order for the ``BUILDHISTORY_COMMIT_AUTHOR`` variable to work, the
859 :term:`BUILDHISTORY_COMMIT` variable must 860 ```BUILDHISTORY_COMMIT`` <#var-BUILDHISTORY_COMMIT>`__ variable must
860 be set to "1". 861 be set to "1".
861 862
862 Git requires that the value you provide for the 863 Git requires that the value you provide for the
@@ -868,7 +869,7 @@ system and gives an overview of their function and contents.
868 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>" 869 BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
869 870
870 BUILDHISTORY_DIR 871 BUILDHISTORY_DIR
871 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 872 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
872 class, this variable specifies the directory in which build history 873 class, this variable specifies the directory in which build history
873 information is kept. For more information on how the variable works, 874 information is kept. For more information on how the variable works,
874 see the ``buildhistory.class``. 875 see the ``buildhistory.class``.
@@ -877,7 +878,7 @@ system and gives an overview of their function and contents.
877 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" 878 BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
878 879
879 BUILDHISTORY_FEATURES 880 BUILDHISTORY_FEATURES
880 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 881 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
881 class, this variable specifies the build history features to be 882 class, this variable specifies the build history features to be
882 enabled. For more information on how build history works, see the 883 enabled. For more information on how build history works, see the
883 "`Maintaining Build Output 884 "`Maintaining Build Output
@@ -903,7 +904,7 @@ system and gives an overview of their function and contents.
903 features: BUILDHISTORY_FEATURES ?= "image package sdk" 904 features: BUILDHISTORY_FEATURES ?= "image package sdk"
904 905
905 BUILDHISTORY_IMAGE_FILES 906 BUILDHISTORY_IMAGE_FILES
906 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 907 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
907 class, this variable specifies a list of paths to files copied from 908 class, this variable specifies a list of paths to files copied from
908 the image contents into the build history directory under an 909 the image contents into the build history directory under an
909 "image-files" directory in the directory for the image, so that you 910 "image-files" directory in the directory for the image, so that you
@@ -917,11 +918,11 @@ system and gives an overview of their function and contents.
917 following files: BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" 918 following files: BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group"
918 919
919 BUILDHISTORY_PUSH_REPO 920 BUILDHISTORY_PUSH_REPO
920 When inheriting the :ref:`buildhistory <ref-classes-buildhistory>` 921 When inheriting the ```buildhistory`` <#ref-classes-buildhistory>`__
921 class, this variable optionally specifies a remote repository to 922 class, this variable optionally specifies a remote repository to
922 which build history pushes Git changes. In order for 923 which build history pushes Git changes. In order for
923 ``BUILDHISTORY_PUSH_REPO`` to work, 924 ``BUILDHISTORY_PUSH_REPO`` to work,
924 :term:`BUILDHISTORY_COMMIT` must be set to 925 ```BUILDHISTORY_COMMIT`` <#var-BUILDHISTORY_COMMIT>`__ must be set to
925 "1". 926 "1".
926 927
927 The repository should correspond to a remote address that specifies a 928 The repository should correspond to a remote address that specifies a
@@ -935,33 +936,33 @@ system and gives an overview of their function and contents.
935 BUILDSDK_CFLAGS 936 BUILDSDK_CFLAGS
936 Specifies the flags to pass to the C compiler when building for the 937 Specifies the flags to pass to the C compiler when building for the
937 SDK. When building in the ``nativesdk-`` context, 938 SDK. When building in the ``nativesdk-`` context,
938 :term:`CFLAGS` is set to the value of this variable by 939 ```CFLAGS`` <#var-CFLAGS>`__ is set to the value of this variable by
939 default. 940 default.
940 941
941 BUILDSDK_CPPFLAGS 942 BUILDSDK_CPPFLAGS
942 Specifies the flags to pass to the C pre-processor (i.e. to both the 943 Specifies the flags to pass to the C pre-processor (i.e. to both the
943 C and the C++ compilers) when building for the SDK. When building in 944 C and the C++ compilers) when building for the SDK. When building in
944 the ``nativesdk-`` context, :term:`CPPFLAGS` is set 945 the ``nativesdk-`` context, ```CPPFLAGS`` <#var-CPPFLAGS>`__ is set
945 to the value of this variable by default. 946 to the value of this variable by default.
946 947
947 BUILDSDK_CXXFLAGS 948 BUILDSDK_CXXFLAGS
948 Specifies the flags to pass to the C++ compiler when building for the 949 Specifies the flags to pass to the C++ compiler when building for the
949 SDK. When building in the ``nativesdk-`` context, 950 SDK. When building in the ``nativesdk-`` context,
950 :term:`CXXFLAGS` is set to the value of this variable 951 ```CXXFLAGS`` <#var-CXXFLAGS>`__ is set to the value of this variable
951 by default. 952 by default.
952 953
953 BUILDSDK_LDFLAGS 954 BUILDSDK_LDFLAGS
954 Specifies the flags to pass to the linker when building for the SDK. 955 Specifies the flags to pass to the linker when building for the SDK.
955 When building in the ``nativesdk-`` context, 956 When building in the ``nativesdk-`` context,
956 :term:`LDFLAGS` is set to the value of this variable 957 ```LDFLAGS`` <#var-LDFLAGS>`__ is set to the value of this variable
957 by default. 958 by default.
958 959
959 BUILDSTATS_BASE 960 BUILDSTATS_BASE
960 Points to the location of the directory that holds build statistics 961 Points to the location of the directory that holds build statistics
961 when you use and enable the 962 when you use and enable the
962 :ref:`buildstats <ref-classes-buildstats>` class. The 963 ```buildstats`` <#ref-classes-buildstats>`__ class. The
963 ``BUILDSTATS_BASE`` directory defaults to 964 ``BUILDSTATS_BASE`` directory defaults to
964 ``${``\ :term:`TMPDIR`\ ``}/buildstats/``. 965 ``${``\ ```TMPDIR`` <#var-TMPDIR>`__\ ``}/buildstats/``.
965 966
966 BUSYBOX_SPLIT_SUID 967 BUSYBOX_SPLIT_SUID
967 For the BusyBox recipe, specifies whether to split the output 968 For the BusyBox recipe, specifies whether to split the output
@@ -975,7 +976,7 @@ system and gives an overview of their function and contents.
975 976
976 CACHE 977 CACHE
977 Specifies the directory BitBake uses to store a cache of the 978 Specifies the directory BitBake uses to store a cache of the
978 :term:`Metadata` so it does not need to be parsed every time 979 `Metadata <#metadata>`__ so it does not need to be parsed every time
979 BitBake is started. 980 BitBake is started.
980 981
981 CC 982 CC
@@ -989,21 +990,21 @@ system and gives an overview of their function and contents.
989 Default initialization for ``CFLAGS`` varies depending on what is 990 Default initialization for ``CFLAGS`` varies depending on what is
990 being built: 991 being built:
991 992
992 - :term:`TARGET_CFLAGS` when building for the 993 - ```TARGET_CFLAGS`` <#var-TARGET_CFLAGS>`__ when building for the
993 target 994 target
994 995
995 - :term:`BUILD_CFLAGS` when building for the 996 - ```BUILD_CFLAGS`` <#var-BUILD_CFLAGS>`__ when building for the
996 build host (i.e. ``-native``) 997 build host (i.e. ``-native``)
997 998
998 - :term:`BUILDSDK_CFLAGS` when building for 999 - ```BUILDSDK_CFLAGS`` <#var-BUILDSDK_CFLAGS>`__ when building for
999 an SDK (i.e. ``nativesdk-``) 1000 an SDK (i.e. ``nativesdk-``)
1000 1001
1001 CLASSOVERRIDE 1002 CLASSOVERRIDE
1002 An internal variable specifying the special class override that 1003 An internal variable specifying the special class override that
1003 should currently apply (e.g. "class-target", "class-native", and so 1004 should currently apply (e.g. "class-target", "class-native", and so
1004 forth). The classes that use this variable (e.g. 1005 forth). The classes that use this variable (e.g.
1005 :ref:`native <ref-classes-native>`, 1006 ```native`` <#ref-classes-native>`__,
1006 :ref:`nativesdk <ref-classes-nativesdk>`, and so forth) set the 1007 ```nativesdk`` <#ref-classes-nativesdk>`__, and so forth) set the
1007 variable to appropriate values. 1008 variable to appropriate values.
1008 1009
1009 .. note:: 1010 .. note::
@@ -1021,19 +1022,19 @@ system and gives an overview of their function and contents.
1021 building for the build host: FOO_class-native = "native" FOO = 1022 building for the build host: FOO_class-native = "native" FOO =
1022 "other" The underlying mechanism behind ``CLASSOVERRIDE`` is simply 1023 "other" The underlying mechanism behind ``CLASSOVERRIDE`` is simply
1023 that it is included in the default value of 1024 that it is included in the default value of
1024 :term:`OVERRIDES`. 1025 ```OVERRIDES`` <#var-OVERRIDES>`__.
1025 1026
1026 CLEANBROKEN 1027 CLEANBROKEN
1027 If set to "1" within a recipe, ``CLEANBROKEN`` specifies that the 1028 If set to "1" within a recipe, ``CLEANBROKEN`` specifies that the
1028 ``make clean`` command does not work for the software being built. 1029 ``make clean`` command does not work for the software being built.
1029 Consequently, the OpenEmbedded build system will not try to run 1030 Consequently, the OpenEmbedded build system will not try to run
1030 ``make clean`` during the :ref:`ref-tasks-configure` 1031 ``make clean`` during the ```do_configure`` <#ref-tasks-configure>`__
1031 task, which is the default behavior. 1032 task, which is the default behavior.
1032 1033
1033 COMBINED_FEATURES 1034 COMBINED_FEATURES
1034 Provides a list of hardware features that are enabled in both 1035 Provides a list of hardware features that are enabled in both
1035 :term:`MACHINE_FEATURES` and 1036 ```MACHINE_FEATURES`` <#var-MACHINE_FEATURES>`__ and
1036 :term:`DISTRO_FEATURES`. This select list of 1037 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__. This select list of
1037 features contains features that make sense to be controlled both at 1038 features contains features that make sense to be controlled both at
1038 the machine and distribution configuration level. For example, the 1039 the machine and distribution configuration level. For example, the
1039 "bluetooth" feature requires hardware support but should also be 1040 "bluetooth" feature requires hardware support but should also be
@@ -1041,15 +1042,15 @@ system and gives an overview of their function and contents.
1041 Bluetooth but you do not ever intend to use it. 1042 Bluetooth but you do not ever intend to use it.
1042 1043
1043 COMMON_LICENSE_DIR 1044 COMMON_LICENSE_DIR
1044 Points to ``meta/files/common-licenses`` in the 1045 Points to ``meta/files/common-licenses`` in the `Source
1045 :term:`Source Directory`, which is where generic license 1046 Directory <#source-directory>`__, which is where generic license
1046 files reside. 1047 files reside.
1047 1048
1048 COMPATIBLE_HOST 1049 COMPATIBLE_HOST
1049 A regular expression that resolves to one or more hosts (when the 1050 A regular expression that resolves to one or more hosts (when the
1050 recipe is native) or one or more targets (when the recipe is 1051 recipe is native) or one or more targets (when the recipe is
1051 non-native) with which a recipe is compatible. The regular expression 1052 non-native) with which a recipe is compatible. The regular expression
1052 is matched against :term:`HOST_SYS`. You can use the 1053 is matched against ```HOST_SYS`` <#var-HOST_SYS>`__. You can use the
1053 variable to stop recipes from being built for classes of systems with 1054 variable to stop recipes from being built for classes of systems with
1054 which the recipes are not compatible. Stopping these builds is 1055 which the recipes are not compatible. Stopping these builds is
1055 particularly useful with kernels. The variable also helps to increase 1056 particularly useful with kernels. The variable also helps to increase
@@ -1059,7 +1060,7 @@ system and gives an overview of their function and contents.
1059 COMPATIBLE_MACHINE 1060 COMPATIBLE_MACHINE
1060 A regular expression that resolves to one or more target machines 1061 A regular expression that resolves to one or more target machines
1061 with which a recipe is compatible. The regular expression is matched 1062 with which a recipe is compatible. The regular expression is matched
1062 against :term:`MACHINEOVERRIDES`. You can use 1063 against ```MACHINEOVERRIDES`` <#var-MACHINEOVERRIDES>`__. You can use
1063 the variable to stop recipes from being built for machines with which 1064 the variable to stop recipes from being built for machines with which
1064 the recipes are not compatible. Stopping these builds is particularly 1065 the recipes are not compatible. Stopping these builds is particularly
1065 useful with kernels. The variable also helps to increase parsing 1066 useful with kernels. The variable also helps to increase parsing
@@ -1083,7 +1084,7 @@ system and gives an overview of their function and contents.
1083 1084
1084 The resulting list of complementary packages is associated with an 1085 The resulting list of complementary packages is associated with an
1085 item that can be added to 1086 item that can be added to
1086 :term:`IMAGE_FEATURES`. An example usage of 1087 ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__. An example usage of
1087 this is the "dev-pkgs" item that when added to ``IMAGE_FEATURES`` 1088 this is the "dev-pkgs" item that when added to ``IMAGE_FEATURES``
1088 will install -dev packages (containing headers and other development 1089 will install -dev packages (containing headers and other development
1089 files) for every package in the image. 1090 files) for every package in the image.
@@ -1098,9 +1099,9 @@ system and gives an overview of their function and contents.
1098 sysroots for other recipes. 1099 sysroots for other recipes.
1099 1100
1100 The default is 1101 The default is
1101 "``${``\ :term:`STAGING_DIR`\ ``}-components``." 1102 "``${``\ ```STAGING_DIR`` <#var-STAGING_DIR>`__\ ``}-components``."
1102 (i.e. 1103 (i.e.
1103 "``${``\ :term:`TMPDIR`\ ``}/sysroots-components``"). 1104 "``${``\ ```TMPDIR`` <#var-TMPDIR>`__\ ``}/sysroots-components``").
1104 1105
1105 CONF_VERSION 1106 CONF_VERSION
1106 Tracks the version of the local configuration file (i.e. 1107 Tracks the version of the local configuration file (i.e.
@@ -1182,7 +1183,7 @@ system and gives an overview of their function and contents.
1182 1183
1183 CONFLICT_DISTRO_FEATURES 1184 CONFLICT_DISTRO_FEATURES
1184 When inheriting the 1185 When inheriting the
1185 :ref:`distro_features_check <ref-classes-distro_features_check>` 1186 ```distro_features_check`` <#ref-classes-distro_features_check>`__
1186 class, this variable identifies distribution features that would be 1187 class, this variable identifies distribution features that would be
1187 in conflict should the recipe be built. In other words, if the 1188 in conflict should the recipe be built. In other words, if the
1188 ``CONFLICT_DISTRO_FEATURES`` variable lists a feature that also 1189 ``CONFLICT_DISTRO_FEATURES`` variable lists a feature that also
@@ -1191,9 +1192,9 @@ system and gives an overview of their function and contents.
1191 1192
1192 COPYLEFT_LICENSE_EXCLUDE 1193 COPYLEFT_LICENSE_EXCLUDE
1193 A space-separated list of licenses to exclude from the source 1194 A space-separated list of licenses to exclude from the source
1194 archived by the :ref:`archiver <ref-classes-archiver>` class. In 1195 archived by the ```archiver`` <#ref-classes-archiver>`__ class. In
1195 other words, if a license in a recipe's 1196 other words, if a license in a recipe's
1196 :term:`LICENSE` value is in the value of 1197 ```LICENSE`` <#var-LICENSE>`__ value is in the value of
1197 ``COPYLEFT_LICENSE_EXCLUDE``, then its source is not archived by the 1198 ``COPYLEFT_LICENSE_EXCLUDE``, then its source is not archived by the
1198 class. 1199 class.
1199 1200
@@ -1207,62 +1208,62 @@ system and gives an overview of their function and contents.
1207 1208
1208 The default value, which is "CLOSED Proprietary", for 1209 The default value, which is "CLOSED Proprietary", for
1209 ``COPYLEFT_LICENSE_EXCLUDE`` is set by the 1210 ``COPYLEFT_LICENSE_EXCLUDE`` is set by the
1210 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1211 ```copyleft_filter`` <#ref-classes-copyleft_filter>`__ class, which
1211 is inherited by the ``archiver`` class. 1212 is inherited by the ``archiver`` class.
1212 1213
1213 COPYLEFT_LICENSE_INCLUDE 1214 COPYLEFT_LICENSE_INCLUDE
1214 A space-separated list of licenses to include in the source archived 1215 A space-separated list of licenses to include in the source archived
1215 by the :ref:`archiver <ref-classes-archiver>` class. In other 1216 by the ```archiver`` <#ref-classes-archiver>`__ class. In other
1216 words, if a license in a recipe's :term:`LICENSE` 1217 words, if a license in a recipe's ```LICENSE`` <#var-LICENSE>`__
1217 value is in the value of ``COPYLEFT_LICENSE_INCLUDE``, then its 1218 value is in the value of ``COPYLEFT_LICENSE_INCLUDE``, then its
1218 source is archived by the class. 1219 source is archived by the class.
1219 1220
1220 The default value is set by the 1221 The default value is set by the
1221 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1222 ```copyleft_filter`` <#ref-classes-copyleft_filter>`__ class, which
1222 is inherited by the ``archiver`` class. The default value includes 1223 is inherited by the ``archiver`` class. The default value includes
1223 "GPL*", "LGPL*", and "AGPL*". 1224 "GPL*", "LGPL*", and "AGPL*".
1224 1225
1225 COPYLEFT_PN_EXCLUDE 1226 COPYLEFT_PN_EXCLUDE
1226 A list of recipes to exclude in the source archived by the 1227 A list of recipes to exclude in the source archived by the
1227 :ref:`archiver <ref-classes-archiver>` class. The 1228 ```archiver`` <#ref-classes-archiver>`__ class. The
1228 ``COPYLEFT_PN_EXCLUDE`` variable overrides the license inclusion and 1229 ``COPYLEFT_PN_EXCLUDE`` variable overrides the license inclusion and
1229 exclusion caused through the 1230 exclusion caused through the
1230 :term:`COPYLEFT_LICENSE_INCLUDE` and 1231 ```COPYLEFT_LICENSE_INCLUDE`` <#var-COPYLEFT_LICENSE_INCLUDE>`__ and
1231 :term:`COPYLEFT_LICENSE_EXCLUDE` 1232 ```COPYLEFT_LICENSE_EXCLUDE`` <#var-COPYLEFT_LICENSE_EXCLUDE>`__
1232 variables, respectively. 1233 variables, respectively.
1233 1234
1234 The default value, which is "" indicating to not explicitly exclude 1235 The default value, which is "" indicating to not explicitly exclude
1235 any recipes by name, for ``COPYLEFT_PN_EXCLUDE`` is set by the 1236 any recipes by name, for ``COPYLEFT_PN_EXCLUDE`` is set by the
1236 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1237 ```copyleft_filter`` <#ref-classes-copyleft_filter>`__ class, which
1237 is inherited by the ``archiver`` class. 1238 is inherited by the ``archiver`` class.
1238 1239
1239 COPYLEFT_PN_INCLUDE 1240 COPYLEFT_PN_INCLUDE
1240 A list of recipes to include in the source archived by the 1241 A list of recipes to include in the source archived by the
1241 :ref:`archiver <ref-classes-archiver>` class. The 1242 ```archiver`` <#ref-classes-archiver>`__ class. The
1242 ``COPYLEFT_PN_INCLUDE`` variable overrides the license inclusion and 1243 ``COPYLEFT_PN_INCLUDE`` variable overrides the license inclusion and
1243 exclusion caused through the 1244 exclusion caused through the
1244 :term:`COPYLEFT_LICENSE_INCLUDE` and 1245 ```COPYLEFT_LICENSE_INCLUDE`` <#var-COPYLEFT_LICENSE_INCLUDE>`__ and
1245 :term:`COPYLEFT_LICENSE_EXCLUDE` 1246 ```COPYLEFT_LICENSE_EXCLUDE`` <#var-COPYLEFT_LICENSE_EXCLUDE>`__
1246 variables, respectively. 1247 variables, respectively.
1247 1248
1248 The default value, which is "" indicating to not explicitly include 1249 The default value, which is "" indicating to not explicitly include
1249 any recipes by name, for ``COPYLEFT_PN_INCLUDE`` is set by the 1250 any recipes by name, for ``COPYLEFT_PN_INCLUDE`` is set by the
1250 :ref:`copyleft_filter <ref-classes-copyleft_filter>` class, which 1251 ```copyleft_filter`` <#ref-classes-copyleft_filter>`__ class, which
1251 is inherited by the ``archiver`` class. 1252 is inherited by the ``archiver`` class.
1252 1253
1253 COPYLEFT_RECIPE_TYPES 1254 COPYLEFT_RECIPE_TYPES
1254 A space-separated list of recipe types to include in the source 1255 A space-separated list of recipe types to include in the source
1255 archived by the :ref:`archiver <ref-classes-archiver>` class. 1256 archived by the ```archiver`` <#ref-classes-archiver>`__ class.
1256 Recipe types are ``target``, ``native``, ``nativesdk``, ``cross``, 1257 Recipe types are ``target``, ``native``, ``nativesdk``, ``cross``,
1257 ``crosssdk``, and ``cross-canadian``. 1258 ``crosssdk``, and ``cross-canadian``.
1258 1259
1259 The default value, which is "target*", for ``COPYLEFT_RECIPE_TYPES`` 1260 The default value, which is "target*", for ``COPYLEFT_RECIPE_TYPES``
1260 is set by the :ref:`copyleft_filter <ref-classes-copyleft_filter>` 1261 is set by the ```copyleft_filter`` <#ref-classes-copyleft_filter>`__
1261 class, which is inherited by the ``archiver`` class. 1262 class, which is inherited by the ``archiver`` class.
1262 1263
1263 COPY_LIC_DIRS 1264 COPY_LIC_DIRS
1264 If set to "1" along with the 1265 If set to "1" along with the
1265 :term:`COPY_LIC_MANIFEST` variable, the 1266 ```COPY_LIC_MANIFEST`` <#var-COPY_LIC_MANIFEST>`__ variable, the
1266 OpenEmbedded build system copies into the image the license files, 1267 OpenEmbedded build system copies into the image the license files,
1267 which are located in ``/usr/share/common-licenses``, for each 1268 which are located in ``/usr/share/common-licenses``, for each
1268 package. The license files are placed in directories within the image 1269 package. The license files are placed in directories within the image
@@ -1303,7 +1304,7 @@ system and gives an overview of their function and contents.
1303 CORE_IMAGE_EXTRA_INSTALL 1304 CORE_IMAGE_EXTRA_INSTALL
1304 Specifies the list of packages to be added to the image. You should 1305 Specifies the list of packages to be added to the image. You should
1305 only set this variable in the ``local.conf`` configuration file found 1306 only set this variable in the ``local.conf`` configuration file found
1306 in the :term:`Build Directory`. 1307 in the `Build Directory <#build-directory>`__.
1307 1308
1308 This variable replaces ``POKY_EXTRA_INSTALL``, which is no longer 1309 This variable replaces ``POKY_EXTRA_INSTALL``, which is no longer
1309 supported. 1310 supported.
@@ -1320,7 +1321,7 @@ system and gives an overview of their function and contents.
1320 the ``poky/meta`` layer. 1321 the ``poky/meta`` layer.
1321 1322
1322 COREBASE_FILES 1323 COREBASE_FILES
1323 Lists files from the :term:`COREBASE` directory that 1324 Lists files from the ```COREBASE`` <#var-COREBASE>`__ directory that
1324 should be copied other than the layers listed in the 1325 should be copied other than the layers listed in the
1325 ``bblayers.conf`` file. The ``COREBASE_FILES`` variable exists for 1326 ``bblayers.conf`` file. The ``COREBASE_FILES`` variable exists for
1326 the purpose of copying metadata from the OpenEmbedded build system 1327 the purpose of copying metadata from the OpenEmbedded build system
@@ -1344,19 +1345,19 @@ system and gives an overview of their function and contents.
1344 Default initialization for ``CPPFLAGS`` varies depending on what is 1345 Default initialization for ``CPPFLAGS`` varies depending on what is
1345 being built: 1346 being built:
1346 1347
1347 - :term:`TARGET_CPPFLAGS` when building for 1348 - ```TARGET_CPPFLAGS`` <#var-TARGET_CPPFLAGS>`__ when building for
1348 the target 1349 the target
1349 1350
1350 - :term:`BUILD_CPPFLAGS` when building for the 1351 - ```BUILD_CPPFLAGS`` <#var-BUILD_CPPFLAGS>`__ when building for the
1351 build host (i.e. ``-native``) 1352 build host (i.e. ``-native``)
1352 1353
1353 - :term:`BUILDSDK_CPPFLAGS` when building 1354 - ```BUILDSDK_CPPFLAGS`` <#var-BUILDSDK_CPPFLAGS>`__ when building
1354 for an SDK (i.e. ``nativesdk-``) 1355 for an SDK (i.e. ``nativesdk-``)
1355 1356
1356 CROSS_COMPILE 1357 CROSS_COMPILE
1357 The toolchain binary prefix for the target tools. The 1358 The toolchain binary prefix for the target tools. The
1358 ``CROSS_COMPILE`` variable is the same as the 1359 ``CROSS_COMPILE`` variable is the same as the
1359 :term:`TARGET_PREFIX` variable. 1360 ```TARGET_PREFIX`` <#var-TARGET_PREFIX>`__ variable.
1360 1361
1361 .. note:: 1362 .. note::
1362 1363
@@ -1380,19 +1381,19 @@ system and gives an overview of their function and contents.
1380 Default initialization for ``CXXFLAGS`` varies depending on what is 1381 Default initialization for ``CXXFLAGS`` varies depending on what is
1381 being built: 1382 being built:
1382 1383
1383 - :term:`TARGET_CXXFLAGS` when building for 1384 - ```TARGET_CXXFLAGS`` <#var-TARGET_CXXFLAGS>`__ when building for
1384 the target 1385 the target
1385 1386
1386 - :term:`BUILD_CXXFLAGS` when building for the 1387 - ```BUILD_CXXFLAGS`` <#var-BUILD_CXXFLAGS>`__ when building for the
1387 build host (i.e. ``-native``) 1388 build host (i.e. ``-native``)
1388 1389
1389 - :term:`BUILDSDK_CXXFLAGS` when building 1390 - ```BUILDSDK_CXXFLAGS`` <#var-BUILDSDK_CXXFLAGS>`__ when building
1390 for an SDK (i.e. ``nativesdk-``) 1391 for an SDK (i.e. ``nativesdk-``)
1391 1392
1392 D 1393 D
1393 The destination directory. The location in the :term:`Build Directory` 1394 The destination directory. The location in the `Build
1394 where components are installed by the 1395 Directory <#build-directory>`__ where components are installed by the
1395 :ref:`ref-tasks-install` task. This location defaults 1396 ```do_install`` <#ref-tasks-install>`__ task. This location defaults
1396 to: ${WORKDIR}/image 1397 to: ${WORKDIR}/image
1397 1398
1398 .. note:: 1399 .. note::
@@ -1410,7 +1411,7 @@ system and gives an overview of their function and contents.
1410 suitable for timestamps. 1411 suitable for timestamps.
1411 1412
1412 DEBIAN_NOAUTONAME 1413 DEBIAN_NOAUTONAME
1413 When the :ref:`debian <ref-classes-debian>` class is inherited, 1414 When the ```debian`` <#ref-classes-debian>`__ class is inherited,
1414 which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a 1415 which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a
1415 particular package should not be renamed according to Debian library 1416 particular package should not be renamed according to Debian library
1416 package naming. You must use the package name as an override when you 1417 package naming. You must use the package name as an override when you
@@ -1418,7 +1419,7 @@ system and gives an overview of their function and contents.
1418 DEBIAN_NOAUTONAME_fontconfig-utils = "1" 1419 DEBIAN_NOAUTONAME_fontconfig-utils = "1"
1419 1420
1420 DEBIANNAME 1421 DEBIANNAME
1421 When the :ref:`debian <ref-classes-debian>` class is inherited, 1422 When the ```debian`` <#ref-classes-debian>`__ class is inherited,
1422 which is the default behavior, ``DEBIANNAME`` allows you to override 1423 which is the default behavior, ``DEBIANNAME`` allows you to override
1423 the library name for an individual package. Overriding the library 1424 the library name for an individual package. Overriding the library
1424 name in these cases is rare. You must use the package name as an 1425 name in these cases is rare. You must use the package name as an
@@ -1456,12 +1457,12 @@ system and gives an overview of their function and contents.
1456 The default CPU and Application Binary Interface (ABI) tunings (i.e. 1457 The default CPU and Application Binary Interface (ABI) tunings (i.e.
1457 the "tune") used by the OpenEmbedded build system. The 1458 the "tune") used by the OpenEmbedded build system. The
1458 ``DEFAULTTUNE`` helps define 1459 ``DEFAULTTUNE`` helps define
1459 :term:`TUNE_FEATURES`. 1460 ```TUNE_FEATURES`` <#var-TUNE_FEATURES>`__.
1460 1461
1461 The default tune is either implicitly or explicitly set by the 1462 The default tune is either implicitly or explicitly set by the
1462 machine (:term:`MACHINE`). However, you can override 1463 machine (```MACHINE`` <#var-MACHINE>`__). However, you can override
1463 the setting using available tunes as defined with 1464 the setting using available tunes as defined with
1464 :term:`AVAILTUNES`. 1465 ```AVAILTUNES`` <#var-AVAILTUNES>`__.
1465 1466
1466 DEPENDS 1467 DEPENDS
1467 Lists a recipe's build-time dependencies. These are dependencies on 1468 Lists a recipe's build-time dependencies. These are dependencies on
@@ -1472,13 +1473,13 @@ system and gives an overview of their function and contents.
1472 assignment: DEPENDS = "bar" The practical effect of the previous 1473 assignment: DEPENDS = "bar" The practical effect of the previous
1473 assignment is that all files installed by bar will be available in 1474 assignment is that all files installed by bar will be available in
1474 the appropriate staging sysroot, given by the 1475 the appropriate staging sysroot, given by the
1475 :term:`STAGING_DIR* <STAGING_DIR>` variables, by the time the 1476 ```STAGING_DIR*`` <#var-STAGING_DIR>`__ variables, by the time the
1476 :ref:`ref-tasks-configure` task for ``foo`` runs. 1477 ```do_configure`` <#ref-tasks-configure>`__ task for ``foo`` runs.
1477 This mechanism is implemented by having ``do_configure`` depend on 1478 This mechanism is implemented by having ``do_configure`` depend on
1478 the :ref:`ref-tasks-populate_sysroot` task of 1479 the ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task of
1479 each recipe listed in ``DEPENDS``, through a 1480 each recipe listed in ``DEPENDS``, through a
1480 ``[``\ :ref:`deptask <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` 1481 ``[``\ ```deptask`` <&YOCTO_DOCS_BB_URL;#variable-flags>`__\ ``]``
1481 declaration in the :ref:`base <ref-classes-base>` class. 1482 declaration in the ```base`` <#ref-classes-base>`__ class.
1482 1483
1483 .. note:: 1484 .. note::
1484 1485
@@ -1491,13 +1492,13 @@ system and gives an overview of their function and contents.
1491 that run on the build machine during the build. For example, a recipe 1492 that run on the build machine during the build. For example, a recipe
1492 that makes use of a code generator built by the recipe ``codegen`` 1493 that makes use of a code generator built by the recipe ``codegen``
1493 might have the following: DEPENDS = "codegen-native" For more 1494 might have the following: DEPENDS = "codegen-native" For more
1494 information, see the :ref:`native <ref-classes-native>` class and 1495 information, see the ```native`` <#ref-classes-native>`__ class and
1495 the :term:`EXTRANATIVEPATH` variable. 1496 the ```EXTRANATIVEPATH`` <#var-EXTRANATIVEPATH>`__ variable.
1496 1497
1497 .. note:: 1498 .. note::
1498 1499
1499 - ``DEPENDS`` is a list of recipe names. Or, to be more precise, 1500 - ``DEPENDS`` is a list of recipe names. Or, to be more precise,
1500 it is a list of :term:`PROVIDES` names, which 1501 it is a list of ```PROVIDES`` <#var-PROVIDES>`__ names, which
1501 usually match recipe names. Putting a package name such as 1502 usually match recipe names. Putting a package name such as
1502 "foo-dev" in ``DEPENDS`` does not make sense. Use "foo" 1503 "foo-dev" in ``DEPENDS`` does not make sense. Use "foo"
1503 instead, as this will put files from all the packages that make 1504 instead, as this will put files from all the packages that make
@@ -1523,9 +1524,9 @@ system and gives an overview of their function and contents.
1523 fail to link against ``libfoo``. 1524 fail to link against ``libfoo``.
1524 1525
1525 For information on runtime dependencies, see the 1526 For information on runtime dependencies, see the
1526 :term:`RDEPENDS` variable. You can also see the 1527 ```RDEPENDS`` <#var-RDEPENDS>`__ variable. You can also see the
1527 ":ref:`Tasks <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:tasks>`" and 1528 "`Tasks <&YOCTO_DOCS_BB_URL;#tasks>`__" and
1528 ":ref:`Dependencies <bitbake:bitbake-user-manual/bitbake-user-manual-execution:dependencies>`" sections in the 1529 "`Dependencies <&YOCTO_DOCS_BB_URL;#dependencies>`__" sections in the
1529 BitBake User Manual for additional information on tasks and 1530 BitBake User Manual for additional information on tasks and
1530 dependencies. 1531 dependencies.
1531 1532
@@ -1533,7 +1534,7 @@ system and gives an overview of their function and contents.
1533 Points to the general area that the OpenEmbedded build system uses to 1534 Points to the general area that the OpenEmbedded build system uses to
1534 place images, packages, SDKs, and other output files that are ready 1535 place images, packages, SDKs, and other output files that are ready
1535 to be used outside of the build system. By default, this directory 1536 to be used outside of the build system. By default, this directory
1536 resides within the :term:`Build Directory` as 1537 resides within the `Build Directory <#build-directory>`__ as
1537 ``${TMPDIR}/deploy``. 1538 ``${TMPDIR}/deploy``.
1538 1539
1539 For more information on the structure of the Build Directory, see 1540 For more information on the structure of the Build Directory, see
@@ -1549,17 +1550,17 @@ system and gives an overview of their function and contents.
1549 Points to the area that the OpenEmbedded build system uses to place 1550 Points to the area that the OpenEmbedded build system uses to place
1550 Debian packages that are ready to be used outside of the build 1551 Debian packages that are ready to be used outside of the build
1551 system. This variable applies only when 1552 system. This variable applies only when
1552 :term:`PACKAGE_CLASSES` contains 1553 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__ contains
1553 "package_deb". 1554 "package_deb".
1554 1555
1555 The BitBake configuration file initially defines the 1556 The BitBake configuration file initially defines the
1556 ``DEPLOY_DIR_DEB`` variable as a sub-folder of 1557 ``DEPLOY_DIR_DEB`` variable as a sub-folder of
1557 :term:`DEPLOY_DIR`: DEPLOY_DIR_DEB = 1558 ```DEPLOY_DIR`` <#var-DEPLOY_DIR>`__: DEPLOY_DIR_DEB =
1558 "${DEPLOY_DIR}/deb" 1559 "${DEPLOY_DIR}/deb"
1559 1560
1560 The :ref:`package_deb <ref-classes-package_deb>` class uses the 1561 The ```package_deb`` <#ref-classes-package_deb>`__ class uses the
1561 ``DEPLOY_DIR_DEB`` variable to make sure the 1562 ``DEPLOY_DIR_DEB`` variable to make sure the
1562 :ref:`ref-tasks-package_write_deb` task 1563 ```do_package_write_deb`` <#ref-tasks-package_write_deb>`__ task
1563 writes Debian packages into the appropriate folder. For more 1564 writes Debian packages into the appropriate folder. For more
1564 information on how packaging works, see the "`Package 1565 information on how packaging works, see the "`Package
1565 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section 1566 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section
@@ -1570,7 +1571,7 @@ system and gives an overview of their function and contents.
1570 images and other associated output files that are ready to be 1571 images and other associated output files that are ready to be
1571 deployed onto the target machine. The directory is machine-specific 1572 deployed onto the target machine. The directory is machine-specific
1572 as it contains the ``${MACHINE}`` name. By default, this directory 1573 as it contains the ``${MACHINE}`` name. By default, this directory
1573 resides within the :term:`Build Directory` as 1574 resides within the `Build Directory <#build-directory>`__ as
1574 ``${DEPLOY_DIR}/images/${MACHINE}/``. 1575 ``${DEPLOY_DIR}/images/${MACHINE}/``.
1575 1576
1576 For more information on the structure of the Build Directory, see 1577 For more information on the structure of the Build Directory, see
@@ -1585,16 +1586,16 @@ system and gives an overview of their function and contents.
1585 Points to the area that the OpenEmbedded build system uses to place 1586 Points to the area that the OpenEmbedded build system uses to place
1586 IPK packages that are ready to be used outside of the build system. 1587 IPK packages that are ready to be used outside of the build system.
1587 This variable applies only when 1588 This variable applies only when
1588 :term:`PACKAGE_CLASSES` contains 1589 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__ contains
1589 "package_ipk". 1590 "package_ipk".
1590 1591
1591 The BitBake configuration file initially defines this variable as a 1592 The BitBake configuration file initially defines this variable as a
1592 sub-folder of :term:`DEPLOY_DIR`: DEPLOY_DIR_IPK = 1593 sub-folder of ```DEPLOY_DIR`` <#var-DEPLOY_DIR>`__: DEPLOY_DIR_IPK =
1593 "${DEPLOY_DIR}/ipk" 1594 "${DEPLOY_DIR}/ipk"
1594 1595
1595 The :ref:`package_ipk <ref-classes-package_ipk>` class uses the 1596 The ```package_ipk`` <#ref-classes-package_ipk>`__ class uses the
1596 ``DEPLOY_DIR_IPK`` variable to make sure the 1597 ``DEPLOY_DIR_IPK`` variable to make sure the
1597 :ref:`ref-tasks-package_write_ipk` task 1598 ```do_package_write_ipk`` <#ref-tasks-package_write_ipk>`__ task
1598 writes IPK packages into the appropriate folder. For more information 1599 writes IPK packages into the appropriate folder. For more information
1599 on how packaging works, see the "`Package 1600 on how packaging works, see the "`Package
1600 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section 1601 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section
@@ -1604,16 +1605,16 @@ system and gives an overview of their function and contents.
1604 Points to the area that the OpenEmbedded build system uses to place 1605 Points to the area that the OpenEmbedded build system uses to place
1605 RPM packages that are ready to be used outside of the build system. 1606 RPM packages that are ready to be used outside of the build system.
1606 This variable applies only when 1607 This variable applies only when
1607 :term:`PACKAGE_CLASSES` contains 1608 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__ contains
1608 "package_rpm". 1609 "package_rpm".
1609 1610
1610 The BitBake configuration file initially defines this variable as a 1611 The BitBake configuration file initially defines this variable as a
1611 sub-folder of :term:`DEPLOY_DIR`: DEPLOY_DIR_RPM = 1612 sub-folder of ```DEPLOY_DIR`` <#var-DEPLOY_DIR>`__: DEPLOY_DIR_RPM =
1612 "${DEPLOY_DIR}/rpm" 1613 "${DEPLOY_DIR}/rpm"
1613 1614
1614 The :ref:`package_rpm <ref-classes-package_rpm>` class uses the 1615 The ```package_rpm`` <#ref-classes-package_rpm>`__ class uses the
1615 ``DEPLOY_DIR_RPM`` variable to make sure the 1616 ``DEPLOY_DIR_RPM`` variable to make sure the
1616 :ref:`ref-tasks-package_write_rpm` task 1617 ```do_package_write_rpm`` <#ref-tasks-package_write_rpm>`__ task
1617 writes RPM packages into the appropriate folder. For more information 1618 writes RPM packages into the appropriate folder. For more information
1618 on how packaging works, see the "`Package 1619 on how packaging works, see the "`Package
1619 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section 1620 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section
@@ -1623,54 +1624,54 @@ system and gives an overview of their function and contents.
1623 Points to the area that the OpenEmbedded build system uses to place 1624 Points to the area that the OpenEmbedded build system uses to place
1624 tarballs that are ready to be used outside of the build system. This 1625 tarballs that are ready to be used outside of the build system. This
1625 variable applies only when 1626 variable applies only when
1626 :term:`PACKAGE_CLASSES` contains 1627 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__ contains
1627 "package_tar". 1628 "package_tar".
1628 1629
1629 The BitBake configuration file initially defines this variable as a 1630 The BitBake configuration file initially defines this variable as a
1630 sub-folder of :term:`DEPLOY_DIR`: DEPLOY_DIR_TAR = 1631 sub-folder of ```DEPLOY_DIR`` <#var-DEPLOY_DIR>`__: DEPLOY_DIR_TAR =
1631 "${DEPLOY_DIR}/tar" 1632 "${DEPLOY_DIR}/tar"
1632 1633
1633 The :ref:`package_tar <ref-classes-package_tar>` class uses the 1634 The ```package_tar`` <#ref-classes-package_tar>`__ class uses the
1634 ``DEPLOY_DIR_TAR`` variable to make sure the 1635 ``DEPLOY_DIR_TAR`` variable to make sure the
1635 :ref:`ref-tasks-package_write_tar` task 1636 ```do_package_write_tar`` <#ref-tasks-package_write_tar>`__ task
1636 writes TAR packages into the appropriate folder. For more information 1637 writes TAR packages into the appropriate folder. For more information
1637 on how packaging works, see the "`Package 1638 on how packaging works, see the "`Package
1638 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section 1639 Feeds <&YOCTO_DOCS_OM_URL;#package-feeds-dev-environment>`__" section
1639 in the Yocto Project Overview and Concepts Manual. 1640 in the Yocto Project Overview and Concepts Manual.
1640 1641
1641 DEPLOYDIR 1642 DEPLOYDIR
1642 When inheriting the :ref:`deploy <ref-classes-deploy>` class, the 1643 When inheriting the ```deploy`` <#ref-classes-deploy>`__ class, the
1643 ``DEPLOYDIR`` points to a temporary work area for deployed files that 1644 ``DEPLOYDIR`` points to a temporary work area for deployed files that
1644 is set in the ``deploy`` class as follows: DEPLOYDIR = 1645 is set in the ``deploy`` class as follows: DEPLOYDIR =
1645 "${WORKDIR}/deploy-${:term:`PN`}" 1646 "${WORKDIR}/deploy-${```PN`` <#var-PN>`__}"
1646 1647
1647 Recipes inheriting the ``deploy`` class should copy files to be 1648 Recipes inheriting the ``deploy`` class should copy files to be
1648 deployed into ``DEPLOYDIR``, and the class will take care of copying 1649 deployed into ``DEPLOYDIR``, and the class will take care of copying
1649 them into :term:`DEPLOY_DIR_IMAGE` 1650 them into ```DEPLOY_DIR_IMAGE`` <#var-DEPLOY_DIR_IMAGE>`__
1650 afterwards. 1651 afterwards.
1651 1652
1652 DESCRIPTION 1653 DESCRIPTION
1653 The package description used by package managers. If not set, 1654 The package description used by package managers. If not set,
1654 ``DESCRIPTION`` takes the value of the :term:`SUMMARY` 1655 ``DESCRIPTION`` takes the value of the ```SUMMARY`` <#var-SUMMARY>`__
1655 variable. 1656 variable.
1656 1657
1657 DISTRO 1658 DISTRO
1658 The short name of the distribution. For information on the long name 1659 The short name of the distribution. For information on the long name
1659 of the distribution, see the :term:`DISTRO_NAME` 1660 of the distribution, see the ```DISTRO_NAME`` <#var-DISTRO_NAME>`__
1660 variable. 1661 variable.
1661 1662
1662 The ``DISTRO`` variable corresponds to a distribution configuration 1663 The ``DISTRO`` variable corresponds to a distribution configuration
1663 file whose root name is the same as the variable's argument and whose 1664 file whose root name is the same as the variable's argument and whose
1664 filename extension is ``.conf``. For example, the distribution 1665 filename extension is ``.conf``. For example, the distribution
1665 configuration file for the Poky distribution is named ``poky.conf`` 1666 configuration file for the Poky distribution is named ``poky.conf``
1666 and resides in the ``meta-poky/conf/distro`` directory of the 1667 and resides in the ``meta-poky/conf/distro`` directory of the `Source
1667 :term:`Source Directory`. 1668 Directory <#source-directory>`__.
1668 1669
1669 Within that ``poky.conf`` file, the ``DISTRO`` variable is set as 1670 Within that ``poky.conf`` file, the ``DISTRO`` variable is set as
1670 follows: DISTRO = "poky" 1671 follows: DISTRO = "poky"
1671 1672
1672 Distribution configuration files are located in a ``conf/distro`` 1673 Distribution configuration files are located in a ``conf/distro``
1673 directory within the :term:`Metadata` that contains the 1674 directory within the `Metadata <#metadata>`__ that contains the
1674 distribution configuration. The value for ``DISTRO`` must not contain 1675 distribution configuration. The value for ``DISTRO`` must not contain
1675 spaces, and is typically all lower-case. 1676 spaces, and is typically all lower-case.
1676 1677
@@ -1708,7 +1709,7 @@ system and gives an overview of their function and contents.
1708 In most cases, the presence or absence of a feature in 1709 In most cases, the presence or absence of a feature in
1709 ``DISTRO_FEATURES`` is translated to the appropriate option supplied 1710 ``DISTRO_FEATURES`` is translated to the appropriate option supplied
1710 to the configure script during the 1711 to the configure script during the
1711 :ref:`ref-tasks-configure` task for recipes that 1712 ```do_configure`` <#ref-tasks-configure>`__ task for recipes that
1712 optionally support the feature. For example, specifying "x11" in 1713 optionally support the feature. For example, specifying "x11" in
1713 ``DISTRO_FEATURES``, causes every piece of software built for the 1714 ``DISTRO_FEATURES``, causes every piece of software built for the
1714 target that can optionally support X11 to have its X11 support 1715 target that can optionally support X11 to have its X11 support
@@ -1743,59 +1744,59 @@ system and gives an overview of their function and contents.
1743 1744
1744 When creating a custom distribution, you might find it useful to be 1745 When creating a custom distribution, you might find it useful to be
1745 able to reuse the default 1746 able to reuse the default
1746 :term:`DISTRO_FEATURES` options without the 1747 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__ options without the
1747 need to write out the full set. Here is an example that uses 1748 need to write out the full set. Here is an example that uses
1748 ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file: 1749 ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file:
1749 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature" 1750 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature"
1750 1751
1751 DISTRO_FEATURES_FILTER_NATIVE 1752 DISTRO_FEATURES_FILTER_NATIVE
1752 Specifies a list of features that if present in the target 1753 Specifies a list of features that if present in the target
1753 :term:`DISTRO_FEATURES` value should be 1754 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__ value should be
1754 included in ``DISTRO_FEATURES`` when building native recipes. This 1755 included in ``DISTRO_FEATURES`` when building native recipes. This
1755 variable is used in addition to the features filtered using the 1756 variable is used in addition to the features filtered using the
1756 :term:`DISTRO_FEATURES_NATIVE` 1757 ```DISTRO_FEATURES_NATIVE`` <#var-DISTRO_FEATURES_NATIVE>`__
1757 variable. 1758 variable.
1758 1759
1759 DISTRO_FEATURES_FILTER_NATIVESDK 1760 DISTRO_FEATURES_FILTER_NATIVESDK
1760 Specifies a list of features that if present in the target 1761 Specifies a list of features that if present in the target
1761 :term:`DISTRO_FEATURES` value should be 1762 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__ value should be
1762 included in ``DISTRO_FEATURES`` when building nativesdk recipes. This 1763 included in ``DISTRO_FEATURES`` when building nativesdk recipes. This
1763 variable is used in addition to the features filtered using the 1764 variable is used in addition to the features filtered using the
1764 :term:`DISTRO_FEATURES_NATIVESDK` 1765 ```DISTRO_FEATURES_NATIVESDK`` <#var-DISTRO_FEATURES_NATIVESDK>`__
1765 variable. 1766 variable.
1766 1767
1767 DISTRO_FEATURES_NATIVE 1768 DISTRO_FEATURES_NATIVE
1768 Specifies a list of features that should be included in 1769 Specifies a list of features that should be included in
1769 :term:`DISTRO_FEATURES` when building native 1770 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__ when building native
1770 recipes. This variable is used in addition to the features filtered 1771 recipes. This variable is used in addition to the features filtered
1771 using the 1772 using the
1772 :term:`DISTRO_FEATURES_FILTER_NATIVE` 1773 ```DISTRO_FEATURES_FILTER_NATIVE`` <#var-DISTRO_FEATURES_FILTER_NATIVE>`__
1773 variable. 1774 variable.
1774 1775
1775 DISTRO_FEATURES_NATIVESDK 1776 DISTRO_FEATURES_NATIVESDK
1776 Specifies a list of features that should be included in 1777 Specifies a list of features that should be included in
1777 :term:`DISTRO_FEATURES` when building 1778 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__ when building
1778 nativesdk recipes. This variable is used in addition to the features 1779 nativesdk recipes. This variable is used in addition to the features
1779 filtered using the 1780 filtered using the
1780 :term:`DISTRO_FEATURES_FILTER_NATIVESDK` 1781 ```DISTRO_FEATURES_FILTER_NATIVESDK`` <#var-DISTRO_FEATURES_FILTER_NATIVESDK>`__
1781 variable. 1782 variable.
1782 1783
1783 DISTRO_NAME 1784 DISTRO_NAME
1784 The long name of the distribution. For information on the short name 1785 The long name of the distribution. For information on the short name
1785 of the distribution, see the :term:`DISTRO` variable. 1786 of the distribution, see the ```DISTRO`` <#var-DISTRO>`__ variable.
1786 1787
1787 The ``DISTRO_NAME`` variable corresponds to a distribution 1788 The ``DISTRO_NAME`` variable corresponds to a distribution
1788 configuration file whose root name is the same as the variable's 1789 configuration file whose root name is the same as the variable's
1789 argument and whose filename extension is ``.conf``. For example, the 1790 argument and whose filename extension is ``.conf``. For example, the
1790 distribution configuration file for the Poky distribution is named 1791 distribution configuration file for the Poky distribution is named
1791 ``poky.conf`` and resides in the ``meta-poky/conf/distro`` directory 1792 ``poky.conf`` and resides in the ``meta-poky/conf/distro`` directory
1792 of the :term:`Source Directory`. 1793 of the `Source Directory <#source-directory>`__.
1793 1794
1794 Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set 1795 Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set
1795 as follows: DISTRO_NAME = "Poky (Yocto Project Reference Distro)" 1796 as follows: DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
1796 1797
1797 Distribution configuration files are located in a ``conf/distro`` 1798 Distribution configuration files are located in a ``conf/distro``
1798 directory within the :term:`Metadata` that contains the 1799 directory within the `Metadata <#metadata>`__ that contains the
1799 distribution configuration. 1800 distribution configuration.
1800 1801
1801 .. note:: 1802 .. note::
@@ -1813,27 +1814,27 @@ system and gives an overview of their function and contents.
1813 DISTROOVERRIDES 1814 DISTROOVERRIDES
1814 A colon-separated list of overrides specific to the current 1815 A colon-separated list of overrides specific to the current
1815 distribution. By default, this list includes the value of 1816 distribution. By default, this list includes the value of
1816 :term:`DISTRO`. 1817 ```DISTRO`` <#var-DISTRO>`__.
1817 1818
1818 You can extend ``DISTROOVERRIDES`` to add extra overrides that should 1819 You can extend ``DISTROOVERRIDES`` to add extra overrides that should
1819 apply to the distribution. 1820 apply to the distribution.
1820 1821
1821 The underlying mechanism behind ``DISTROOVERRIDES`` is simply that it 1822 The underlying mechanism behind ``DISTROOVERRIDES`` is simply that it
1822 is included in the default value of 1823 is included in the default value of
1823 :term:`OVERRIDES`. 1824 ```OVERRIDES`` <#var-OVERRIDES>`__.
1824 1825
1825 DL_DIR 1826 DL_DIR
1826 The central download directory used by the build process to store 1827 The central download directory used by the build process to store
1827 downloads. By default, ``DL_DIR`` gets files suitable for mirroring 1828 downloads. By default, ``DL_DIR`` gets files suitable for mirroring
1828 for everything except Git repositories. If you want tarballs of Git 1829 for everything except Git repositories. If you want tarballs of Git
1829 repositories, use the 1830 repositories, use the
1830 :term:`BB_GENERATE_MIRROR_TARBALLS` 1831 ```BB_GENERATE_MIRROR_TARBALLS`` <#var-BB_GENERATE_MIRROR_TARBALLS>`__
1831 variable. 1832 variable.
1832 1833
1833 You can set this directory by defining the ``DL_DIR`` variable in the 1834 You can set this directory by defining the ``DL_DIR`` variable in the
1834 ``conf/local.conf`` file. This directory is self-maintaining and you 1835 ``conf/local.conf`` file. This directory is self-maintaining and you
1835 should not have to touch it. By default, the directory is 1836 should not have to touch it. By default, the directory is
1836 ``downloads`` in the :term:`Build Directory`. #DL_DIR 1837 ``downloads`` in the `Build Directory <#build-directory>`__. #DL_DIR
1837 ?= "${TOPDIR}/downloads" To specify a different download directory, 1838 ?= "${TOPDIR}/downloads" To specify a different download directory,
1838 simply remove the comment from the line and provide your directory. 1839 simply remove the comment from the line and provide your directory.
1839 1840
@@ -1853,12 +1854,12 @@ system and gives an overview of their function and contents.
1853 process gets source files when working behind a firewall or proxy 1854 process gets source files when working behind a firewall or proxy
1854 server, see this specific question in the 1855 server, see this specific question in the
1855 "`FAQ <#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server>`__" 1856 "`FAQ <#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server>`__"
1856 chapter. You can also refer to the 1857 chapter. You can also refer to the "`Working Behind a Network
1857 ":yocto_wiki:`Working Behind a Network Proxy </wiki/Working_Behind_a_Network_Proxy>`" 1858 Proxy <&YOCTO_WIKI_URL;/wiki/Working_Behind_a_Network_Proxy>`__" Wiki
1858 Wiki page. 1859 page.
1859 1860
1860 DOC_COMPRESS 1861 DOC_COMPRESS
1861 When inheriting the :ref:`compress_doc <ref-classes-compress_doc>` 1862 When inheriting the ```compress_doc`` <#ref-classes-compress_doc>`__
1862 class, this variable sets the compression policy used when the 1863 class, this variable sets the compression policy used when the
1863 OpenEmbedded build system compresses man pages and info pages. By 1864 OpenEmbedded build system compresses man pages and info pages. By
1864 default, the compression method used is gz (gzip). Other policies 1865 default, the compression method used is gz (gzip). Other policies
@@ -1869,12 +1870,12 @@ system and gives an overview of their function and contents.
1869 1870
1870 EFI_PROVIDER 1871 EFI_PROVIDER
1871 When building bootable images (i.e. where ``hddimg``, ``iso``, or 1872 When building bootable images (i.e. where ``hddimg``, ``iso``, or
1872 ``wic.vmdk`` is in :term:`IMAGE_FSTYPES`), the 1873 ``wic.vmdk`` is in ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__), the
1873 ``EFI_PROVIDER`` variable specifies the EFI bootloader to use. The 1874 ``EFI_PROVIDER`` variable specifies the EFI bootloader to use. The
1874 default is "grub-efi", but "systemd-boot" can be used instead. 1875 default is "grub-efi", but "systemd-boot" can be used instead.
1875 1876
1876 See the :ref:`systemd-boot <ref-classes-systemd-boot>` and 1877 See the ```systemd-boot`` <#ref-classes-systemd-boot>`__ and
1877 :ref:`image-live <ref-classes-image-live>` classes for more 1878 ```image-live`` <#ref-classes-image-live>`__ classes for more
1878 information. 1879 information.
1879 1880
1880 ENABLE_BINARY_LOCALE_GENERATION 1881 ENABLE_BINARY_LOCALE_GENERATION
@@ -1883,13 +1884,13 @@ system and gives an overview of their function and contents.
1883 less). 1884 less).
1884 1885
1885 ERR_REPORT_DIR 1886 ERR_REPORT_DIR
1886 When used with the :ref:`report-error <ref-classes-report-error>` 1887 When used with the ```report-error`` <#ref-classes-report-error>`__
1887 class, specifies the path used for storing the debug files created by 1888 class, specifies the path used for storing the debug files created by
1888 the `error reporting 1889 the `error reporting
1889 tool <&YOCTO_DOCS_DEV_URL;#using-the-error-reporting-tool>`__, which 1890 tool <&YOCTO_DOCS_DEV_URL;#using-the-error-reporting-tool>`__, which
1890 allows you to submit build errors you encounter to a central 1891 allows you to submit build errors you encounter to a central
1891 database. By default, the value of this variable is 1892 database. By default, the value of this variable is
1892 ``${``\ :term:`LOG_DIR`\ ``}/error-report``. 1893 ``${``\ ```LOG_DIR`` <#var-LOG_DIR>`__\ ``}/error-report``.
1893 1894
1894 You can set ``ERR_REPORT_DIR`` to the path you want the error 1895 You can set ``ERR_REPORT_DIR`` to the path you want the error
1895 reporting tool to store the debug files as follows in your 1896 reporting tool to store the debug files as follows in your
@@ -1900,7 +1901,7 @@ system and gives an overview of their function and contents.
1900 errors by the OpenEmbedded build system. You set this variable in 1901 errors by the OpenEmbedded build system. You set this variable in
1901 your distribution configuration file. For a list of the checks you 1902 your distribution configuration file. For a list of the checks you
1902 can control with this variable, see the 1903 can control with this variable, see the
1903 ":ref:`insane.bbclass <ref-classes-insane>`" section. 1904 "```insane.bbclass`` <#ref-classes-insane>`__" section.
1904 1905
1905 EXCLUDE_FROM_SHLIBS 1906 EXCLUDE_FROM_SHLIBS
1906 Triggers the OpenEmbedded build system's shared libraries resolver to 1907 Triggers the OpenEmbedded build system's shared libraries resolver to
@@ -1917,7 +1918,7 @@ system and gives an overview of their function and contents.
1917 implicitly define some dependencies between packages. 1918 implicitly define some dependencies between packages.
1918 1919
1919 The ``EXCLUDE_FROM_SHLIBS`` variable is similar to the 1920 The ``EXCLUDE_FROM_SHLIBS`` variable is similar to the
1920 :term:`PRIVATE_LIBS` variable, which excludes a 1921 ```PRIVATE_LIBS`` <#var-PRIVATE_LIBS>`__ variable, which excludes a
1921 package's particular libraries only and not the whole package. 1922 package's particular libraries only and not the whole package.
1922 1923
1923 Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a 1924 Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a
@@ -1944,13 +1945,13 @@ system and gives an overview of their function and contents.
1944 1945
1945 EXTENDPE 1946 EXTENDPE
1946 Used with file and pathnames to create a prefix for a recipe's 1947 Used with file and pathnames to create a prefix for a recipe's
1947 version based on the recipe's :term:`PE` value. If ``PE`` 1948 version based on the recipe's ```PE`` <#var-PE>`__ value. If ``PE``
1948 is set and greater than zero for a recipe, ``EXTENDPE`` becomes that 1949 is set and greater than zero for a recipe, ``EXTENDPE`` becomes that
1949 value (e.g if ``PE`` is equal to "1" then ``EXTENDPE`` becomes "1_"). 1950 value (e.g if ``PE`` is equal to "1" then ``EXTENDPE`` becomes "1_").
1950 If a recipe's ``PE`` is not set (the default) or is equal to zero, 1951 If a recipe's ``PE`` is not set (the default) or is equal to zero,
1951 ``EXTENDPE`` becomes "". 1952 ``EXTENDPE`` becomes "".
1952 1953
1953 See the :term:`STAMP` variable for an example. 1954 See the ```STAMP`` <#var-STAMP>`__ variable for an example.
1954 1955
1955 EXTENDPKGV 1956 EXTENDPKGV
1956 The full package version specification as it appears on the final 1957 The full package version specification as it appears on the final
@@ -1970,43 +1971,43 @@ system and gives an overview of their function and contents.
1970 any externally installed tools. Setting the ``EXTERNAL_KERNEL_TOOLS`` 1971 any externally installed tools. Setting the ``EXTERNAL_KERNEL_TOOLS``
1971 variable tells the OpenEmbedded build system to prefer the installed 1972 variable tells the OpenEmbedded build system to prefer the installed
1972 external tools. See the 1973 external tools. See the
1973 :ref:`kernel-yocto <ref-classes-kernel-yocto>` class in 1974 ```kernel-yocto`` <#ref-classes-kernel-yocto>`__ class in
1974 ``meta/classes`` to see how the variable is used. 1975 ``meta/classes`` to see how the variable is used.
1975 1976
1976 EXTERNALSRC 1977 EXTERNALSRC
1977 When inheriting the :ref:`externalsrc <ref-classes-externalsrc>` 1978 When inheriting the ```externalsrc`` <#ref-classes-externalsrc>`__
1978 class, this variable points to the source tree, which is outside of 1979 class, this variable points to the source tree, which is outside of
1979 the OpenEmbedded build system. When set, this variable sets the 1980 the OpenEmbedded build system. When set, this variable sets the
1980 :term:`S` variable, which is what the OpenEmbedded build 1981 ```S`` <#var-S>`__ variable, which is what the OpenEmbedded build
1981 system uses to locate unpacked recipe source code. 1982 system uses to locate unpacked recipe source code.
1982 1983
1983 For more information on ``externalsrc.bbclass``, see the 1984 For more information on ``externalsrc.bbclass``, see the
1984 ":ref:`externalsrc.bbclass <ref-classes-externalsrc>`" section. You 1985 "```externalsrc.bbclass`` <#ref-classes-externalsrc>`__" section. You
1985 can also find information on how to use this variable in the 1986 can also find information on how to use this variable in the
1986 "`Building Software from an External 1987 "`Building Software from an External
1987 Source <&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source>`__" 1988 Source <&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source>`__"
1988 section in the Yocto Project Development Tasks Manual. 1989 section in the Yocto Project Development Tasks Manual.
1989 1990
1990 EXTERNALSRC_BUILD 1991 EXTERNALSRC_BUILD
1991 When inheriting the :ref:`externalsrc <ref-classes-externalsrc>` 1992 When inheriting the ```externalsrc`` <#ref-classes-externalsrc>`__
1992 class, this variable points to the directory in which the recipe's 1993 class, this variable points to the directory in which the recipe's
1993 source code is built, which is outside of the OpenEmbedded build 1994 source code is built, which is outside of the OpenEmbedded build
1994 system. When set, this variable sets the :term:`B` variable, 1995 system. When set, this variable sets the ```B`` <#var-B>`__ variable,
1995 which is what the OpenEmbedded build system uses to locate the Build 1996 which is what the OpenEmbedded build system uses to locate the Build
1996 Directory. 1997 Directory.
1997 1998
1998 For more information on ``externalsrc.bbclass``, see the 1999 For more information on ``externalsrc.bbclass``, see the
1999 ":ref:`externalsrc.bbclass <ref-classes-externalsrc>`" section. You 2000 "```externalsrc.bbclass`` <#ref-classes-externalsrc>`__" section. You
2000 can also find information on how to use this variable in the 2001 can also find information on how to use this variable in the
2001 "`Building Software from an External 2002 "`Building Software from an External
2002 Source <&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source>`__" 2003 Source <&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source>`__"
2003 section in the Yocto Project Development Tasks Manual. 2004 section in the Yocto Project Development Tasks Manual.
2004 2005
2005 EXTRA_AUTORECONF 2006 EXTRA_AUTORECONF
2006 For recipes inheriting the :ref:`autotools <ref-classes-autotools>` 2007 For recipes inheriting the ```autotools`` <#ref-classes-autotools>`__
2007 class, you can use ``EXTRA_AUTORECONF`` to specify extra options to 2008 class, you can use ``EXTRA_AUTORECONF`` to specify extra options to
2008 pass to the ``autoreconf`` command that is executed during the 2009 pass to the ``autoreconf`` command that is executed during the
2009 :ref:`ref-tasks-configure` task. 2010 ```do_configure`` <#ref-tasks-configure>`__ task.
2010 2011
2011 The default value is "--exclude=autopoint". 2012 The default value is "--exclude=autopoint".
2012 2013
@@ -2015,7 +2016,7 @@ system and gives an overview of their function and contents.
2015 more than one feature, separate them with a space. 2016 more than one feature, separate them with a space.
2016 2017
2017 Typically, you configure this variable in your ``local.conf`` file, 2018 Typically, you configure this variable in your ``local.conf`` file,
2018 which is found in the :term:`Build Directory`. 2019 which is found in the `Build Directory <#build-directory>`__.
2019 Although you can use this variable from within a recipe, best 2020 Although you can use this variable from within a recipe, best
2020 practices dictate that you do not. 2021 practices dictate that you do not.
2021 2022
@@ -2054,7 +2055,7 @@ system and gives an overview of their function and contents.
2054 2055
2055 EXTRA_IMAGECMD 2056 EXTRA_IMAGECMD
2056 Specifies additional options for the image creation command that has 2057 Specifies additional options for the image creation command that has
2057 been specified in :term:`IMAGE_CMD`. When setting 2058 been specified in ```IMAGE_CMD`` <#var-IMAGE_CMD>`__. When setting
2058 this variable, use an override for the associated image type. Here is 2059 this variable, use an override for the associated image type. Here is
2059 an example: EXTRA_IMAGECMD_ext3 ?= "-i 4096" 2060 an example: EXTRA_IMAGECMD_ext3 ?= "-i 4096"
2060 2061
@@ -2079,7 +2080,7 @@ system and gives an overview of their function and contents.
2079 2080
2080 EXTRANATIVEPATH 2081 EXTRANATIVEPATH
2081 A list of subdirectories of 2082 A list of subdirectories of
2082 ``${``\ :term:`STAGING_BINDIR_NATIVE`\ ``}`` 2083 ``${``\ ```STAGING_BINDIR_NATIVE`` <#var-STAGING_BINDIR_NATIVE>`__\ ``}``
2083 added to the beginning of the environment variable ``PATH``. As an 2084 added to the beginning of the environment variable ``PATH``. As an
2084 example, the following prepends 2085 example, the following prepends
2085 "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to 2086 "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to
@@ -2087,11 +2088,11 @@ system and gives an overview of their function and contents.
2087 2088
2088 EXTRA_OECMAKE 2089 EXTRA_OECMAKE
2089 Additional `CMake <https://cmake.org/overview/>`__ options. See the 2090 Additional `CMake <https://cmake.org/overview/>`__ options. See the
2090 :ref:`cmake <ref-classes-cmake>` class for additional information. 2091 ```cmake`` <#ref-classes-cmake>`__ class for additional information.
2091 2092
2092 EXTRA_OECONF 2093 EXTRA_OECONF
2093 Additional ``configure`` script options. See 2094 Additional ``configure`` script options. See
2094 :term:`PACKAGECONFIG_CONFARGS` for 2095 ```PACKAGECONFIG_CONFARGS`` <#var-PACKAGECONFIG_CONFARGS>`__ for
2095 additional information on passing configure script options. 2096 additional information on passing configure script options.
2096 2097
2097 EXTRA_OEMAKE 2098 EXTRA_OEMAKE
@@ -2100,21 +2101,21 @@ system and gives an overview of their function and contents.
2100 Because the ``EXTRA_OEMAKE`` defaults to "", you need to set the 2101 Because the ``EXTRA_OEMAKE`` defaults to "", you need to set the
2101 variable to specify any required GNU options. 2102 variable to specify any required GNU options.
2102 2103
2103 :term:`PARALLEL_MAKE` and 2104 ```PARALLEL_MAKE`` <#var-PARALLEL_MAKE>`__ and
2104 :term:`PARALLEL_MAKEINST` also make use of 2105 ```PARALLEL_MAKEINST`` <#var-PARALLEL_MAKEINST>`__ also make use of
2105 ``EXTRA_OEMAKE`` to pass the required flags. 2106 ``EXTRA_OEMAKE`` to pass the required flags.
2106 2107
2107 EXTRA_OESCONS 2108 EXTRA_OESCONS
2108 When inheriting the :ref:`scons <ref-classes-scons>` class, this 2109 When inheriting the ```scons`` <#ref-classes-scons>`__ class, this
2109 variable specifies additional configuration options you want to pass 2110 variable specifies additional configuration options you want to pass
2110 to the ``scons`` command line. 2111 to the ``scons`` command line.
2111 2112
2112 EXTRA_USERS_PARAMS 2113 EXTRA_USERS_PARAMS
2113 When inheriting the :ref:`extrausers <ref-classes-extrausers>` 2114 When inheriting the ```extrausers`` <#ref-classes-extrausers>`__
2114 class, this variable provides image level user and group operations. 2115 class, this variable provides image level user and group operations.
2115 This is a more global method of providing user and group 2116 This is a more global method of providing user and group
2116 configuration as compared to using the 2117 configuration as compared to using the
2117 :ref:`useradd <ref-classes-useradd>` class, which ties user and 2118 ```useradd`` <#ref-classes-useradd>`__ class, which ties user and
2118 group configurations to a specific recipe. 2119 group configurations to a specific recipe.
2119 2120
2120 The set list of commands you can configure using the 2121 The set list of commands you can configure using the
@@ -2126,7 +2127,7 @@ system and gives an overview of their function and contents.
2126 2127
2127 FEATURE_PACKAGES 2128 FEATURE_PACKAGES
2128 Defines one or more packages to include in an image when a specific 2129 Defines one or more packages to include in an image when a specific
2129 item is included in :term:`IMAGE_FEATURES`. 2130 item is included in ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__.
2130 When setting the value, ``FEATURE_PACKAGES`` should have the name of 2131 When setting the value, ``FEATURE_PACKAGES`` should have the name of
2131 the feature item as an override. Here is an example: 2132 the feature item as an override. Here is an example:
2132 FEATURE_PACKAGES_widget = "package1 package2" 2133 FEATURE_PACKAGES_widget = "package1 package2"
@@ -2160,7 +2161,7 @@ system and gives an overview of their function and contents.
2160 2161
2161 FILES 2162 FILES
2162 The list of files and directories that are placed in a package. The 2163 The list of files and directories that are placed in a package. The
2163 :term:`PACKAGES` variable lists the packages 2164 ```PACKAGES`` <#var-PACKAGES>`__ variable lists the packages
2164 generated by a recipe. 2165 generated by a recipe.
2165 2166
2166 To use the ``FILES`` variable, provide a package name override that 2167 To use the ``FILES`` variable, provide a package name override that
@@ -2173,7 +2174,7 @@ system and gives an overview of their function and contents.
2173 2174
2174 - When specifying files or paths, you can pattern match using 2175 - When specifying files or paths, you can pattern match using
2175 Python's 2176 Python's
2176 ```glob`https://docs.python.org/2/library/glob.html 2177 ```glob`` <https://docs.python.org/2/library/glob.html>`__
2177 syntax. For details on the syntax, see the documentation by 2178 syntax. For details on the syntax, see the documentation by
2178 following the previous link. 2179 following the previous link.
2179 2180
@@ -2182,7 +2183,7 @@ system and gives an overview of their function and contents.
2182 use ``${sysconfdir}`` rather than ``/etc``, or ``${bindir}`` 2183 use ``${sysconfdir}`` rather than ``/etc``, or ``${bindir}``
2183 rather than ``/usr/bin``. You can find a list of these 2184 rather than ``/usr/bin``. You can find a list of these
2184 variables at the top of the ``meta/conf/bitbake.conf`` file in 2185 variables at the top of the ``meta/conf/bitbake.conf`` file in
2185 the :term:`Source Directory`. You will also 2186 the `Source Directory <#source-directory>`__. You will also
2186 find the default values of the various ``FILES_*`` variables in 2187 find the default values of the various ``FILES_*`` variables in
2187 this file. 2188 this file.
2188 2189
@@ -2190,12 +2191,12 @@ system and gives an overview of their function and contents.
2190 editable and you know they should not be overwritten during the 2191 editable and you know they should not be overwritten during the
2191 package update process by the Package Management System (PMS), you 2192 package update process by the Package Management System (PMS), you
2192 can identify these files so that the PMS will not overwrite them. See 2193 can identify these files so that the PMS will not overwrite them. See
2193 the :term:`CONFFILES` variable for information on 2194 the ```CONFFILES`` <#var-CONFFILES>`__ variable for information on
2194 how to identify these files to the PMS. 2195 how to identify these files to the PMS.
2195 2196
2196 FILES_SOLIBSDEV 2197 FILES_SOLIBSDEV
2197 Defines the file specification to match 2198 Defines the file specification to match
2198 :term:`SOLIBSDEV`. In other words, 2199 ```SOLIBSDEV`` <#var-SOLIBSDEV>`__. In other words,
2199 ``FILES_SOLIBSDEV`` defines the full path name of the development 2200 ``FILES_SOLIBSDEV`` defines the full path name of the development
2200 symbolic link (symlink) for shared libraries on the target platform. 2201 symbolic link (symlink) for shared libraries on the target platform.
2201 2202
@@ -2207,7 +2208,7 @@ system and gives an overview of their function and contents.
2207 Extends the search path the OpenEmbedded build system uses when 2208 Extends the search path the OpenEmbedded build system uses when
2208 looking for files and patches as it processes recipes and append 2209 looking for files and patches as it processes recipes and append
2209 files. The default directories BitBake uses when it processes recipes 2210 files. The default directories BitBake uses when it processes recipes
2210 are initially defined by the :term:`FILESPATH` 2211 are initially defined by the ```FILESPATH`` <#var-FILESPATH>`__
2211 variable. You can extend ``FILESPATH`` variable by using 2212 variable. You can extend ``FILESPATH`` variable by using
2212 ``FILESEXTRAPATHS``. 2213 ``FILESEXTRAPATHS``.
2213 2214
@@ -2222,7 +2223,7 @@ system and gives an overview of their function and contents.
2222 2223
2223 When extending ``FILESEXTRAPATHS``, be sure to use the immediate 2224 When extending ``FILESEXTRAPATHS``, be sure to use the immediate
2224 expansion (``:=``) operator. Immediate expansion makes sure that 2225 expansion (``:=``) operator. Immediate expansion makes sure that
2225 BitBake evaluates :term:`THISDIR` at the time the 2226 BitBake evaluates ```THISDIR`` <#var-THISDIR>`__ at the time the
2226 directive is encountered rather than at some later time when 2227 directive is encountered rather than at some later time when
2227 expansion might result in a directory that does not contain the 2228 expansion might result in a directory that does not contain the
2228 files you need. 2229 files you need.
@@ -2241,14 +2242,14 @@ system and gives an overview of their function and contents.
2241 FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" 2242 FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:"
2242 2243
2243 A final example shows how you can extend the search path and include 2244 A final example shows how you can extend the search path and include
2244 a :term:`MACHINE`-specific override, which is useful 2245 a ```MACHINE`` <#var-MACHINE>`__-specific override, which is useful
2245 in a BSP layer: FILESEXTRAPATHS_prepend_intel-x86-common := 2246 in a BSP layer: FILESEXTRAPATHS_prepend_intel-x86-common :=
2246 "${THISDIR}/${PN}:" The previous statement appears in the 2247 "${THISDIR}/${PN}:" The previous statement appears in the
2247 ``linux-yocto-dev.bbappend`` file, which is found in the Yocto 2248 ``linux-yocto-dev.bbappend`` file, which is found in the Yocto
2248 Project `Source 2249 Project `Source
2249 Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__ in 2250 Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__ in
2250 ``meta-intel/common/recipes-kernel/linux``. Here, the machine 2251 ``meta-intel/common/recipes-kernel/linux``. Here, the machine
2251 override is a special :term:`PACKAGE_ARCH` 2252 override is a special ```PACKAGE_ARCH`` <#var-PACKAGE_ARCH>`__
2252 definition for multiple ``meta-intel`` machines. 2253 definition for multiple ``meta-intel`` machines.
2253 2254
2254 .. note:: 2255 .. note::
@@ -2263,15 +2264,15 @@ system and gives an overview of their function and contents.
2263 recipe to correctly extend the path. 2264 recipe to correctly extend the path.
2264 2265
2265 FILESOVERRIDES 2266 FILESOVERRIDES
2266 A subset of :term:`OVERRIDES` used by the 2267 A subset of ```OVERRIDES`` <#var-OVERRIDES>`__ used by the
2267 OpenEmbedded build system for creating 2268 OpenEmbedded build system for creating
2268 :term:`FILESPATH`. The ``FILESOVERRIDES`` variable 2269 ```FILESPATH`` <#var-FILESPATH>`__. The ``FILESOVERRIDES`` variable
2269 uses overrides to automatically extend the 2270 uses overrides to automatically extend the
2270 :term:`FILESPATH` variable. For an example of how 2271 ```FILESPATH`` <#var-FILESPATH>`__ variable. For an example of how
2271 that works, see the :term:`FILESPATH` variable 2272 that works, see the ```FILESPATH`` <#var-FILESPATH>`__ variable
2272 description. Additionally, you find more information on how overrides 2273 description. Additionally, you find more information on how overrides
2273 are handled in the 2274 are handled in the "`Conditional Syntax
2274 ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" 2275 (Overrides) <&YOCTO_DOCS_BB_URL;#conditional-syntax-overrides>`__"
2275 section of the BitBake User Manual. 2276 section of the BitBake User Manual.
2276 2277
2277 By default, the ``FILESOVERRIDES`` variable is defined as: 2278 By default, the ``FILESOVERRIDES`` variable is defined as:
@@ -2292,22 +2293,22 @@ system and gives an overview of their function and contents.
2292 During the build process, BitBake searches each directory in 2293 During the build process, BitBake searches each directory in
2293 ``FILESPATH`` in the specified order when looking for files and 2294 ``FILESPATH`` in the specified order when looking for files and
2294 patches specified by each ``file://`` URI in a recipe's 2295 patches specified by each ``file://`` URI in a recipe's
2295 :term:`SRC_URI` statements. 2296 ```SRC_URI`` <#var-SRC_URI>`__ statements.
2296 2297
2297 The default value for the ``FILESPATH`` variable is defined in the 2298 The default value for the ``FILESPATH`` variable is defined in the
2298 ``base.bbclass`` class found in ``meta/classes`` in the 2299 ``base.bbclass`` class found in ``meta/classes`` in the `Source
2299 :term:`Source Directory`: FILESPATH = 2300 Directory <#source-directory>`__: FILESPATH =
2300 "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \\ 2301 "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \\
2301 "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" The 2302 "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" The
2302 ``FILESPATH`` variable is automatically extended using the overrides 2303 ``FILESPATH`` variable is automatically extended using the overrides
2303 from the :term:`FILESOVERRIDES` variable. 2304 from the ```FILESOVERRIDES`` <#var-FILESOVERRIDES>`__ variable.
2304 2305
2305 .. note:: 2306 .. note::
2306 2307
2307 - Do not hand-edit the ``FILESPATH`` variable. If you want the 2308 - Do not hand-edit the ``FILESPATH`` variable. If you want the
2308 build system to look in directories other than the defaults, 2309 build system to look in directories other than the defaults,
2309 extend the ``FILESPATH`` variable by using the 2310 extend the ``FILESPATH`` variable by using the
2310 :term:`FILESEXTRAPATHS` variable. 2311 ```FILESEXTRAPATHS`` <#var-FILESEXTRAPATHS>`__ variable.
2311 2312
2312 - Be aware that the default ``FILESPATH`` directories do not map 2313 - Be aware that the default ``FILESPATH`` directories do not map
2313 to directories in custom layers where append files 2314 to directories in custom layers where append files
@@ -2322,7 +2323,7 @@ system and gives an overview of their function and contents.
2322 files/defconfig files/MACHINEA/defconfig files/MACHINEB/defconfig 2323 files/defconfig files/MACHINEA/defconfig files/MACHINEB/defconfig
2323 Also in the example, the ``SRC_URI`` statement contains 2324 Also in the example, the ``SRC_URI`` statement contains
2324 "file://defconfig". Given this scenario, you can set 2325 "file://defconfig". Given this scenario, you can set
2325 :term:`MACHINE` to "MACHINEA" and cause the build 2326 ```MACHINE`` <#var-MACHINE>`__ to "MACHINEA" and cause the build
2326 system to use files from ``files/MACHINEA``. Set ``MACHINE`` to 2327 system to use files from ``files/MACHINEA``. Set ``MACHINE`` to
2327 "MACHINEB" and the build system uses files from ``files/MACHINEB``. 2328 "MACHINEB" and the build system uses files from ``files/MACHINEB``.
2328 Finally, for any machine other than "MACHINEA" and "MACHINEB", the 2329 Finally, for any machine other than "MACHINEA" and "MACHINEB", the
@@ -2333,7 +2334,7 @@ system and gives an overview of their function and contents.
2333 in the Yocto Project Overview and Concepts Manual and the "`Patching 2334 in the Yocto Project Overview and Concepts Manual and the "`Patching
2334 Code <&YOCTO_DOCS_DEV_URL;#new-recipe-patching-code>`__" section in 2335 Code <&YOCTO_DOCS_DEV_URL;#new-recipe-patching-code>`__" section in
2335 the Yocto Project Development Tasks Manual. See the 2336 the Yocto Project Development Tasks Manual. See the
2336 :ref:`ref-tasks-patch` task as well. 2337 ```do_patch`` <#ref-tasks-patch>`__ task as well.
2337 2338
2338 FILESYSTEM_PERMS_TABLES 2339 FILESYSTEM_PERMS_TABLES
2339 Allows you to define your own file permissions settings table as part 2340 Allows you to define your own file permissions settings table as part
@@ -2343,17 +2344,17 @@ system and gives an overview of their function and contents.
2343 packages themselves but this is not always possible. 2344 packages themselves but this is not always possible.
2344 2345
2345 By default, the OpenEmbedded build system uses the ``fs-perms.txt``, 2346 By default, the OpenEmbedded build system uses the ``fs-perms.txt``,
2346 which is located in the ``meta/files`` folder in the :term:`Source Directory`. 2347 which is located in the ``meta/files`` folder in the `Source
2347 If you create your own file 2348 Directory <#source-directory>`__. If you create your own file
2348 permissions setting table, you should place it in your layer or the 2349 permissions setting table, you should place it in your layer or the
2349 distro's layer. 2350 distro's layer.
2350 2351
2351 You define the ``FILESYSTEM_PERMS_TABLES`` variable in the 2352 You define the ``FILESYSTEM_PERMS_TABLES`` variable in the
2352 ``conf/local.conf`` file, which is found in the :term:`Build Directory`, 2353 ``conf/local.conf`` file, which is found in the `Build
2353 to point to your custom 2354 Directory <#build-directory>`__, to point to your custom
2354 ``fs-perms.txt``. You can specify more than a single file permissions 2355 ``fs-perms.txt``. You can specify more than a single file permissions
2355 setting table. The paths you specify to these files must be defined 2356 setting table. The paths you specify to these files must be defined
2356 within the :term:`BBPATH` variable. 2357 within the ```BBPATH`` <#var-BBPATH>`__ variable.
2357 2358
2358 For guidance on how to create your own file permissions settings 2359 For guidance on how to create your own file permissions settings
2359 table file, examine the existing ``fs-perms.txt``. 2360 table file, examine the existing ``fs-perms.txt``.
@@ -2366,16 +2367,16 @@ system and gives an overview of their function and contents.
2366 For e.g. rsa2048. 2367 For e.g. rsa2048.
2367 2368
2368 FONT_EXTRA_RDEPENDS 2369 FONT_EXTRA_RDEPENDS
2369 When inheriting the :ref:`fontcache <ref-classes-fontcache>` class, 2370 When inheriting the ```fontcache`` <#ref-classes-fontcache>`__ class,
2370 this variable specifies the runtime dependencies for font packages. 2371 this variable specifies the runtime dependencies for font packages.
2371 By default, the ``FONT_EXTRA_RDEPENDS`` is set to "fontconfig-utils". 2372 By default, the ``FONT_EXTRA_RDEPENDS`` is set to "fontconfig-utils".
2372 2373
2373 FONT_PACKAGES 2374 FONT_PACKAGES
2374 When inheriting the :ref:`fontcache <ref-classes-fontcache>` class, 2375 When inheriting the ```fontcache`` <#ref-classes-fontcache>`__ class,
2375 this variable identifies packages containing font files that need to 2376 this variable identifies packages containing font files that need to
2376 be cached by Fontconfig. By default, the ``fontcache`` class assumes 2377 be cached by Fontconfig. By default, the ``fontcache`` class assumes
2377 that fonts are in the recipe's main package (i.e. 2378 that fonts are in the recipe's main package (i.e.
2378 ``${``\ :term:`PN`\ ``}``). Use this variable if fonts you 2379 ``${``\ ```PN`` <#var-PN>`__\ ``}``). Use this variable if fonts you
2379 need are in a package other than that main package. 2380 need are in a package other than that main package.
2380 2381
2381 FORCE_RO_REMOVE 2382 FORCE_RO_REMOVE
@@ -2428,23 +2429,23 @@ system and gives an overview of their function and contents.
2428 "en_GB.UTF-8 en_US.UTF-8" 2429 "en_GB.UTF-8 en_US.UTF-8"
2429 2430
2430 GROUPADD_PARAM 2431 GROUPADD_PARAM
2431 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 2432 When inheriting the ```useradd`` <#ref-classes-useradd>`__ class,
2432 this variable specifies for a package what parameters should be 2433 this variable specifies for a package what parameters should be
2433 passed to the ``groupadd`` command if you wish to add a group to the 2434 passed to the ``groupadd`` command if you wish to add a group to the
2434 system when the package is installed. 2435 system when the package is installed.
2435 2436
2436 Here is an example from the ``dbus`` recipe: GROUPADD_PARAM_${PN} = 2437 Here is an example from the ``dbus`` recipe: GROUPADD_PARAM_${PN} =
2437 "-r netdev" For information on the standard Linux shell command 2438 "-r netdev" For information on the standard Linux shell command
2438 ``groupadd``, see http://linux.die.net/man/8/groupadd. 2439 ``groupadd``, see ` <http://linux.die.net/man/8/groupadd>`__.
2439 2440
2440 GROUPMEMS_PARAM 2441 GROUPMEMS_PARAM
2441 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 2442 When inheriting the ```useradd`` <#ref-classes-useradd>`__ class,
2442 this variable specifies for a package what parameters should be 2443 this variable specifies for a package what parameters should be
2443 passed to the ``groupmems`` command if you wish to modify the members 2444 passed to the ``groupmems`` command if you wish to modify the members
2444 of a group when the package is installed. 2445 of a group when the package is installed.
2445 2446
2446 For information on the standard Linux shell command ``groupmems``, 2447 For information on the standard Linux shell command ``groupmems``,
2447 see http://linux.die.net/man/8/groupmems. 2448 see ` <http://linux.die.net/man/8/groupmems>`__.
2448 2449
2449 GRUB_GFXSERIAL 2450 GRUB_GFXSERIAL
2450 Configures the GNU GRand Unified Bootloader (GRUB) to have graphics 2451 Configures the GNU GRand Unified Bootloader (GRUB) to have graphics
@@ -2452,7 +2453,7 @@ system and gives an overview of their function and contents.
2452 ``local.conf`` or distribution configuration file to enable graphics 2453 ``local.conf`` or distribution configuration file to enable graphics
2453 and serial in the menu. 2454 and serial in the menu.
2454 2455
2455 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 2456 See the ```grub-efi`` <#ref-classes-grub-efi>`__ class for more
2456 information on how this variable is used. 2457 information on how this variable is used.
2457 2458
2458 GRUB_OPTS 2459 GRUB_OPTS
@@ -2461,7 +2462,7 @@ system and gives an overview of their function and contents.
2461 multiple options. 2462 multiple options.
2462 2463
2463 The ``GRUB_OPTS`` variable is optional. See the 2464 The ``GRUB_OPTS`` variable is optional. See the
2464 :ref:`grub-efi <ref-classes-grub-efi>` class for more information 2465 ```grub-efi`` <#ref-classes-grub-efi>`__ class for more information
2465 on how this variable is used. 2466 on how this variable is used.
2466 2467
2467 GRUB_TIMEOUT 2468 GRUB_TIMEOUT
@@ -2469,12 +2470,12 @@ system and gives an overview of their function and contents.
2469 GNU GRand Unified Bootloader (GRUB). 2470 GNU GRand Unified Bootloader (GRUB).
2470 2471
2471 The ``GRUB_TIMEOUT`` variable is optional. See the 2472 The ``GRUB_TIMEOUT`` variable is optional. See the
2472 :ref:`grub-efi <ref-classes-grub-efi>` class for more information 2473 ```grub-efi`` <#ref-classes-grub-efi>`__ class for more information
2473 on how this variable is used. 2474 on how this variable is used.
2474 2475
2475 GTKIMMODULES_PACKAGES 2476 GTKIMMODULES_PACKAGES
2476 When inheriting the 2477 When inheriting the
2477 :ref:`gtk-immodules-cache <ref-classes-gtk-immodules-cache>` class, 2478 ```gtk-immodules-cache`` <#ref-classes-gtk-immodules-cache>`__ class,
2478 this variable specifies the packages that contain the GTK+ input 2479 this variable specifies the packages that contain the GTK+ input
2479 method modules being installed when the modules are in packages other 2480 method modules being installed when the modules are in packages other
2480 than the main package. 2481 than the main package.
@@ -2485,7 +2486,7 @@ system and gives an overview of their function and contents.
2485 2486
2486 HOST_ARCH 2487 HOST_ARCH
2487 The name of the target architecture, which is normally the same as 2488 The name of the target architecture, which is normally the same as
2488 :term:`TARGET_ARCH`. The OpenEmbedded build system 2489 ```TARGET_ARCH`` <#var-TARGET_ARCH>`__. The OpenEmbedded build system
2489 supports many architectures. Here is an example list of architectures 2490 supports many architectures. Here is an example list of architectures
2490 supported. This list is by no means complete as the architecture is 2491 supported. This list is by no means complete as the architecture is
2491 configurable: arm i586 x86_64 powerpc powerpc64 mips mipsel 2492 configurable: arm i586 x86_64 powerpc powerpc64 mips mipsel
@@ -2497,7 +2498,7 @@ system and gives an overview of their function and contents.
2497 Default initialization for ``HOST_CC_ARCH`` varies depending on what 2498 Default initialization for ``HOST_CC_ARCH`` varies depending on what
2498 is being built: 2499 is being built:
2499 2500
2500 - :term:`TARGET_CC_ARCH` when building for the 2501 - ```TARGET_CC_ARCH`` <#var-TARGET_CC_ARCH>`__ when building for the
2501 target 2502 target
2502 2503
2503 - ``BUILD_CC_ARCH`` when building for the build host (i.e. 2504 - ``BUILD_CC_ARCH`` when building for the build host (i.e.
@@ -2508,14 +2509,14 @@ system and gives an overview of their function and contents.
2508 2509
2509 HOST_OS 2510 HOST_OS
2510 Specifies the name of the target operating system, which is normally 2511 Specifies the name of the target operating system, which is normally
2511 the same as the :term:`TARGET_OS`. The variable can 2512 the same as the ```TARGET_OS`` <#var-TARGET_OS>`__. The variable can
2512 be set to "linux" for ``glibc``-based systems and to "linux-musl" for 2513 be set to "linux" for ``glibc``-based systems and to "linux-musl" for
2513 ``musl``. For ARM/EABI targets, there are also "linux-gnueabi" and 2514 ``musl``. For ARM/EABI targets, there are also "linux-gnueabi" and
2514 "linux-musleabi" values possible. 2515 "linux-musleabi" values possible.
2515 2516
2516 HOST_PREFIX 2517 HOST_PREFIX
2517 Specifies the prefix for the cross-compile toolchain. ``HOST_PREFIX`` 2518 Specifies the prefix for the cross-compile toolchain. ``HOST_PREFIX``
2518 is normally the same as :term:`TARGET_PREFIX`. 2519 is normally the same as ```TARGET_PREFIX`` <#var-TARGET_PREFIX>`__.
2519 2520
2520 HOST_SYS 2521 HOST_SYS
2521 Specifies the system, including the architecture and the operating 2522 Specifies the system, including the architecture and the operating
@@ -2523,9 +2524,9 @@ system and gives an overview of their function and contents.
2523 current recipe. 2524 current recipe.
2524 2525
2525 The OpenEmbedded build system automatically sets this variable based 2526 The OpenEmbedded build system automatically sets this variable based
2526 on :term:`HOST_ARCH`, 2527 on ```HOST_ARCH`` <#var-HOST_ARCH>`__,
2527 :term:`HOST_VENDOR`, and 2528 ```HOST_VENDOR`` <#var-HOST_VENDOR>`__, and
2528 :term:`HOST_OS` variables. 2529 ```HOST_OS`` <#var-HOST_OS>`__ variables.
2529 2530
2530 .. note:: 2531 .. note::
2531 2532
@@ -2548,25 +2549,25 @@ system and gives an overview of their function and contents.
2548 is not started. 2549 is not started.
2549 2550
2550 For additional information, see 2551 For additional information, see
2551 :term:`HOSTTOOLS_NONFATAL`. 2552 ```HOSTTOOLS_NONFATAL`` <#var-HOSTTOOLS_NONFATAL>`__.
2552 2553
2553 HOSTTOOLS_NONFATAL 2554 HOSTTOOLS_NONFATAL
2554 A space-separated list (filter) of tools on the build host that 2555 A space-separated list (filter) of tools on the build host that
2555 should be allowed to be called from within build tasks. Using this 2556 should be allowed to be called from within build tasks. Using this
2556 filter helps reduce the possibility of host contamination. Unlike 2557 filter helps reduce the possibility of host contamination. Unlike
2557 :term:`HOSTTOOLS`, the OpenEmbedded build system 2558 ```HOSTTOOLS`` <#var-HOSTTOOLS>`__, the OpenEmbedded build system
2558 does not produce an error if a tool specified in the value of 2559 does not produce an error if a tool specified in the value of
2559 ``HOSTTOOLS_NONFATAL`` is not found on the build host. Thus, you can 2560 ``HOSTTOOLS_NONFATAL`` is not found on the build host. Thus, you can
2560 use ``HOSTTOOLS_NONFATAL`` to filter optional host tools. 2561 use ``HOSTTOOLS_NONFATAL`` to filter optional host tools.
2561 2562
2562 HOST_VENDOR 2563 HOST_VENDOR
2563 Specifies the name of the vendor. ``HOST_VENDOR`` is normally the 2564 Specifies the name of the vendor. ``HOST_VENDOR`` is normally the
2564 same as :term:`TARGET_VENDOR`. 2565 same as ```TARGET_VENDOR`` <#var-TARGET_VENDOR>`__.
2565 2566
2566 ICECC_DISABLED 2567 ICECC_DISABLED
2567 Disables or enables the ``icecc`` (Icecream) function. For more 2568 Disables or enables the ``icecc`` (Icecream) function. For more
2568 information on this function and best practices for using this 2569 information on this function and best practices for using this
2569 variable, see the ":ref:`icecc.bbclass <ref-classes-icecc>`" 2570 variable, see the "```icecc.bbclass`` <#ref-classes-icecc>`__"
2570 section. 2571 section.
2571 2572
2572 Setting this variable to "1" in your ``local.conf`` disables the 2573 Setting this variable to "1" in your ``local.conf`` disables the
@@ -2575,7 +2576,7 @@ system and gives an overview of their function and contents.
2575 2576
2576 ICECC_ENV_EXEC 2577 ICECC_ENV_EXEC
2577 Points to the ``icecc-create-env`` script that you provide. This 2578 Points to the ``icecc-create-env`` script that you provide. This
2578 variable is used by the :ref:`icecc <ref-classes-icecc>` class. You 2579 variable is used by the ```icecc`` <#ref-classes-icecc>`__ class. You
2579 set this variable in your ``local.conf`` file. 2580 set this variable in your ``local.conf`` file.
2580 2581
2581 If you do not point to a script that you provide, the OpenEmbedded 2582 If you do not point to a script that you provide, the OpenEmbedded
@@ -2585,7 +2586,7 @@ system and gives an overview of their function and contents.
2585 2586
2586 ICECC_PARALLEL_MAKE 2587 ICECC_PARALLEL_MAKE
2587 Extra options passed to the ``make`` command during the 2588 Extra options passed to the ``make`` command during the
2588 :ref:`ref-tasks-compile` task that specify parallel 2589 ```do_compile`` <#ref-tasks-compile>`__ task that specify parallel
2589 compilation. This variable usually takes the form of "-j x", where x 2590 compilation. This variable usually takes the form of "-j x", where x
2590 represents the maximum number of parallel threads ``make`` can run. 2591 represents the maximum number of parallel threads ``make`` can run.
2591 2592
@@ -2601,7 +2602,7 @@ system and gives an overview of their function and contents.
2601 performance could take some experimentation since machine speed, 2602 performance could take some experimentation since machine speed,
2602 network lag, available memory, and existing machine loads can all 2603 network lag, available memory, and existing machine loads can all
2603 affect build time. Consequently, unlike the 2604 affect build time. Consequently, unlike the
2604 :term:`PARALLEL_MAKE` variable, there is no 2605 ```PARALLEL_MAKE`` <#var-PARALLEL_MAKE>`__ variable, there is no
2605 rule-of-thumb for setting ``ICECC_PARALLEL_MAKE`` to achieve optimal 2606 rule-of-thumb for setting ``ICECC_PARALLEL_MAKE`` to achieve optimal
2606 performance. 2607 performance.
2607 2608
@@ -2612,13 +2613,13 @@ system and gives an overview of their function and contents.
2612 ICECC_PATH 2613 ICECC_PATH
2613 The location of the ``icecc`` binary. You can set this variable in 2614 The location of the ``icecc`` binary. You can set this variable in
2614 your ``local.conf`` file. If your ``local.conf`` file does not define 2615 your ``local.conf`` file. If your ``local.conf`` file does not define
2615 this variable, the :ref:`icecc <ref-classes-icecc>` class attempts 2616 this variable, the ```icecc`` <#ref-classes-icecc>`__ class attempts
2616 to define it by locating ``icecc`` using ``which``. 2617 to define it by locating ``icecc`` using ``which``.
2617 2618
2618 ICECC_USER_CLASS_BL 2619 ICECC_USER_CLASS_BL
2619 Identifies user classes that you do not want the Icecream distributed 2620 Identifies user classes that you do not want the Icecream distributed
2620 compile support to consider. This variable is used by the 2621 compile support to consider. This variable is used by the
2621 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 2622 ```icecc`` <#ref-classes-icecc>`__ class. You set this variable in
2622 your ``local.conf`` file. 2623 your ``local.conf`` file.
2623 2624
2624 When you list classes using this variable, you are "blacklisting" 2625 When you list classes using this variable, you are "blacklisting"
@@ -2628,7 +2629,7 @@ system and gives an overview of their function and contents.
2628 ICECC_USER_PACKAGE_BL 2629 ICECC_USER_PACKAGE_BL
2629 Identifies user recipes that you do not want the Icecream distributed 2630 Identifies user recipes that you do not want the Icecream distributed
2630 compile support to consider. This variable is used by the 2631 compile support to consider. This variable is used by the
2631 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 2632 ```icecc`` <#ref-classes-icecc>`__ class. You set this variable in
2632 your ``local.conf`` file. 2633 your ``local.conf`` file.
2633 2634
2634 When you list packages using this variable, you are "blacklisting" 2635 When you list packages using this variable, you are "blacklisting"
@@ -2637,15 +2638,15 @@ system and gives an overview of their function and contents.
2637 2638
2638 ICECC_USER_PACKAGE_WL 2639 ICECC_USER_PACKAGE_WL
2639 Identifies user recipes that use an empty 2640 Identifies user recipes that use an empty
2640 :term:`PARALLEL_MAKE` variable that you want to 2641 ```PARALLEL_MAKE`` <#var-PARALLEL_MAKE>`__ variable that you want to
2641 force remote distributed compilation on using the Icecream 2642 force remote distributed compilation on using the Icecream
2642 distributed compile support. This variable is used by the 2643 distributed compile support. This variable is used by the
2643 :ref:`icecc <ref-classes-icecc>` class. You set this variable in 2644 ```icecc`` <#ref-classes-icecc>`__ class. You set this variable in
2644 your ``local.conf`` file. 2645 your ``local.conf`` file.
2645 2646
2646 IMAGE_BASENAME 2647 IMAGE_BASENAME
2647 The base name of image output files. This variable defaults to the 2648 The base name of image output files. This variable defaults to the
2648 recipe name (``${``\ :term:`PN`\ ``}``). 2649 recipe name (``${``\ ```PN`` <#var-PN>`__\ ``}``).
2649 2650
2650 IMAGE_BOOT_FILES 2651 IMAGE_BOOT_FILES
2651 A space-separated list of files installed into the boot partition 2652 A space-separated list of files installed into the boot partition
@@ -2655,7 +2656,7 @@ system and gives an overview of their function and contents.
2655 installed under the same name as the source files. To change the 2656 installed under the same name as the source files. To change the
2656 installed name, separate it from the original name with a semi-colon 2657 installed name, separate it from the original name with a semi-colon
2657 (;). Source files need to be located in 2658 (;). Source files need to be located in
2658 :term:`DEPLOY_DIR_IMAGE`. Here are two 2659 ```DEPLOY_DIR_IMAGE`` <#var-DEPLOY_DIR_IMAGE>`__. Here are two
2659 examples: IMAGE_BOOT_FILES = "u-boot.img uImage;kernel" 2660 examples: IMAGE_BOOT_FILES = "u-boot.img uImage;kernel"
2660 IMAGE_BOOT_FILES = "u-boot.${UBOOT_SUFFIX} ${KERNEL_IMAGETYPE}" 2661 IMAGE_BOOT_FILES = "u-boot.${UBOOT_SUFFIX} ${KERNEL_IMAGETYPE}"
2661 2662
@@ -2686,12 +2687,12 @@ system and gives an overview of their function and contents.
2686 configuration file. 2687 configuration file.
2687 2688
2688 For more information, see ``meta/classes/image_types.bbclass`` in the 2689 For more information, see ``meta/classes/image_types.bbclass`` in the
2689 :term:`Source Directory`. 2690 `Source Directory <#source-directory>`__.
2690 2691
2691 IMAGE_CMD 2692 IMAGE_CMD
2692 Specifies the command to create the image file for a specific image 2693 Specifies the command to create the image file for a specific image
2693 type, which corresponds to the value set set in 2694 type, which corresponds to the value set set in
2694 :term:`IMAGE_FSTYPES`, (e.g. ``ext3``, 2695 ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__, (e.g. ``ext3``,
2695 ``btrfs``, and so forth). When setting this variable, you should use 2696 ``btrfs``, and so forth). When setting this variable, you should use
2696 an override for the associated type. Here is an example: 2697 an override for the associated type. Here is an example:
2697 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \\ --faketime 2698 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \\ --faketime
@@ -2700,7 +2701,7 @@ system and gives an overview of their function and contents.
2700 2701
2701 You typically do not need to set this variable unless you are adding 2702 You typically do not need to set this variable unless you are adding
2702 support for a new image type. For more examples on how to set this 2703 support for a new image type. For more examples on how to set this
2703 variable, see the :ref:`image_types <ref-classes-image_types>` 2704 variable, see the ```image_types`` <#ref-classes-image_types>`__
2704 class file, which is ``meta/classes/image_types.bbclass``. 2705 class file, which is ``meta/classes/image_types.bbclass``.
2705 2706
2706 IMAGE_DEVICE_TABLES 2707 IMAGE_DEVICE_TABLES
@@ -2709,15 +2710,15 @@ system and gives an overview of their function and contents.
2709 These files list basic device nodes that should be created under 2710 These files list basic device nodes that should be created under
2710 ``/dev`` within the image. If ``IMAGE_DEVICE_TABLES`` is not set, 2711 ``/dev`` within the image. If ``IMAGE_DEVICE_TABLES`` is not set,
2711 ``files/device_table-minimal.txt`` is used, which is located by 2712 ``files/device_table-minimal.txt`` is used, which is located by
2712 :term:`BBPATH`. For details on how you should write 2713 ```BBPATH`` <#var-BBPATH>`__. For details on how you should write
2713 device table files, see ``meta/files/device_table-minimal.txt`` as an 2714 device table files, see ``meta/files/device_table-minimal.txt`` as an
2714 example. 2715 example.
2715 2716
2716 IMAGE_FEATURES 2717 IMAGE_FEATURES
2717 The primary list of features to include in an image. Typically, you 2718 The primary list of features to include in an image. Typically, you
2718 configure this variable in an image recipe. Although you can use this 2719 configure this variable in an image recipe. Although you can use this
2719 variable from your ``local.conf`` file, which is found in the 2720 variable from your ``local.conf`` file, which is found in the `Build
2720 :term:`Build Directory`, best practices dictate that you do 2721 Directory <#build-directory>`__, best practices dictate that you do
2721 not. 2722 not.
2722 2723
2723 .. note:: 2724 .. note::
@@ -2743,7 +2744,7 @@ system and gives an overview of their function and contents.
2743 IMAGE_FSTYPES = "ext3 tar.bz2" 2744 IMAGE_FSTYPES = "ext3 tar.bz2"
2744 2745
2745 For the complete list of supported image formats from which you can 2746 For the complete list of supported image formats from which you can
2746 choose, see :term:`IMAGE_TYPES`. 2747 choose, see ```IMAGE_TYPES`` <#var-IMAGE_TYPES>`__.
2747 2748
2748 .. note:: 2749 .. note::
2749 2750
@@ -2758,13 +2759,13 @@ system and gives an overview of their function and contents.
2758 2759
2759 IMAGE_INSTALL 2760 IMAGE_INSTALL
2760 Used by recipes to specify the packages to install into an image 2761 Used by recipes to specify the packages to install into an image
2761 through the :ref:`image <ref-classes-image>` class. Use the 2762 through the ```image`` <#ref-classes-image>`__ class. Use the
2762 ``IMAGE_INSTALL`` variable with care to avoid ordering issues. 2763 ``IMAGE_INSTALL`` variable with care to avoid ordering issues.
2763 2764
2764 Image recipes set ``IMAGE_INSTALL`` to specify the packages to 2765 Image recipes set ``IMAGE_INSTALL`` to specify the packages to
2765 install into an image through ``image.bbclass``. Additionally, 2766 install into an image through ``image.bbclass``. Additionally,
2766 "helper" classes such as the 2767 "helper" classes such as the
2767 :ref:`core-image <ref-classes-core-image>` class exist that can 2768 ```core-image`` <#ref-classes-core-image>`__ class exist that can
2768 take lists used with ``IMAGE_FEATURES`` and turn them into 2769 take lists used with ``IMAGE_FEATURES`` and turn them into
2769 auto-generated entries in ``IMAGE_INSTALL`` in addition to its 2770 auto-generated entries in ``IMAGE_INSTALL`` in addition to its
2770 default contents. 2771 default contents.
@@ -2780,7 +2781,7 @@ system and gives an overview of their function and contents.
2780 ```core-image-minimal-initramfs`` <#images-core-image-minimal-initramfs>`__ 2781 ```core-image-minimal-initramfs`` <#images-core-image-minimal-initramfs>`__
2781 image, do not use the ``IMAGE_INSTALL`` variable to specify 2782 image, do not use the ``IMAGE_INSTALL`` variable to specify
2782 packages for installation. Instead, use the 2783 packages for installation. Instead, use the
2783 :term:`PACKAGE_INSTALL` variable, which 2784 ```PACKAGE_INSTALL`` <#var-PACKAGE_INSTALL>`__ variable, which
2784 allows the initial RAM filesystem (initramfs) recipe to use a 2785 allows the initial RAM filesystem (initramfs) recipe to use a
2785 fixed set of packages and not be affected by ``IMAGE_INSTALL``. 2786 fixed set of packages and not be affected by ``IMAGE_INSTALL``.
2786 For information on creating an initramfs, see the "`Building an 2787 For information on creating an initramfs, see the "`Building an
@@ -2789,13 +2790,13 @@ system and gives an overview of their function and contents.
2789 section in the Yocto Project Development Tasks Manual. 2790 section in the Yocto Project Development Tasks Manual.
2790 2791
2791 - Using ``IMAGE_INSTALL`` with the 2792 - Using ``IMAGE_INSTALL`` with the
2792 :ref:`+= <bitbake:appending-and-prepending>` 2793 ```+=`` <&YOCTO_DOCS_BB_URL;#appending-and-prepending>`__
2793 BitBake operator within the ``/conf/local.conf`` file or from 2794 BitBake operator within the ``/conf/local.conf`` file or from
2794 within an image recipe is not recommended. Use of this operator 2795 within an image recipe is not recommended. Use of this operator
2795 in these ways can cause ordering issues. Since 2796 in these ways can cause ordering issues. Since
2796 ``core-image.bbclass`` sets ``IMAGE_INSTALL`` to a default 2797 ``core-image.bbclass`` sets ``IMAGE_INSTALL`` to a default
2797 value using the 2798 value using the
2798 :ref:`?= <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:setting a default value (?=)>` 2799 ```?=`` <&YOCTO_DOCS_BB_URL;#setting-a-default-value>`__
2799 operator, using a ``+=`` operation against ``IMAGE_INSTALL`` 2800 operator, using a ``+=`` operation against ``IMAGE_INSTALL``
2800 results in unexpected behavior when used within 2801 results in unexpected behavior when used within
2801 ``conf/local.conf``. Furthermore, the same operation from 2802 ``conf/local.conf``. Furthermore, the same operation from
@@ -2819,7 +2820,7 @@ system and gives an overview of their function and contents.
2819 only provide locale files by language and not by country-specific 2820 only provide locale files by language and not by country-specific
2820 language). 2821 language).
2821 2822
2822 See the :term:`GLIBC_GENERATE_LOCALES` 2823 See the ```GLIBC_GENERATE_LOCALES`` <#var-GLIBC_GENERATE_LOCALES>`__
2823 variable for information on generating GLIBC locales. 2824 variable for information on generating GLIBC locales.
2824 2825
2825 IMAGE_MANIFEST 2826 IMAGE_MANIFEST
@@ -2828,19 +2829,19 @@ system and gives an overview of their function and contents.
2828 information on a line-per-package basis as follows: packagename 2829 information on a line-per-package basis as follows: packagename
2829 packagearch version 2830 packagearch version
2830 2831
2831 The :ref:`image <ref-classes-image>` class defines the manifest 2832 The ```image`` <#ref-classes-image>`__ class defines the manifest
2832 file as follows: IMAGE_MANIFEST = 2833 file as follows: IMAGE_MANIFEST =
2833 "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest" The location is 2834 "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest" The location is
2834 derived using the :term:`DEPLOY_DIR_IMAGE` 2835 derived using the ```DEPLOY_DIR_IMAGE`` <#var-DEPLOY_DIR_IMAGE>`__
2835 and :term:`IMAGE_NAME` variables. You can find 2836 and ```IMAGE_NAME`` <#var-IMAGE_NAME>`__ variables. You can find
2836 information on how the image is created in the "`Image 2837 information on how the image is created in the "`Image
2837 Generation <&YOCTO_DOCS_OM_URL;#image-generation-dev-environment>`__" 2838 Generation <&YOCTO_DOCS_OM_URL;#image-generation-dev-environment>`__"
2838 section in the Yocto Project Overview and Concepts Manual. 2839 section in the Yocto Project Overview and Concepts Manual.
2839 2840
2840 IMAGE_NAME 2841 IMAGE_NAME
2841 The name of the output image files minus the extension. This variable 2842 The name of the output image files minus the extension. This variable
2842 is derived using the :term:`IMAGE_BASENAME`, 2843 is derived using the ```IMAGE_BASENAME`` <#var-IMAGE_BASENAME>`__,
2843 :term:`MACHINE`, and :term:`DATETIME` 2844 ```MACHINE`` <#var-MACHINE>`__, and ```DATETIME`` <#var-DATETIME>`__
2844 variables: IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" 2845 variables: IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
2845 2846
2846 IMAGE_OVERHEAD_FACTOR 2847 IMAGE_OVERHEAD_FACTOR
@@ -2873,10 +2874,10 @@ system and gives an overview of their function and contents.
2873 IMAGE_PKGTYPE 2874 IMAGE_PKGTYPE
2874 Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the 2875 Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the
2875 OpenEmbedded build system. The variable is defined appropriately by 2876 OpenEmbedded build system. The variable is defined appropriately by
2876 the :ref:`package_deb <ref-classes-package_deb>`, 2877 the ```package_deb`` <#ref-classes-package_deb>`__,
2877 :ref:`package_rpm <ref-classes-package_rpm>`, 2878 ```package_rpm`` <#ref-classes-package_rpm>`__,
2878 :ref:`package_ipk <ref-classes-package_ipk>`, or 2879 ```package_ipk`` <#ref-classes-package_ipk>`__, or
2879 :ref:`package_tar <ref-classes-package_tar>` class. 2880 ```package_tar`` <#ref-classes-package_tar>`__ class.
2880 2881
2881 .. note:: 2882 .. note::
2882 2883
@@ -2885,14 +2886,14 @@ system and gives an overview of their function and contents.
2885 class is broken and is not supported. It is recommended that you 2886 class is broken and is not supported. It is recommended that you
2886 do not use it. 2887 do not use it.
2887 2888
2888 The :ref:`populate_sdk_* <ref-classes-populate-sdk-*>` and 2889 The ```populate_sdk_*`` <#ref-classes-populate-sdk-*>`__ and
2889 :ref:`image <ref-classes-image>` classes use the ``IMAGE_PKGTYPE`` 2890 ```image`` <#ref-classes-image>`__ classes use the ``IMAGE_PKGTYPE``
2890 for packaging up images and SDKs. 2891 for packaging up images and SDKs.
2891 2892
2892 You should not set the ``IMAGE_PKGTYPE`` manually. Rather, the 2893 You should not set the ``IMAGE_PKGTYPE`` manually. Rather, the
2893 variable is set indirectly through the appropriate 2894 variable is set indirectly through the appropriate
2894 :ref:`package_* <ref-classes-package>` class using the 2895 ```package_*`` <#ref-classes-package>`__ class using the
2895 :term:`PACKAGE_CLASSES` variable. The 2896 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__ variable. The
2896 OpenEmbedded build system uses the first package type (e.g. DEB, RPM, 2897 OpenEmbedded build system uses the first package type (e.g. DEB, RPM,
2897 or IPK) that appears with the variable 2898 or IPK) that appears with the variable
2898 2899
@@ -2912,7 +2913,7 @@ system and gives an overview of their function and contents.
2912 If you need to pass the root filesystem path to a command within the 2913 If you need to pass the root filesystem path to a command within the
2913 function, you can use ``${IMAGE_ROOTFS}``, which points to the 2914 function, you can use ``${IMAGE_ROOTFS}``, which points to the
2914 directory that becomes the root filesystem image. See the 2915 directory that becomes the root filesystem image. See the
2915 :term:`IMAGE_ROOTFS` variable for more 2916 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
2916 information. 2917 information.
2917 2918
2918 IMAGE_PREPROCESS_COMMAND 2919 IMAGE_PREPROCESS_COMMAND
@@ -2924,19 +2925,19 @@ system and gives an overview of their function and contents.
2924 If you need to pass the root filesystem path to a command within the 2925 If you need to pass the root filesystem path to a command within the
2925 function, you can use ``${IMAGE_ROOTFS}``, which points to the 2926 function, you can use ``${IMAGE_ROOTFS}``, which points to the
2926 directory that becomes the root filesystem image. See the 2927 directory that becomes the root filesystem image. See the
2927 :term:`IMAGE_ROOTFS` variable for more 2928 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
2928 information. 2929 information.
2929 2930
2930 IMAGE_ROOTFS 2931 IMAGE_ROOTFS
2931 The location of the root filesystem while it is under construction 2932 The location of the root filesystem while it is under construction
2932 (i.e. during the :ref:`ref-tasks-rootfs` task). This 2933 (i.e. during the ```do_rootfs`` <#ref-tasks-rootfs>`__ task). This
2933 variable is not configurable. Do not change it. 2934 variable is not configurable. Do not change it.
2934 2935
2935 IMAGE_ROOTFS_ALIGNMENT 2936 IMAGE_ROOTFS_ALIGNMENT
2936 Specifies the alignment for the output image file in Kbytes. If the 2937 Specifies the alignment for the output image file in Kbytes. If the
2937 size of the image is not a multiple of this value, then the size is 2938 size of the image is not a multiple of this value, then the size is
2938 rounded up to the nearest multiple of the value. The default value is 2939 rounded up to the nearest multiple of the value. The default value is
2939 "1". See :term:`IMAGE_ROOTFS_SIZE` for 2940 "1". See ```IMAGE_ROOTFS_SIZE`` <#var-IMAGE_ROOTFS_SIZE>`__ for
2940 additional information. 2941 additional information.
2941 2942
2942 IMAGE_ROOTFS_EXTRA_SPACE 2943 IMAGE_ROOTFS_EXTRA_SPACE
@@ -2970,17 +2971,17 @@ system and gives an overview of their function and contents.
2970 internal-rootfs-size = Initial root filesystem size before any 2971 internal-rootfs-size = Initial root filesystem size before any
2971 modifications. xspace = IMAGE_ROOTFS_EXTRA_SPACE 2972 modifications. xspace = IMAGE_ROOTFS_EXTRA_SPACE
2972 2973
2973 See the :term:`IMAGE_OVERHEAD_FACTOR` 2974 See the ```IMAGE_OVERHEAD_FACTOR`` <#var-IMAGE_OVERHEAD_FACTOR>`__
2974 and :term:`IMAGE_ROOTFS_EXTRA_SPACE` 2975 and ```IMAGE_ROOTFS_EXTRA_SPACE`` <#var-IMAGE_ROOTFS_EXTRA_SPACE>`__
2975 variables for related information. 2976 variables for related information.
2976 2977
2977 IMAGE_TYPEDEP 2978 IMAGE_TYPEDEP
2978 Specifies a dependency from one image type on another. Here is an 2979 Specifies a dependency from one image type on another. Here is an
2979 example from the :ref:`image-live <ref-classes-image-live>` class: 2980 example from the ```image-live`` <#ref-classes-image-live>`__ class:
2980 IMAGE_TYPEDEP_live = "ext3" 2981 IMAGE_TYPEDEP_live = "ext3"
2981 2982
2982 In the previous example, the variable ensures that when "live" is 2983 In the previous example, the variable ensures that when "live" is
2983 listed with the :term:`IMAGE_FSTYPES` variable, 2984 listed with the ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ variable,
2984 the OpenEmbedded build system produces an ``ext3`` image first since 2985 the OpenEmbedded build system produces an ``ext3`` image first since
2985 one of the components of the live image is an ``ext3`` formatted 2986 one of the components of the live image is an ``ext3`` formatted
2986 partition containing the root filesystem. 2987 partition containing the root filesystem.
@@ -2994,7 +2995,8 @@ system and gives an overview of their function and contents.
2994 wic.bz2 wic.gz wic.lzma 2995 wic.bz2 wic.gz wic.lzma
2995 2996
2996 For more information about these types of images, see 2997 For more information about these types of images, see
2997 ``meta/classes/image_types*.bbclass`` in the :term:`Source Directory`. 2998 ``meta/classes/image_types*.bbclass`` in the `Source
2999 Directory <#source-directory>`__.
2998 3000
2999 INC_PR 3001 INC_PR
3000 Helps define the recipe revision for recipes that share a common 3002 Helps define the recipe revision for recipes that share a common
@@ -3003,7 +3005,7 @@ system and gives an overview of their function and contents.
3003 3005
3004 Suppose, for example, you have a set of recipes that are used across 3006 Suppose, for example, you have a set of recipes that are used across
3005 several projects. And, within each of those recipes the revision (its 3007 several projects. And, within each of those recipes the revision (its
3006 :term:`PR` value) is set accordingly. In this case, when 3008 ```PR`` <#var-PR>`__ value) is set accordingly. In this case, when
3007 the revision of those recipes changes, the burden is on you to find 3009 the revision of those recipes changes, the burden is on you to find
3008 all those recipes and be sure that they get changed to reflect the 3010 all those recipes and be sure that they get changed to reflect the
3009 updated version of the recipe. In this scenario, it can get 3011 updated version of the recipe. In this scenario, it can get
@@ -3032,7 +3034,7 @@ system and gives an overview of their function and contents.
3032 3034
3033 INCOMPATIBLE_LICENSE 3035 INCOMPATIBLE_LICENSE
3034 Specifies a space-separated list of license names (as they would 3036 Specifies a space-separated list of license names (as they would
3035 appear in :term:`LICENSE`) that should be excluded 3037 appear in ```LICENSE`` <#var-LICENSE>`__) that should be excluded
3036 from the build. Recipes that provide no alternatives to listed 3038 from the build. Recipes that provide no alternatives to listed
3037 incompatible licenses are not built. Packages that are individually 3039 incompatible licenses are not built. Packages that are individually
3038 licensed with the specified incompatible licenses will be deleted. 3040 licensed with the specified incompatible licenses will be deleted.
@@ -3078,8 +3080,9 @@ system and gives an overview of their function and contents.
3078 configuration and in each individual recipe. The OpenEmbedded build 3080 configuration and in each individual recipe. The OpenEmbedded build
3079 system ignores changes to ``INHERIT`` in individual recipes. 3081 system ignores changes to ``INHERIT`` in individual recipes.
3080 3082
3081 For more information on ``INHERIT``, see the 3083 For more information on ``INHERIT``, see the "```INHERIT``
3082 :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:\`\`inherit\`\` configuration directive`" 3084 Configuration
3085 Directive <&YOCTO_DOCS_BB_URL;#inherit-configuration-directive>`__"
3083 section in the Bitbake User Manual. 3086 section in the Bitbake User Manual.
3084 3087
3085 INHERIT_DISTRO 3088 INHERIT_DISTRO
@@ -3092,7 +3095,7 @@ system and gives an overview of their function and contents.
3092 3095
3093 INHIBIT_DEFAULT_DEPS 3096 INHIBIT_DEFAULT_DEPS
3094 Prevents the default dependencies, namely the C compiler and standard 3097 Prevents the default dependencies, namely the C compiler and standard
3095 C library (libc), from being added to :term:`DEPENDS`. 3098 C library (libc), from being added to ```DEPENDS`` <#var-DEPENDS>`__.
3096 This variable is usually used within recipes that do not require any 3099 This variable is usually used within recipes that do not require any
3097 compilation using the C compiler. 3100 compilation using the C compiler.
3098 3101
@@ -3103,9 +3106,9 @@ system and gives an overview of their function and contents.
3103 Prevents the OpenEmbedded build system from splitting out debug 3106 Prevents the OpenEmbedded build system from splitting out debug
3104 information during packaging. By default, the build system splits out 3107 information during packaging. By default, the build system splits out
3105 debugging information during the 3108 debugging information during the
3106 :ref:`ref-tasks-package` task. For more information on 3109 ```do_package`` <#ref-tasks-package>`__ task. For more information on
3107 how debug information is split out, see the 3110 how debug information is split out, see the
3108 :term:`PACKAGE_DEBUG_SPLIT_STYLE` 3111 ```PACKAGE_DEBUG_SPLIT_STYLE`` <#var-PACKAGE_DEBUG_SPLIT_STYLE>`__
3109 variable. 3112 variable.
3110 3113
3111 To prevent the build system from splitting out debug information 3114 To prevent the build system from splitting out debug information
@@ -3118,7 +3121,7 @@ system and gives an overview of their function and contents.
3118 files. 3121 files.
3119 3122
3120 By default, the OpenEmbedded build system strips binaries and puts 3123 By default, the OpenEmbedded build system strips binaries and puts
3121 the debugging symbols into ``${``\ :term:`PN`\ ``}-dbg``. 3124 the debugging symbols into ``${``\ ```PN`` <#var-PN>`__\ ``}-dbg``.
3122 Consequently, you should not set ``INHIBIT_PACKAGE_STRIP`` when you 3125 Consequently, you should not set ``INHIBIT_PACKAGE_STRIP`` when you
3123 plan to debug in general. 3126 plan to debug in general.
3124 3127
@@ -3132,7 +3135,7 @@ system and gives an overview of their function and contents.
3132 this stripping. 3135 this stripping.
3133 3136
3134 If you want to use this variable, include the 3137 If you want to use this variable, include the
3135 :ref:`staging <ref-classes-staging>` class. This class uses a 3138 ```staging`` <#ref-classes-staging>`__ class. This class uses a
3136 ``sys_strip()`` function to test for the variable and acts 3139 ``sys_strip()`` function to test for the variable and acts
3137 accordingly. 3140 accordingly.
3138 3141
@@ -3150,24 +3153,24 @@ system and gives an overview of their function and contents.
3150 Defines the format for the output image of an initial RAM filesystem 3153 Defines the format for the output image of an initial RAM filesystem
3151 (initramfs), which is used during boot. Supported formats are the 3154 (initramfs), which is used during boot. Supported formats are the
3152 same as those supported by the 3155 same as those supported by the
3153 :term:`IMAGE_FSTYPES` variable. 3156 ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ variable.
3154 3157
3155 The default value of this variable, which is set in the 3158 The default value of this variable, which is set in the
3156 ``meta/conf/bitbake.conf`` configuration file in the 3159 ``meta/conf/bitbake.conf`` configuration file in the `Source
3157 :term:`Source Directory`, is "cpio.gz". The Linux kernel's 3160 Directory <#source-directory>`__, is "cpio.gz". The Linux kernel's
3158 initramfs mechanism, as opposed to the initial RAM filesystem 3161 initramfs mechanism, as opposed to the initial RAM filesystem
3159 `initrd <https://en.wikipedia.org/wiki/Initrd>`__ mechanism, expects 3162 `initrd <https://en.wikipedia.org/wiki/Initrd>`__ mechanism, expects
3160 an optionally compressed cpio archive. 3163 an optionally compressed cpio archive.
3161 3164
3162 INITRAMFS_IMAGE 3165 INITRAMFS_IMAGE
3163 Specifies the :term:`PROVIDES` name of an image 3166 Specifies the ```PROVIDES`` <#var-PROVIDES>`__ name of an image
3164 recipe that is used to build an initial RAM filesystem (initramfs) 3167 recipe that is used to build an initial RAM filesystem (initramfs)
3165 image. In other words, the ``INITRAMFS_IMAGE`` variable causes an 3168 image. In other words, the ``INITRAMFS_IMAGE`` variable causes an
3166 additional recipe to be built as a dependency to whatever root 3169 additional recipe to be built as a dependency to whatever root
3167 filesystem recipe you might be using (e.g. ``core-image-sato``). The 3170 filesystem recipe you might be using (e.g. ``core-image-sato``). The
3168 initramfs image recipe you provide should set 3171 initramfs image recipe you provide should set
3169 :term:`IMAGE_FSTYPES` to 3172 ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ to
3170 :term:`INITRAMFS_FSTYPES`. 3173 ```INITRAMFS_FSTYPES`` <#var-INITRAMFS_FSTYPES>`__.
3171 3174
3172 An initramfs image provides a temporary root filesystem used for 3175 An initramfs image provides a temporary root filesystem used for
3173 early system initialization (e.g. loading of modules needed to locate 3176 early system initialization (e.g. loading of modules needed to locate
@@ -3186,15 +3189,15 @@ system and gives an overview of their function and contents.
3186 3189
3187 You can also find more information by referencing the 3190 You can also find more information by referencing the
3188 ``meta-poky/conf/local.conf.sample.extended`` configuration file in 3191 ``meta-poky/conf/local.conf.sample.extended`` configuration file in
3189 the Source Directory, the :ref:`image <ref-classes-image>` class, 3192 the Source Directory, the ```image`` <#ref-classes-image>`__ class,
3190 and the :ref:`kernel <ref-classes-kernel>` class to see how to use 3193 and the ```kernel`` <#ref-classes-kernel>`__ class to see how to use
3191 the ``INITRAMFS_IMAGE`` variable. 3194 the ``INITRAMFS_IMAGE`` variable.
3192 3195
3193 If ``INITRAMFS_IMAGE`` is empty, which is the default, then no 3196 If ``INITRAMFS_IMAGE`` is empty, which is the default, then no
3194 initramfs image is built. 3197 initramfs image is built.
3195 3198
3196 For more information, you can also see the 3199 For more information, you can also see the
3197 :term:`INITRAMFS_IMAGE_BUNDLE` 3200 ```INITRAMFS_IMAGE_BUNDLE`` <#var-INITRAMFS_IMAGE_BUNDLE>`__
3198 variable, which allows the generated image to be bundled inside the 3201 variable, which allows the generated image to be bundled inside the
3199 kernel image. Additionally, for information on creating an initramfs 3202 kernel image. Additionally, for information on creating an initramfs
3200 image, see the "`Building an Initial RAM Filesystem (initramfs) 3203 image, see the "`Building an Initial RAM Filesystem (initramfs)
@@ -3203,13 +3206,13 @@ system and gives an overview of their function and contents.
3203 3206
3204 INITRAMFS_IMAGE_BUNDLE 3207 INITRAMFS_IMAGE_BUNDLE
3205 Controls whether or not the image recipe specified by 3208 Controls whether or not the image recipe specified by
3206 :term:`INITRAMFS_IMAGE` is run through an 3209 ```INITRAMFS_IMAGE`` <#var-INITRAMFS_IMAGE>`__ is run through an
3207 extra pass 3210 extra pass
3208 (:ref:`ref-tasks-bundle_initramfs`) during 3211 (```do_bundle_initramfs`` <#ref-tasks-bundle_initramfs>`__) during
3209 kernel compilation in order to build a single binary that contains 3212 kernel compilation in order to build a single binary that contains
3210 both the kernel image and the initial RAM filesystem (initramfs) 3213 both the kernel image and the initial RAM filesystem (initramfs)
3211 image. This makes use of the 3214 image. This makes use of the
3212 :term:`CONFIG_INITRAMFS_SOURCE` kernel 3215 ```CONFIG_INITRAMFS_SOURCE`` <#var-CONFIG_INITRAMFS_SOURCE>`__ kernel
3213 feature. 3216 feature.
3214 3217
3215 .. note:: 3218 .. note::
@@ -3222,13 +3225,13 @@ system and gives an overview of their function and contents.
3222 since the initramfs is bundled inside the kernel image. 3225 since the initramfs is bundled inside the kernel image.
3223 3226
3224 The combined binary is deposited into the ``tmp/deploy`` directory, 3227 The combined binary is deposited into the ``tmp/deploy`` directory,
3225 which is part of the :term:`Build Directory`. 3228 which is part of the `Build Directory <#build-directory>`__.
3226 3229
3227 Setting the variable to "1" in a configuration file causes the 3230 Setting the variable to "1" in a configuration file causes the
3228 OpenEmbedded build system to generate a kernel image with the 3231 OpenEmbedded build system to generate a kernel image with the
3229 initramfs specified in ``INITRAMFS_IMAGE`` bundled within: 3232 initramfs specified in ``INITRAMFS_IMAGE`` bundled within:
3230 INITRAMFS_IMAGE_BUNDLE = "1" By default, the 3233 INITRAMFS_IMAGE_BUNDLE = "1" By default, the
3231 :ref:`kernel <ref-classes-kernel>` class sets this variable to a 3234 ```kernel`` <#ref-classes-kernel>`__ class sets this variable to a
3232 null string as follows: INITRAMFS_IMAGE_BUNDLE ?= "" 3235 null string as follows: INITRAMFS_IMAGE_BUNDLE ?= ""
3233 3236
3234 .. note:: 3237 .. note::
@@ -3239,7 +3242,7 @@ system and gives an overview of their function and contents.
3239 recipe file. 3242 recipe file.
3240 3243
3241 See the 3244 See the
3242 :yocto_git:`local.conf.sample.extended </cgit/cgit.cgi/poky/tree/meta-poky/conf/local.conf.sample.extended>` 3245 ```local.conf.sample.extended`` <&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-poky/conf/local.conf.sample.extended>`__
3243 file for additional information. Also, for information on creating an 3246 file for additional information. Also, for information on creating an
3244 initramfs, see the "`Building an Initial RAM Filesystem (initramfs) 3247 initramfs, see the "`Building an Initial RAM Filesystem (initramfs)
3245 Image <&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image>`__" section 3248 Image <&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image>`__" section
@@ -3254,14 +3257,14 @@ system and gives an overview of their function and contents.
3254 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?= 3257 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?=
3255 "${MACHINE}" 3258 "${MACHINE}"
3256 3259
3257 See the :term:`MACHINE` variable for additional 3260 See the ```MACHINE`` <#var-MACHINE>`__ variable for additional
3258 information. 3261 information.
3259 3262
3260 INITRAMFS_NAME 3263 INITRAMFS_NAME
3261 The base name of the initial RAM filesystem image. This variable is 3264 The base name of the initial RAM filesystem image. This variable is
3262 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3265 set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3263 follows: INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}" The 3266 follows: INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}" The
3264 value of the :term:`KERNEL_ARTIFACT_NAME` 3267 value of the ```KERNEL_ARTIFACT_NAME`` <#var-KERNEL_ARTIFACT_NAME>`__
3265 variable, which is set in the same file, has the following value: 3268 variable, which is set in the same file, has the following value:
3266 KERNEL_ARTIFACT_NAME ?= 3269 KERNEL_ARTIFACT_NAME ?=
3267 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3270 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
@@ -3271,16 +3274,16 @@ system and gives an overview of their function and contents.
3271 initial RAM disk (``initrd``). 3274 initial RAM disk (``initrd``).
3272 3275
3273 The ``INITRD`` variable is an optional variable used with the 3276 The ``INITRD`` variable is an optional variable used with the
3274 :ref:`image-live <ref-classes-image-live>` class. 3277 ```image-live`` <#ref-classes-image-live>`__ class.
3275 3278
3276 INITRD_IMAGE 3279 INITRD_IMAGE
3277 When building a "live" bootable image (i.e. when 3280 When building a "live" bootable image (i.e. when
3278 :term:`IMAGE_FSTYPES` contains "live"), 3281 ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ contains "live"),
3279 ``INITRD_IMAGE`` specifies the image recipe that should be built to 3282 ``INITRD_IMAGE`` specifies the image recipe that should be built to
3280 provide the initial RAM disk image. The default value is 3283 provide the initial RAM disk image. The default value is
3281 "core-image-minimal-initramfs". 3284 "core-image-minimal-initramfs".
3282 3285
3283 See the :ref:`image-live <ref-classes-image-live>` class for more 3286 See the ```image-live`` <#ref-classes-image-live>`__ class for more
3284 information. 3287 information.
3285 3288
3286 INITSCRIPT_NAME 3289 INITSCRIPT_NAME
@@ -3296,7 +3299,7 @@ system and gives an overview of their function and contents.
3296 ``INITSCRIPT_*`` as an override. 3299 ``INITSCRIPT_*`` as an override.
3297 3300
3298 This variable is used in recipes when using ``update-rc.d.bbclass``. 3301 This variable is used in recipes when using ``update-rc.d.bbclass``.
3299 The variable is optional and defaults to the :term:`PN` 3302 The variable is optional and defaults to the ```PN`` <#var-PN>`__
3300 variable. 3303 variable.
3301 3304
3302 INITSCRIPT_PARAMS 3305 INITSCRIPT_PARAMS
@@ -3307,12 +3310,12 @@ system and gives an overview of their function and contents.
3307 in initlevels 2 and 5, and stops the script in levels 0, 1 and 6. 3310 in initlevels 2 and 5, and stops the script in levels 0, 1 and 6.
3308 3311
3309 The variable's default value is "defaults", which is set in the 3312 The variable's default value is "defaults", which is set in the
3310 :ref:`update-rc.d <ref-classes-update-rc.d>` class. 3313 ```update-rc.d`` <#ref-classes-update-rc.d>`__ class.
3311 3314
3312 The value in ``INITSCRIPT_PARAMS`` is passed through to the 3315 The value in ``INITSCRIPT_PARAMS`` is passed through to the
3313 ``update-rc.d`` command. For more information on valid parameters, 3316 ``update-rc.d`` command. For more information on valid parameters,
3314 please see the ``update-rc.d`` manual page at 3317 please see the ``update-rc.d`` manual page at
3315 http://www.tin.org/bin/man.cgi?section=8&topic=update-rc.d. 3318 ` <http://www.tin.org/bin/man.cgi?section=8&topic=update-rc.d>`__.
3316 3319
3317 INSANE_SKIP 3320 INSANE_SKIP
3318 Specifies the QA checks to skip for a specific package within a 3321 Specifies the QA checks to skip for a specific package within a
@@ -3321,7 +3324,7 @@ system and gives an overview of their function and contents.
3321 recipe. The package name override must be used, which in this example 3324 recipe. The package name override must be used, which in this example
3322 is ``${PN}``: INSANE_SKIP_${PN} += "dev-so" 3325 is ``${PN}``: INSANE_SKIP_${PN} += "dev-so"
3323 3326
3324 See the ":ref:`insane.bbclass <ref-classes-insane>`" section for a 3327 See the "```insane.bbclass`` <#ref-classes-insane>`__" section for a
3325 list of the valid QA checks you can specify using this variable. 3328 list of the valid QA checks you can specify using this variable.
3326 3329
3327 INSTALL_TIMEZONE_FILE 3330 INSTALL_TIMEZONE_FILE
@@ -3373,7 +3376,7 @@ system and gives an overview of their function and contents.
3373 BSP. 3376 BSP.
3374 3377
3375 KBUILD_DEFCONFIG 3378 KBUILD_DEFCONFIG
3376 When used with the :ref:`kernel-yocto <ref-classes-kernel-yocto>` 3379 When used with the ```kernel-yocto`` <#ref-classes-kernel-yocto>`__
3377 class, specifies an "in-tree" kernel configuration file for use 3380 class, specifies an "in-tree" kernel configuration file for use
3378 during a kernel build. 3381 during a kernel build.
3379 3382
@@ -3383,7 +3386,7 @@ system and gives an overview of their function and contents.
3383 "out-of-tree"). However, if you want to use a ``defconfig`` file that 3386 "out-of-tree"). However, if you want to use a ``defconfig`` file that
3384 is part of the kernel tree (i.e. "in-tree"), you can use the 3387 is part of the kernel tree (i.e. "in-tree"), you can use the
3385 ``KBUILD_DEFCONFIG`` variable and append the 3388 ``KBUILD_DEFCONFIG`` variable and append the
3386 :term:`KMACHINE` variable to point to the 3389 ```KMACHINE`` <#var-KMACHINE>`__ variable to point to the
3387 ``defconfig`` file. 3390 ``defconfig`` file.
3388 3391
3389 To use the variable, set it in the append file for your kernel recipe 3392 To use the variable, set it in the append file for your kernel recipe
@@ -3401,7 +3404,7 @@ system and gives an overview of their function and contents.
3401 KERNEL_ALT_IMAGETYPE 3404 KERNEL_ALT_IMAGETYPE
3402 Specifies an alternate kernel image type for creation in addition to 3405 Specifies an alternate kernel image type for creation in addition to
3403 the kernel image type specified using the 3406 the kernel image type specified using the
3404 :term:`KERNEL_IMAGETYPE` variable. 3407 ```KERNEL_IMAGETYPE`` <#var-KERNEL_IMAGETYPE>`__ variable.
3405 3408
3406 KERNEL_ARTIFACT_NAME 3409 KERNEL_ARTIFACT_NAME
3407 Specifies the name of all of the build artifacts. You can change the 3410 Specifies the name of all of the build artifacts. You can change the
@@ -3413,8 +3416,8 @@ system and gives an overview of their function and contents.
3413 following default value: KERNEL_ARTIFACT_NAME ?= 3416 following default value: KERNEL_ARTIFACT_NAME ?=
3414 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3417 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
3415 3418
3416 See the :term:`PKGE`, :term:`PKGV`, 3419 See the ```PKGE`` <#var-PKGE>`__, ```PKGV`` <#var-PKGV>`__,
3417 :term:`PKGR`, and :term:`MACHINE` 3420 ```PKGR`` <#var-PKGR>`__, and ```MACHINE`` <#var-MACHINE>`__
3418 variables for additional information. 3421 variables for additional information.
3419 3422
3420 .. note:: 3423 .. note::
@@ -3427,7 +3430,7 @@ system and gives an overview of their function and contents.
3427 3430
3428 KERNEL_CLASSES 3431 KERNEL_CLASSES
3429 A list of classes defining kernel image types that the 3432 A list of classes defining kernel image types that the
3430 :ref:`kernel <ref-classes-kernel>` class should inherit. You 3433 ```kernel`` <#ref-classes-kernel>`__ class should inherit. You
3431 typically append this variable to enable extended image types. An 3434 typically append this variable to enable extended image types. An
3432 example is the "kernel-fitimage", which enables fitImage support and 3435 example is the "kernel-fitimage", which enables fitImage support and
3433 resides in ``meta/classes/kernel-fitimage.bbclass``. You can register 3436 resides in ``meta/classes/kernel-fitimage.bbclass``. You can register
@@ -3446,7 +3449,7 @@ system and gives an overview of their function and contents.
3446 file is preferred. 3449 file is preferred.
3447 3450
3448 In order to use this variable, the 3451 In order to use this variable, the
3449 :ref:`kernel-devicetree <ref-classes-kernel-devicetree>` class must 3452 ```kernel-devicetree`` <#ref-classes-kernel-devicetree>`__ class must
3450 be inherited. 3453 be inherited.
3451 3454
3452 KERNEL_DTB_LINK_NAME 3455 KERNEL_DTB_LINK_NAME
@@ -3457,14 +3460,14 @@ system and gives an overview of their function and contents.
3457 the same file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?= 3460 the same file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?=
3458 "${MACHINE}" 3461 "${MACHINE}"
3459 3462
3460 See the :term:`MACHINE` variable for additional 3463 See the ```MACHINE`` <#var-MACHINE>`__ variable for additional
3461 information. 3464 information.
3462 3465
3463 KERNEL_DTB_NAME 3466 KERNEL_DTB_NAME
3464 The base name of the kernel device tree binary (DTB). This variable 3467 The base name of the kernel device tree binary (DTB). This variable
3465 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as 3468 is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as
3466 follows: KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of 3469 follows: KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of
3467 the :term:`KERNEL_ARTIFACT_NAME` 3470 the ```KERNEL_ARTIFACT_NAME`` <#var-KERNEL_ARTIFACT_NAME>`__
3468 variable, which is set in the same file, has the following value: 3471 variable, which is set in the same file, has the following value:
3469 KERNEL_ARTIFACT_NAME ?= 3472 KERNEL_ARTIFACT_NAME ?=
3470 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3473 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
@@ -3476,8 +3479,8 @@ system and gives an overview of their function and contents.
3476 KERNEL_FEATURES 3479 KERNEL_FEATURES
3477 Includes additional kernel metadata. In the OpenEmbedded build 3480 Includes additional kernel metadata. In the OpenEmbedded build
3478 system, the default Board Support Packages (BSPs) 3481 system, the default Board Support Packages (BSPs)
3479 :term:`Metadata` is provided through the 3482 `Metadata <#metadata>`__ is provided through the
3480 :term:`KMACHINE` and :term:`KBRANCH` 3483 ```KMACHINE`` <#var-KMACHINE>`__ and ```KBRANCH`` <#var-KBRANCH>`__
3481 variables. You can use the ``KERNEL_FEATURES`` variable from within 3484 variables. You can use the ``KERNEL_FEATURES`` variable from within
3482 the kernel recipe or kernel append file to further add metadata for 3485 the kernel recipe or kernel append file to further add metadata for
3483 all BSPs or specific BSPs. 3486 all BSPs or specific BSPs.
@@ -3508,14 +3511,14 @@ system and gives an overview of their function and contents.
3508 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?= 3511 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?=
3509 "${MACHINE}" 3512 "${MACHINE}"
3510 3513
3511 See the :term:`MACHINE` variable for additional 3514 See the ```MACHINE`` <#var-MACHINE>`__ variable for additional
3512 information. 3515 information.
3513 3516
3514 KERNEL_FIT_NAME 3517 KERNEL_FIT_NAME
3515 The base name of the kernel flattened image tree (FIT) image. This 3518 The base name of the kernel flattened image tree (FIT) image. This
3516 variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` 3519 variable is set in the ``meta/classes/kernel-artifact-names.bbclass``
3517 file as follows: KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}" The 3520 file as follows: KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}" The
3518 value of the :term:`KERNEL_ARTIFACT_NAME` 3521 value of the ```KERNEL_ARTIFACT_NAME`` <#var-KERNEL_ARTIFACT_NAME>`__
3519 variable, which is set in the same file, has the following value: 3522 variable, which is set in the same file, has the following value:
3520 KERNEL_ARTIFACT_NAME ?= 3523 KERNEL_ARTIFACT_NAME ?=
3521 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3524 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
@@ -3528,14 +3531,14 @@ system and gives an overview of their function and contents.
3528 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?= 3531 file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?=
3529 "${MACHINE}" 3532 "${MACHINE}"
3530 3533
3531 See the :term:`MACHINE` variable for additional 3534 See the ```MACHINE`` <#var-MACHINE>`__ variable for additional
3532 information. 3535 information.
3533 3536
3534 KERNEL_IMAGE_MAXSIZE 3537 KERNEL_IMAGE_MAXSIZE
3535 Specifies the maximum size of the kernel image file in kilobytes. If 3538 Specifies the maximum size of the kernel image file in kilobytes. If
3536 ``KERNEL_IMAGE_MAXSIZE`` is set, the size of the kernel image file is 3539 ``KERNEL_IMAGE_MAXSIZE`` is set, the size of the kernel image file is
3537 checked against the set value during the 3540 checked against the set value during the
3538 :ref:`ref-tasks-sizecheck` task. The task fails if 3541 ```do_sizecheck`` <#ref-tasks-sizecheck>`__ task. The task fails if
3539 the kernel image file is larger than the setting. 3542 the kernel image file is larger than the setting.
3540 3543
3541 ``KERNEL_IMAGE_MAXSIZE`` is useful for target devices that have a 3544 ``KERNEL_IMAGE_MAXSIZE`` is useful for target devices that have a
@@ -3548,7 +3551,7 @@ system and gives an overview of their function and contents.
3548 The base name of the kernel image. This variable is set in the 3551 The base name of the kernel image. This variable is set in the
3549 ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 3552 ``meta/classes/kernel-artifact-names.bbclass`` file as follows:
3550 KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the 3553 KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the
3551 :term:`KERNEL_ARTIFACT_NAME` variable, 3554 ```KERNEL_ARTIFACT_NAME`` <#var-KERNEL_ARTIFACT_NAME>`__ variable,
3552 which is set in the same file, has the following value: 3555 which is set in the same file, has the following value:
3553 KERNEL_ARTIFACT_NAME ?= 3556 KERNEL_ARTIFACT_NAME ?=
3554 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 3557 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
@@ -3560,7 +3563,7 @@ system and gives an overview of their function and contents.
3560 build. 3563 build.
3561 3564
3562 If you want to build an alternate kernel image type, use the 3565 If you want to build an alternate kernel image type, use the
3563 :term:`KERNEL_ALT_IMAGETYPE` variable. 3566 ```KERNEL_ALT_IMAGETYPE`` <#var-KERNEL_ALT_IMAGETYPE>`__ variable.
3564 3567
3565 KERNEL_MODULE_AUTOLOAD 3568 KERNEL_MODULE_AUTOLOAD
3566 Lists kernel modules that need to be auto-loaded during boot. 3569 Lists kernel modules that need to be auto-loaded during boot.
@@ -3588,7 +3591,7 @@ system and gives an overview of their function and contents.
3588 3591
3589 For information on how to populate the ``modname.conf`` file with 3592 For information on how to populate the ``modname.conf`` file with
3590 ``modprobe.d`` syntax lines, see the 3593 ``modprobe.d`` syntax lines, see the
3591 :term:`KERNEL_MODULE_PROBECONF` 3594 ```KERNEL_MODULE_PROBECONF`` <#var-KERNEL_MODULE_PROBECONF>`__
3592 variable. 3595 variable.
3593 3596
3594 KERNEL_MODULE_PROBECONF 3597 KERNEL_MODULE_PROBECONF
@@ -3596,33 +3599,33 @@ system and gives an overview of their function and contents.
3596 expects to find ``module_conf_``\ modname values that specify 3599 expects to find ``module_conf_``\ modname values that specify
3597 configuration for each of the modules. For information on how to 3600 configuration for each of the modules. For information on how to
3598 provide those module configurations, see the 3601 provide those module configurations, see the
3599 :term:`module_conf_* <module_conf>` variable. 3602 ```module_conf_*`` <#var-module_conf>`__ variable.
3600 3603
3601 KERNEL_PATH 3604 KERNEL_PATH
3602 The location of the kernel sources. This variable is set to the value 3605 The location of the kernel sources. This variable is set to the value
3603 of the :term:`STAGING_KERNEL_DIR` within 3606 of the ```STAGING_KERNEL_DIR`` <#var-STAGING_KERNEL_DIR>`__ within
3604 the :ref:`module <ref-classes-module>` class. For information on 3607 the ```module`` <#ref-classes-module>`__ class. For information on
3605 how this variable is used, see the "`Incorporating Out-of-Tree 3608 how this variable is used, see the "`Incorporating Out-of-Tree
3606 Modules <&YOCTO_DOCS_KERNEL_DEV_URL;#incorporating-out-of-tree-modules>`__" 3609 Modules <&YOCTO_DOCS_KERNEL_DEV_URL;#incorporating-out-of-tree-modules>`__"
3607 section in the Yocto Project Linux Kernel Development Manual. 3610 section in the Yocto Project Linux Kernel Development Manual.
3608 3611
3609 To help maximize compatibility with out-of-tree drivers used to build 3612 To help maximize compatibility with out-of-tree drivers used to build
3610 modules, the OpenEmbedded build system also recognizes and uses the 3613 modules, the OpenEmbedded build system also recognizes and uses the
3611 :term:`KERNEL_SRC` variable, which is identical to 3614 ```KERNEL_SRC`` <#var-KERNEL_SRC>`__ variable, which is identical to
3612 the ``KERNEL_PATH`` variable. Both variables are common variables 3615 the ``KERNEL_PATH`` variable. Both variables are common variables
3613 used by external Makefiles to point to the kernel source directory. 3616 used by external Makefiles to point to the kernel source directory.
3614 3617
3615 KERNEL_SRC 3618 KERNEL_SRC
3616 The location of the kernel sources. This variable is set to the value 3619 The location of the kernel sources. This variable is set to the value
3617 of the :term:`STAGING_KERNEL_DIR` within 3620 of the ```STAGING_KERNEL_DIR`` <#var-STAGING_KERNEL_DIR>`__ within
3618 the :ref:`module <ref-classes-module>` class. For information on 3621 the ```module`` <#ref-classes-module>`__ class. For information on
3619 how this variable is used, see the "`Incorporating Out-of-Tree 3622 how this variable is used, see the "`Incorporating Out-of-Tree
3620 Modules <&YOCTO_DOCS_KERNEL_DEV_URL;#incorporating-out-of-tree-modules>`__" 3623 Modules <&YOCTO_DOCS_KERNEL_DEV_URL;#incorporating-out-of-tree-modules>`__"
3621 section in the Yocto Project Linux Kernel Development Manual. 3624 section in the Yocto Project Linux Kernel Development Manual.
3622 3625
3623 To help maximize compatibility with out-of-tree drivers used to build 3626 To help maximize compatibility with out-of-tree drivers used to build
3624 modules, the OpenEmbedded build system also recognizes and uses the 3627 modules, the OpenEmbedded build system also recognizes and uses the
3625 :term:`KERNEL_PATH` variable, which is identical 3628 ```KERNEL_PATH`` <#var-KERNEL_PATH>`__ variable, which is identical
3626 to the ``KERNEL_SRC`` variable. Both variables are common variables 3629 to the ``KERNEL_SRC`` variable. Both variables are common variables
3627 used by external Makefiles to point to the kernel source directory. 3630 used by external Makefiles to point to the kernel source directory.
3628 3631
@@ -3635,7 +3638,7 @@ system and gives an overview of their function and contents.
3635 3638
3636 KERNELDEPMODDEPEND 3639 KERNELDEPMODDEPEND
3637 Specifies whether the data referenced through 3640 Specifies whether the data referenced through
3638 :term:`PKGDATA_DIR` is needed or not. The 3641 ```PKGDATA_DIR`` <#var-PKGDATA_DIR>`__ is needed or not. The
3639 ``KERNELDEPMODDEPEND`` does not control whether or not that data 3642 ``KERNELDEPMODDEPEND`` does not control whether or not that data
3640 exists, but simply whether or not it is used. If you do not need to 3643 exists, but simply whether or not it is used. If you do not need to
3641 use the data, set the ``KERNELDEPMODDEPEND`` variable in your 3644 use the data, set the ``KERNELDEPMODDEPEND`` variable in your
@@ -3687,13 +3690,13 @@ system and gives an overview of their function and contents.
3687 You define the ``KTYPE`` variable in the `BSP 3690 You define the ``KTYPE`` variable in the `BSP
3688 Descriptions <&YOCTO_DOCS_KERNEL_DEV_URL;#bsp-descriptions>`__. The 3691 Descriptions <&YOCTO_DOCS_KERNEL_DEV_URL;#bsp-descriptions>`__. The
3689 value you use must match the value used for the 3692 value you use must match the value used for the
3690 :term:`LINUX_KERNEL_TYPE` value used by the 3693 ```LINUX_KERNEL_TYPE`` <#var-LINUX_KERNEL_TYPE>`__ value used by the
3691 kernel recipe. 3694 kernel recipe.
3692 3695
3693 LABELS 3696 LABELS
3694 Provides a list of targets for automatic configuration. 3697 Provides a list of targets for automatic configuration.
3695 3698
3696 See the :ref:`grub-efi <ref-classes-grub-efi>` class for more 3699 See the ```grub-efi`` <#ref-classes-grub-efi>`__ class for more
3697 information on how this variable is used. 3700 information on how this variable is used.
3698 3701
3699 LAYERDEPENDS 3702 LAYERDEPENDS
@@ -3702,7 +3705,7 @@ system and gives an overview of their function and contents.
3702 by adding it to the end of the layer name. Here is an example: 3705 by adding it to the end of the layer name. Here is an example:
3703 LAYERDEPENDS_mylayer = "anotherlayer (=3)" In this previous example, 3706 LAYERDEPENDS_mylayer = "anotherlayer (=3)" In this previous example,
3704 version 3 of "anotherlayer" is compared against 3707 version 3 of "anotherlayer" is compared against
3705 :term:`LAYERVERSION`\ ``_anotherlayer``. 3708 ```LAYERVERSION`` <#var-LAYERVERSION>`__\ ``_anotherlayer``.
3706 3709
3707 An error is produced if any dependency is missing or the version 3710 An error is produced if any dependency is missing or the version
3708 numbers (if specified) do not match exactly. This variable is used in 3711 numbers (if specified) do not match exactly. This variable is used in
@@ -3730,7 +3733,7 @@ system and gives an overview of their function and contents.
3730 ``LAYERRECOMMENDS_mylayer``). 3733 ``LAYERRECOMMENDS_mylayer``).
3731 3734
3732 LAYERSERIES_COMPAT 3735 LAYERSERIES_COMPAT
3733 Lists the versions of the :term:`OpenEmbedded-Core (OE-Core)` for which 3736 Lists the versions of the `OpenEmbedded-Core <#oe-core>`__ for which
3734 a layer is compatible. Using the ``LAYERSERIES_COMPAT`` variable 3737 a layer is compatible. Using the ``LAYERSERIES_COMPAT`` variable
3735 allows the layer maintainer to indicate which combinations of the 3738 allows the layer maintainer to indicate which combinations of the
3736 layer and OE-Core can be expected to work. The variable gives the 3739 layer and OE-Core can be expected to work. The variable gives the
@@ -3739,8 +3742,8 @@ system and gives an overview of their function and contents.
3739 3742
3740 To specify the OE-Core versions for which a layer is compatible, use 3743 To specify the OE-Core versions for which a layer is compatible, use
3741 this variable in your layer's ``conf/layer.conf`` configuration file. 3744 this variable in your layer's ``conf/layer.conf`` configuration file.
3742 For the list, use the Yocto Project 3745 For the list, use the Yocto Project `Release
3743 :yocto_wiki:`Release Name </wiki/Releases>` (e.g. 3746 Name <https://wiki.yoctoproject.org/wiki/Releases>`__ (e.g.
3744 DISTRO_NAME_NO_CAP). To specify multiple OE-Core versions for the 3747 DISTRO_NAME_NO_CAP). To specify multiple OE-Core versions for the
3745 layer, use a space-separated list: LAYERSERIES_COMPAT_layer_root_name 3748 layer, use a space-separated list: LAYERSERIES_COMPAT_layer_root_name
3746 = "DISTRO_NAME_NO_CAP DISTRO_NAME_NO_CAP_MINUS_ONE" 3749 = "DISTRO_NAME_NO_CAP DISTRO_NAME_NO_CAP_MINUS_ONE"
@@ -3759,7 +3762,7 @@ system and gives an overview of their function and contents.
3759 3762
3760 LAYERVERSION 3763 LAYERVERSION
3761 Optionally specifies the version of a layer as a single number. You 3764 Optionally specifies the version of a layer as a single number. You
3762 can use this within :term:`LAYERDEPENDS` for 3765 can use this within ```LAYERDEPENDS`` <#var-LAYERDEPENDS>`__ for
3763 another layer in order to depend on a specific version of the layer. 3766 another layer in order to depend on a specific version of the layer.
3764 This variable is used in the ``conf/layer.conf`` file and must be 3767 This variable is used in the ``conf/layer.conf`` file and must be
3765 suffixed with the name of the specific layer (e.g. 3768 suffixed with the name of the specific layer (e.g.
@@ -3776,18 +3779,18 @@ system and gives an overview of their function and contents.
3776 Default initialization for ``LDFLAGS`` varies depending on what is 3779 Default initialization for ``LDFLAGS`` varies depending on what is
3777 being built: 3780 being built:
3778 3781
3779 - :term:`TARGET_LDFLAGS` when building for the 3782 - ```TARGET_LDFLAGS`` <#var-TARGET_LDFLAGS>`__ when building for the
3780 target 3783 target
3781 3784
3782 - :term:`BUILD_LDFLAGS` when building for the 3785 - ```BUILD_LDFLAGS`` <#var-BUILD_LDFLAGS>`__ when building for the
3783 build host (i.e. ``-native``) 3786 build host (i.e. ``-native``)
3784 3787
3785 - :term:`BUILDSDK_LDFLAGS` when building for 3788 - ```BUILDSDK_LDFLAGS`` <#var-BUILDSDK_LDFLAGS>`__ when building for
3786 an SDK (i.e. ``nativesdk-``) 3789 an SDK (i.e. ``nativesdk-``)
3787 3790
3788 LEAD_SONAME 3791 LEAD_SONAME
3789 Specifies the lead (or primary) compiled library file (i.e. ``.so``) 3792 Specifies the lead (or primary) compiled library file (i.e. ``.so``)
3790 that the :ref:`debian <ref-classes-debian>` class applies its 3793 that the ```debian`` <#ref-classes-debian>`__ class applies its
3791 naming policy to given a recipe that packages multiple libraries. 3794 naming policy to given a recipe that packages multiple libraries.
3792 3795
3793 This variable works in conjunction with the ``debian`` class. 3796 This variable works in conjunction with the ``debian`` class.
@@ -3801,7 +3804,7 @@ system and gives an overview of their function and contents.
3801 license change. 3804 license change.
3802 3805
3803 This variable must be defined for all recipes (unless 3806 This variable must be defined for all recipes (unless
3804 :term:`LICENSE` is set to "CLOSED"). 3807 ```LICENSE`` <#var-LICENSE>`__ is set to "CLOSED").
3805 3808
3806 For more information, see the "`Tracking License 3809 For more information, see the "`Tracking License
3807 Changes <&YOCTO_DOCS_DEV_URL;#usingpoky-configuring-LIC_FILES_CHKSUM>`__" 3810 Changes <&YOCTO_DOCS_DEV_URL;#usingpoky-configuring-LIC_FILES_CHKSUM>`__"
@@ -3822,7 +3825,7 @@ system and gives an overview of their function and contents.
3822 3825
3823 - For standard licenses, use the names of the files in 3826 - For standard licenses, use the names of the files in
3824 ``meta/files/common-licenses/`` or the 3827 ``meta/files/common-licenses/`` or the
3825 :term:`SPDXLICENSEMAP` flag names defined in 3828 ```SPDXLICENSEMAP`` <#var-SPDXLICENSEMAP>`__ flag names defined in
3826 ``meta/conf/licenses.conf``. 3829 ``meta/conf/licenses.conf``.
3827 3830
3828 Here are some examples: LICENSE = "LGPLv2.1 \| GPLv3" LICENSE = 3831 Here are some examples: LICENSE = "LGPLv2.1 \| GPLv3" LICENSE =
@@ -3844,34 +3847,34 @@ system and gives an overview of their function and contents.
3844 LICENSE_CREATE_PACKAGE 3847 LICENSE_CREATE_PACKAGE
3845 Setting ``LICENSE_CREATE_PACKAGE`` to "1" causes the OpenEmbedded 3848 Setting ``LICENSE_CREATE_PACKAGE`` to "1" causes the OpenEmbedded
3846 build system to create an extra package (i.e. 3849 build system to create an extra package (i.e.
3847 ``${``\ :term:`PN`\ ``}-lic``) for each recipe and to add 3850 ``${``\ ```PN`` <#var-PN>`__\ ``}-lic``) for each recipe and to add
3848 those packages to the 3851 those packages to the
3849 :term:`RRECOMMENDS`\ ``_${PN}``. 3852 ```RRECOMMENDS`` <#var-RRECOMMENDS>`__\ ``_${PN}``.
3850 3853
3851 The ``${PN}-lic`` package installs a directory in 3854 The ``${PN}-lic`` package installs a directory in
3852 ``/usr/share/licenses`` named ``${PN}``, which is the recipe's base 3855 ``/usr/share/licenses`` named ``${PN}``, which is the recipe's base
3853 name, and installs files in that directory that contain license and 3856 name, and installs files in that directory that contain license and
3854 copyright information (i.e. copies of the appropriate license files 3857 copyright information (i.e. copies of the appropriate license files
3855 from ``meta/common-licenses`` that match the licenses specified in 3858 from ``meta/common-licenses`` that match the licenses specified in
3856 the :term:`LICENSE` variable of the recipe metadata 3859 the ```LICENSE`` <#var-LICENSE>`__ variable of the recipe metadata
3857 and copies of files marked in 3860 and copies of files marked in
3858 :term:`LIC_FILES_CHKSUM` as containing 3861 ```LIC_FILES_CHKSUM`` <#var-LIC_FILES_CHKSUM>`__ as containing
3859 license text). 3862 license text).
3860 3863
3861 For related information on providing license text, see the 3864 For related information on providing license text, see the
3862 :term:`COPY_LIC_DIRS` variable, the 3865 ```COPY_LIC_DIRS`` <#var-COPY_LIC_DIRS>`__ variable, the
3863 :term:`COPY_LIC_MANIFEST` variable, and the 3866 ```COPY_LIC_MANIFEST`` <#var-COPY_LIC_MANIFEST>`__ variable, and the
3864 "`Providing License 3867 "`Providing License
3865 Text <&YOCTO_DOCS_DEV_URL;#providing-license-text>`__" section in the 3868 Text <&YOCTO_DOCS_DEV_URL;#providing-license-text>`__" section in the
3866 Yocto Project Development Tasks Manual. 3869 Yocto Project Development Tasks Manual.
3867 3870
3868 LICENSE_FLAGS 3871 LICENSE_FLAGS
3869 Specifies additional flags for a recipe you must whitelist through 3872 Specifies additional flags for a recipe you must whitelist through
3870 :term:`LICENSE_FLAGS_WHITELIST` in 3873 ```LICENSE_FLAGS_WHITELIST`` <#var-LICENSE_FLAGS_WHITELIST>`__ in
3871 order to allow the recipe to be built. When providing multiple flags, 3874 order to allow the recipe to be built. When providing multiple flags,
3872 separate them with spaces. 3875 separate them with spaces.
3873 3876
3874 This value is independent of :term:`LICENSE` and is 3877 This value is independent of ```LICENSE`` <#var-LICENSE>`__ and is
3875 typically used to mark recipes that might require additional licenses 3878 typically used to mark recipes that might require additional licenses
3876 in order to be used in a commercial product. For more information, 3879 in order to be used in a commercial product. For more information,
3877 see the "`Enabling Commercially Licensed 3880 see the "`Enabling Commercially Licensed
@@ -3880,7 +3883,7 @@ system and gives an overview of their function and contents.
3880 3883
3881 LICENSE_FLAGS_WHITELIST 3884 LICENSE_FLAGS_WHITELIST
3882 Lists license flags that when specified in 3885 Lists license flags that when specified in
3883 :term:`LICENSE_FLAGS` within a recipe should not 3886 ```LICENSE_FLAGS`` <#var-LICENSE_FLAGS>`__ within a recipe should not
3884 prevent that recipe from being built. This practice is otherwise 3887 prevent that recipe from being built. This practice is otherwise
3885 known as "whitelisting" license flags. For more information, see the 3888 known as "whitelisting" license flags. For more information, see the
3886 "`Enabling Commercially Licensed 3889 "`Enabling Commercially Licensed
@@ -3904,10 +3907,10 @@ system and gives an overview of their function and contents.
3904 kernel types. 3907 kernel types.
3905 3908
3906 If you do not specify a ``LINUX_KERNEL_TYPE``, it defaults to 3909 If you do not specify a ``LINUX_KERNEL_TYPE``, it defaults to
3907 "standard". Together with :term:`KMACHINE`, the 3910 "standard". Together with ```KMACHINE`` <#var-KMACHINE>`__, the
3908 ``LINUX_KERNEL_TYPE`` variable defines the search arguments used by 3911 ``LINUX_KERNEL_TYPE`` variable defines the search arguments used by
3909 the kernel tools to find the appropriate description within the 3912 the kernel tools to find the appropriate description within the
3910 kernel :term:`Metadata` with which to build out the sources 3913 kernel `Metadata <#metadata>`__ with which to build out the sources
3911 and configuration. 3914 and configuration.
3912 3915
3913 LINUX_VERSION 3916 LINUX_VERSION
@@ -3918,7 +3921,7 @@ system and gives an overview of their function and contents.
3918 ``meta/recipes-kernel/linux`` defines the variables as follows: 3921 ``meta/recipes-kernel/linux`` defines the variables as follows:
3919 LINUX_VERSION ?= "3.4.24" 3922 LINUX_VERSION ?= "3.4.24"
3920 3923
3921 The ``LINUX_VERSION`` variable is used to define :term:`PV` 3924 The ``LINUX_VERSION`` variable is used to define ```PV`` <#var-PV>`__
3922 for the recipe: PV = "${LINUX_VERSION}+git${SRCPV}" 3925 for the recipe: PV = "${LINUX_VERSION}+git${SRCPV}"
3923 3926
3924 LINUX_VERSION_EXTENSION 3927 LINUX_VERSION_EXTENSION
@@ -3926,7 +3929,7 @@ system and gives an overview of their function and contents.
3926 kernel built with the OpenEmbedded build system. You define this 3929 kernel built with the OpenEmbedded build system. You define this
3927 variable in the kernel recipe. For example, the linux-yocto kernel 3930 variable in the kernel recipe. For example, the linux-yocto kernel
3928 recipes all define the variable as follows: LINUX_VERSION_EXTENSION 3931 recipes all define the variable as follows: LINUX_VERSION_EXTENSION
3929 ?= "-yocto-${:term:`LINUX_KERNEL_TYPE`}" 3932 ?= "-yocto-${`LINUX_KERNEL_TYPE <#var-LINUX_KERNEL_TYPE>`__}"
3930 3933
3931 Defining this variable essentially sets the Linux kernel 3934 Defining this variable essentially sets the Linux kernel
3932 configuration item ``CONFIG_LOCALVERSION``, which is visible through 3935 configuration item ``CONFIG_LOCALVERSION``, which is visible through
@@ -3938,12 +3941,12 @@ system and gives an overview of their function and contents.
3938 overall log files. The default directory is ``${TMPDIR}/log``. 3941 overall log files. The default directory is ``${TMPDIR}/log``.
3939 3942
3940 For the directory containing logs specific to each task, see the 3943 For the directory containing logs specific to each task, see the
3941 :term:`T` variable. 3944 ```T`` <#var-T>`__ variable.
3942 3945
3943 MACHINE 3946 MACHINE
3944 Specifies the target device for which the image is built. You define 3947 Specifies the target device for which the image is built. You define
3945 ``MACHINE`` in the ``local.conf`` file found in the 3948 ``MACHINE`` in the ``local.conf`` file found in the `Build
3946 :term:`Build Directory`. By default, ``MACHINE`` is set to 3949 Directory <#build-directory>`__. By default, ``MACHINE`` is set to
3947 "qemux86", which is an x86-based architecture machine to be emulated 3950 "qemux86", which is an x86-based architecture machine to be emulated
3948 using QEMU: MACHINE ?= "qemux86" 3951 using QEMU: MACHINE ?= "qemux86"
3949 3952
@@ -3951,7 +3954,7 @@ system and gives an overview of their function and contents.
3951 name, through which machine-specific configurations are set. Thus, 3954 name, through which machine-specific configurations are set. Thus,
3952 when ``MACHINE`` is set to "qemux86" there exists the corresponding 3955 when ``MACHINE`` is set to "qemux86" there exists the corresponding
3953 ``qemux86.conf`` machine configuration file, which can be found in 3956 ``qemux86.conf`` machine configuration file, which can be found in
3954 the :term:`Source Directory` in 3957 the `Source Directory <#source-directory>`__ in
3955 ``meta/conf/machine``. 3958 ``meta/conf/machine``.
3956 3959
3957 The list of machines supported by the Yocto Project as shipped 3960 The list of machines supported by the Yocto Project as shipped
@@ -3971,8 +3974,8 @@ system and gives an overview of their function and contents.
3971 3974
3972 MACHINE_ARCH 3975 MACHINE_ARCH
3973 Specifies the name of the machine-specific architecture. This 3976 Specifies the name of the machine-specific architecture. This
3974 variable is set automatically from :term:`MACHINE` or 3977 variable is set automatically from ```MACHINE`` <#var-MACHINE>`__ or
3975 :term:`TUNE_PKGARCH`. You should not hand-edit 3978 ```TUNE_PKGARCH`` <#var-TUNE_PKGARCH>`__. You should not hand-edit
3976 the ``MACHINE_ARCH`` variable. 3979 the ``MACHINE_ARCH`` variable.
3977 3980
3978 MACHINE_ESSENTIAL_EXTRA_RDEPENDS 3981 MACHINE_ESSENTIAL_EXTRA_RDEPENDS
@@ -4091,11 +4094,11 @@ system and gives an overview of their function and contents.
4091 4094
4092 MACHINE_FEATURES 4095 MACHINE_FEATURES
4093 Specifies the list of hardware features the 4096 Specifies the list of hardware features the
4094 :term:`MACHINE` is capable of supporting. For related 4097 ```MACHINE`` <#var-MACHINE>`__ is capable of supporting. For related
4095 information on enabling features, see the 4098 information on enabling features, see the
4096 :term:`DISTRO_FEATURES`, 4099 ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__,
4097 :term:`COMBINED_FEATURES`, and 4100 ```COMBINED_FEATURES`` <#var-COMBINED_FEATURES>`__, and
4098 :term:`IMAGE_FEATURES` variables. 4101 ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__ variables.
4099 4102
4100 For a list of hardware features supported by the Yocto Project as 4103 For a list of hardware features supported by the Yocto Project as
4101 shipped, see the "`Machine Features <#ref-features-machine>`__" 4104 shipped, see the "`Machine Features <#ref-features-machine>`__"
@@ -4121,7 +4124,7 @@ system and gives an overview of their function and contents.
4121 MACHINEOVERRIDES 4124 MACHINEOVERRIDES
4122 A colon-separated list of overrides that apply to the current 4125 A colon-separated list of overrides that apply to the current
4123 machine. By default, this list includes the value of 4126 machine. By default, this list includes the value of
4124 :term:`MACHINE`. 4127 ```MACHINE`` <#var-MACHINE>`__.
4125 4128
4126 You can extend ``MACHINEOVERRIDES`` to add extra overrides that 4129 You can extend ``MACHINEOVERRIDES`` to add extra overrides that
4127 should apply to a machine. For example, all machines emulated in QEMU 4130 should apply to a machine. For example, all machines emulated in QEMU
@@ -4133,7 +4136,7 @@ system and gives an overview of their function and contents.
4133 recipe: SRC_URI_append_qemuall = "file://wired.config \\ 4136 recipe: SRC_URI_append_qemuall = "file://wired.config \\
4134 file://wired-setup \\ " The underlying mechanism behind 4137 file://wired-setup \\ " The underlying mechanism behind
4135 ``MACHINEOVERRIDES`` is simply that it is included in the default 4138 ``MACHINEOVERRIDES`` is simply that it is included in the default
4136 value of :term:`OVERRIDES`. 4139 value of ```OVERRIDES`` <#var-OVERRIDES>`__.
4137 4140
4138 MAINTAINER 4141 MAINTAINER
4139 The email address of the distribution maintainer. 4142 The email address of the distribution maintainer.
@@ -4143,18 +4146,18 @@ system and gives an overview of their function and contents.
4143 gets source code. When the build system searches for source code, it 4146 gets source code. When the build system searches for source code, it
4144 first tries the local download directory. If that location fails, the 4147 first tries the local download directory. If that location fails, the
4145 build system tries locations defined by 4148 build system tries locations defined by
4146 :term:`PREMIRRORS`, the upstream source, and then 4149 ```PREMIRRORS`` <#var-PREMIRRORS>`__, the upstream source, and then
4147 locations specified by ``MIRRORS`` in that order. 4150 locations specified by ``MIRRORS`` in that order.
4148 4151
4149 Assuming your distribution (:term:`DISTRO`) is "poky", 4152 Assuming your distribution (```DISTRO`` <#var-DISTRO>`__) is "poky",
4150 the default value for ``MIRRORS`` is defined in the 4153 the default value for ``MIRRORS`` is defined in the
4151 ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository. 4154 ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository.
4152 4155
4153 MLPREFIX 4156 MLPREFIX
4154 Specifies a prefix has been added to :term:`PN` to create a 4157 Specifies a prefix has been added to ```PN`` <#var-PN>`__ to create a
4155 special version of a recipe or package (i.e. a Multilib version). The 4158 special version of a recipe or package (i.e. a Multilib version). The
4156 variable is used in places where the prefix needs to be added to or 4159 variable is used in places where the prefix needs to be added to or
4157 removed from a the name (e.g. the :term:`BPN` variable). 4160 removed from a the name (e.g. the ```BPN`` <#var-BPN>`__ variable).
4158 ``MLPREFIX`` gets set when a prefix has been added to ``PN``. 4161 ``MLPREFIX`` gets set when a prefix has been added to ``PN``.
4159 4162
4160 .. note:: 4163 .. note::
@@ -4171,10 +4174,10 @@ system and gives an overview of their function and contents.
4171 for it as well. 4174 for it as well.
4172 4175
4173 To help understand when ``MLPREFIX`` might be needed, consider when 4176 To help understand when ``MLPREFIX`` might be needed, consider when
4174 :term:`BBCLASSEXTEND` is used to provide a 4177 ```BBCLASSEXTEND`` <#var-BBCLASSEXTEND>`__ is used to provide a
4175 ``nativesdk`` version of a recipe in addition to the target version. 4178 ``nativesdk`` version of a recipe in addition to the target version.
4176 If that recipe declares build-time dependencies on tasks in other 4179 If that recipe declares build-time dependencies on tasks in other
4177 recipes by using :term:`DEPENDS`, then a dependency on 4180 recipes by using ```DEPENDS`` <#var-DEPENDS>`__, then a dependency on
4178 "foo" will automatically get rewritten to a dependency on 4181 "foo" will automatically get rewritten to a dependency on
4179 "nativesdk-foo". However, dependencies like the following will not 4182 "nativesdk-foo". However, dependencies like the following will not
4180 get rewritten automatically: do_foo[depends] += "recipe:do_foo" If 4183 get rewritten automatically: do_foo[depends] += "recipe:do_foo" If
@@ -4188,11 +4191,11 @@ system and gives an overview of their function and contents.
4188 module_autoload_rfcomm = "rfcomm" 4191 module_autoload_rfcomm = "rfcomm"
4189 4192
4190 should now be replaced with: KERNEL_MODULE_AUTOLOAD += "rfcomm" See 4193 should now be replaced with: KERNEL_MODULE_AUTOLOAD += "rfcomm" See
4191 the :term:`KERNEL_MODULE_AUTOLOAD` 4194 the ```KERNEL_MODULE_AUTOLOAD`` <#var-KERNEL_MODULE_AUTOLOAD>`__
4192 variable for more information. 4195 variable for more information.
4193 4196
4194 module_conf 4197 module_conf
4195 Specifies ```modprobe.d`http://linux.die.net/man/5/modprobe.d 4198 Specifies ```modprobe.d`` <http://linux.die.net/man/5/modprobe.d>`__
4196 syntax lines for inclusion in the ``/etc/modprobe.d/modname.conf`` 4199 syntax lines for inclusion in the ``/etc/modprobe.d/modname.conf``
4197 file. 4200 file.
4198 4201
@@ -4201,7 +4204,7 @@ system and gives an overview of their function and contents.
4201 configuration file, a distribution configuration file, an append file 4204 configuration file, a distribution configuration file, an append file
4202 for the recipe, or the recipe itself). If you use this variable, you 4205 for the recipe, or the recipe itself). If you use this variable, you
4203 must also be sure to list the module name in the 4206 must also be sure to list the module name in the
4204 :term:`KERNEL_MODULE_AUTOLOAD` 4207 ```KERNEL_MODULE_AUTOLOAD`` <#var-KERNEL_MODULE_AUTOLOAD>`__
4205 variable. 4208 variable.
4206 4209
4207 Here is the general syntax: module_conf_module_name = 4210 Here is the general syntax: module_conf_module_name =
@@ -4218,7 +4221,7 @@ system and gives an overview of their function and contents.
4218 4221
4219 For information on how to specify kernel modules to auto-load on 4222 For information on how to specify kernel modules to auto-load on
4220 boot, see the 4223 boot, see the
4221 :term:`KERNEL_MODULE_AUTOLOAD` 4224 ```KERNEL_MODULE_AUTOLOAD`` <#var-KERNEL_MODULE_AUTOLOAD>`__
4222 variable. 4225 variable.
4223 4226
4224 MODULE_TARBALL_DEPLOY 4227 MODULE_TARBALL_DEPLOY
@@ -4234,14 +4237,14 @@ system and gives an overview of their function and contents.
4234 same file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?= 4237 same file, has the following value: KERNEL_ARTIFACT_LINK_NAME ?=
4235 "${MACHINE}" 4238 "${MACHINE}"
4236 4239
4237 See the :term:`MACHINE` variable for additional 4240 See the ```MACHINE`` <#var-MACHINE>`__ variable for additional
4238 information. 4241 information.
4239 4242
4240 MODULE_TARBALL_NAME 4243 MODULE_TARBALL_NAME
4241 The base name of the kernel module tarball. This variable is set in 4244 The base name of the kernel module tarball. This variable is set in
4242 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows: 4245 the ``meta/classes/kernel-artifact-names.bbclass`` file as follows:
4243 MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the 4246 MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the
4244 :term:`KERNEL_ARTIFACT_NAME` variable, 4247 ```KERNEL_ARTIFACT_NAME`` <#var-KERNEL_ARTIFACT_NAME>`__ variable,
4245 which is set in the same file, has the following value: 4248 which is set in the same file, has the following value:
4246 KERNEL_ARTIFACT_NAME ?= 4249 KERNEL_ARTIFACT_NAME ?=
4247 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 4250 "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
@@ -4254,11 +4257,11 @@ system and gives an overview of their function and contents.
4254 4257
4255 The default value of this variable is: 4258 The default value of this variable is:
4256 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} Some classes (e.g. 4259 ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} Some classes (e.g.
4257 :ref:`cross-canadian <ref-classes-cross-canadian>`) modify the 4260 ```cross-canadian`` <#ref-classes-cross-canadian>`__) modify the
4258 ``MULTIMACH_TARGET_SYS`` value. 4261 ``MULTIMACH_TARGET_SYS`` value.
4259 4262
4260 See the :term:`STAMP` variable for an example. See the 4263 See the ```STAMP`` <#var-STAMP>`__ variable for an example. See the
4261 :term:`STAGING_DIR_TARGET` variable for 4264 ```STAGING_DIR_TARGET`` <#var-STAGING_DIR_TARGET>`__ variable for
4262 more information. 4265 more information.
4263 4266
4264 NATIVELSBSTRING 4267 NATIVELSBSTRING
@@ -4273,7 +4276,7 @@ system and gives an overview of their function and contents.
4273 packages for different distributions (e.g. to avoid problems with 4276 packages for different distributions (e.g. to avoid problems with
4274 ``glibc`` version incompatibilities). Additionally, the variable is 4277 ``glibc`` version incompatibilities). Additionally, the variable is
4275 checked against 4278 checked against
4276 :term:`SANITY_TESTED_DISTROS` if that 4279 ```SANITY_TESTED_DISTROS`` <#var-SANITY_TESTED_DISTROS>`__ if that
4277 variable is set. 4280 variable is set.
4278 4281
4279 NM 4282 NM
@@ -4297,7 +4300,7 @@ system and gives an overview of their function and contents.
4297 NO_RECOMMENDATIONS 4300 NO_RECOMMENDATIONS
4298 Prevents installation of all "recommended-only" packages. 4301 Prevents installation of all "recommended-only" packages.
4299 Recommended-only packages are packages installed only through the 4302 Recommended-only packages are packages installed only through the
4300 :term:`RRECOMMENDS` variable). Setting the 4303 ```RRECOMMENDS`` <#var-RRECOMMENDS>`__ variable). Setting the
4301 ``NO_RECOMMENDATIONS`` variable to "1" turns this feature on: 4304 ``NO_RECOMMENDATIONS`` variable to "1" turns this feature on:
4302 NO_RECOMMENDATIONS = "1" 4305 NO_RECOMMENDATIONS = "1"
4303 4306
@@ -4307,7 +4310,7 @@ system and gives an overview of their function and contents.
4307 4310
4308 It is important to realize that if you choose to not install packages 4311 It is important to realize that if you choose to not install packages
4309 using this variable and some other packages are dependent on them 4312 using this variable and some other packages are dependent on them
4310 (i.e. listed in a recipe's :term:`RDEPENDS` 4313 (i.e. listed in a recipe's ```RDEPENDS`` <#var-RDEPENDS>`__
4311 variable), the OpenEmbedded build system ignores your request and 4314 variable), the OpenEmbedded build system ignores your request and
4312 will install the packages to avoid dependency errors. 4315 will install the packages to avoid dependency errors.
4313 4316
@@ -4322,8 +4325,8 @@ system and gives an overview of their function and contents.
4322 Support for this variable exists only when using the IPK and RPM 4325 Support for this variable exists only when using the IPK and RPM
4323 packaging backend. Support does not exist for DEB. 4326 packaging backend. Support does not exist for DEB.
4324 4327
4325 See the :term:`BAD_RECOMMENDATIONS` and 4328 See the ```BAD_RECOMMENDATIONS`` <#var-BAD_RECOMMENDATIONS>`__ and
4326 the :term:`PACKAGE_EXCLUDE` variables for 4329 the ```PACKAGE_EXCLUDE`` <#var-PACKAGE_EXCLUDE>`__ variables for
4327 related information. 4330 related information.
4328 4331
4329 NOAUTOPACKAGEDEBUG 4332 NOAUTOPACKAGEDEBUG
@@ -4342,7 +4345,7 @@ system and gives an overview of their function and contents.
4342 The minimal command and arguments to run ``objdump``. 4345 The minimal command and arguments to run ``objdump``.
4343 4346
4344 OE_BINCONFIG_EXTRA_MANGLE 4347 OE_BINCONFIG_EXTRA_MANGLE
4345 When inheriting the :ref:`binconfig <ref-classes-binconfig>` class, 4348 When inheriting the ```binconfig`` <#ref-classes-binconfig>`__ class,
4346 this variable specifies additional arguments passed to the "sed" 4349 this variable specifies additional arguments passed to the "sed"
4347 command. The sed command alters any paths in configuration scripts 4350 command. The sed command alters any paths in configuration scripts
4348 that have been set up during compilation. Inheriting this class 4351 that have been set up during compilation. Inheriting this class
@@ -4350,11 +4353,11 @@ system and gives an overview of their function and contents.
4350 ``sysroots/`` directory so that all builds that use the script will 4353 ``sysroots/`` directory so that all builds that use the script will
4351 use the correct directories for the cross compiling layout. 4354 use the correct directories for the cross compiling layout.
4352 4355
4353 See the ``meta/classes/binconfig.bbclass`` in the 4356 See the ``meta/classes/binconfig.bbclass`` in the `Source
4354 :term:`Source Directory` for details on how this class 4357 Directory <#source-directory>`__ for details on how this class
4355 applies these additional sed command arguments. For general 4358 applies these additional sed command arguments. For general
4356 information on the ``binconfig`` class, see the 4359 information on the ``binconfig`` class, see the
4357 ":ref:`binconfig.bbclass <ref-classes-binconfig>`" section. 4360 "```binconfig.bbclass`` <#ref-classes-binconfig>`__" section.
4358 4361
4359 OE_IMPORTS 4362 OE_IMPORTS
4360 An internal variable used to tell the OpenEmbedded build system what 4363 An internal variable used to tell the OpenEmbedded build system what
@@ -4414,15 +4417,16 @@ system and gives an overview of their function and contents.
4414 As an example, if the string "an-override" appears as an element in 4417 As an example, if the string "an-override" appears as an element in
4415 the colon-separated list in ``OVERRIDES``, then the following 4418 the colon-separated list in ``OVERRIDES``, then the following
4416 assignment will override ``FOO`` with the value "overridden" at the 4419 assignment will override ``FOO`` with the value "overridden" at the
4417 end of parsing: FOO_an-override = "overridden" See the 4420 end of parsing: FOO_an-override = "overridden" See the "`Conditional
4418 ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" 4421 Syntax
4422 (Overrides) <&YOCTO_DOCS_BB_URL;#conditional-syntax-overrides>`__"
4419 section in the BitBake User Manual for more information on the 4423 section in the BitBake User Manual for more information on the
4420 overrides mechanism. 4424 overrides mechanism.
4421 4425
4422 The default value of ``OVERRIDES`` includes the values of the 4426 The default value of ``OVERRIDES`` includes the values of the
4423 :term:`CLASSOVERRIDE`, 4427 ```CLASSOVERRIDE`` <#var-CLASSOVERRIDE>`__,
4424 :term:`MACHINEOVERRIDES`, and 4428 ```MACHINEOVERRIDES`` <#var-MACHINEOVERRIDES>`__, and
4425 :term:`DISTROOVERRIDES` variables. Another 4429 ```DISTROOVERRIDES`` <#var-DISTROOVERRIDES>`__ variables. Another
4426 important override included by default is ``pn-${PN}``. This override 4430 important override included by default is ``pn-${PN}``. This override
4427 allows variables to be set for a single recipe within configuration 4431 allows variables to be set for a single recipe within configuration
4428 (``.conf``) files. Here is an example: FOO_pn-myrecipe = 4432 (``.conf``) files. Here is an example: FOO_pn-myrecipe =
@@ -4464,8 +4468,8 @@ system and gives an overview of their function and contents.
4464 The architecture of the resulting package or packages. 4468 The architecture of the resulting package or packages.
4465 4469
4466 By default, the value of this variable is set to 4470 By default, the value of this variable is set to
4467 :term:`TUNE_PKGARCH` when building for the 4471 ```TUNE_PKGARCH`` <#var-TUNE_PKGARCH>`__ when building for the
4468 target, :term:`BUILD_ARCH` when building for the 4472 target, ```BUILD_ARCH`` <#var-BUILD_ARCH>`__ when building for the
4469 build host, and "${SDK_ARCH}-${SDKPKGSUFFIX}" when building for the 4473 build host, and "${SDK_ARCH}-${SDKPKGSUFFIX}" when building for the
4470 SDK. 4474 SDK.
4471 4475
@@ -4478,7 +4482,7 @@ system and gives an overview of their function and contents.
4478 However, if your recipe's output packages are built specific to the 4482 However, if your recipe's output packages are built specific to the
4479 target machine rather than generally for the architecture of the 4483 target machine rather than generally for the architecture of the
4480 machine, you should set ``PACKAGE_ARCH`` to the value of 4484 machine, you should set ``PACKAGE_ARCH`` to the value of
4481 :term:`MACHINE_ARCH` in the recipe as follows: 4485 ```MACHINE_ARCH`` <#var-MACHINE_ARCH>`__ in the recipe as follows:
4482 PACKAGE_ARCH = "${MACHINE_ARCH}" 4486 PACKAGE_ARCH = "${MACHINE_ARCH}"
4483 4487
4484 PACKAGE_ARCHS 4488 PACKAGE_ARCHS
@@ -4495,8 +4499,8 @@ system and gives an overview of their function and contents.
4495 4499
4496 PACKAGE_CLASSES 4500 PACKAGE_CLASSES
4497 This variable, which is set in the ``local.conf`` configuration file 4501 This variable, which is set in the ``local.conf`` configuration file
4498 found in the ``conf`` folder of the 4502 found in the ``conf`` folder of the `Build
4499 :term:`Build Directory`, specifies the package manager the 4503 Directory <#build-directory>`__, specifies the package manager the
4500 OpenEmbedded build system uses when packaging data. 4504 OpenEmbedded build system uses when packaging data.
4501 4505
4502 You can provide one or more of the following arguments for the 4506 You can provide one or more of the following arguments for the
@@ -4520,7 +4524,7 @@ system and gives an overview of their function and contents.
4520 4524
4521 For information on packaging and build performance effects as a 4525 For information on packaging and build performance effects as a
4522 result of the package manager in use, see the 4526 result of the package manager in use, see the
4523 ":ref:`package.bbclass <ref-classes-package>`" section. 4527 "```package.bbclass`` <#ref-classes-package>`__" section.
4524 4528
4525 PACKAGE_DEBUG_SPLIT_STYLE 4529 PACKAGE_DEBUG_SPLIT_STYLE
4526 Determines how to split up the binary and debug information when 4530 Determines how to split up the binary and debug information when
@@ -4562,7 +4566,7 @@ system and gives an overview of their function and contents.
4562 4566
4563 You might find that you want to prevent installing certain packages 4567 You might find that you want to prevent installing certain packages
4564 when you are installing complementary packages. For example, if you 4568 when you are installing complementary packages. For example, if you
4565 are using :term:`IMAGE_FEATURES` to install 4569 are using ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__ to install
4566 ``dev-pkgs``, you might not want to install all packages from a 4570 ``dev-pkgs``, you might not want to install all packages from a
4567 particular multilib. If you find yourself in this situation, you can 4571 particular multilib. If you find yourself in this situation, you can
4568 use the ``PACKAGE_EXCLUDE_COMPLEMENTARY`` variable to specify regular 4572 use the ``PACKAGE_EXCLUDE_COMPLEMENTARY`` variable to specify regular
@@ -4579,7 +4583,7 @@ system and gives an overview of their function and contents.
4579 4583
4580 If you choose to not install a package using this variable and some 4584 If you choose to not install a package using this variable and some
4581 other package is dependent on it (i.e. listed in a recipe's 4585 other package is dependent on it (i.e. listed in a recipe's
4582 :term:`RDEPENDS` variable), the OpenEmbedded build 4586 ```RDEPENDS`` <#var-RDEPENDS>`__ variable), the OpenEmbedded build
4583 system generates a fatal installation error. Because the build system 4587 system generates a fatal installation error. Because the build system
4584 halts the process with a fatal error, you can use the variable with 4588 halts the process with a fatal error, you can use the variable with
4585 an iterative development process to remove specific components from a 4589 an iterative development process to remove specific components from a
@@ -4588,8 +4592,8 @@ system and gives an overview of their function and contents.
4588 Support for this variable exists only when using the IPK and RPM 4592 Support for this variable exists only when using the IPK and RPM
4589 packaging backend. Support does not exist for DEB. 4593 packaging backend. Support does not exist for DEB.
4590 4594
4591 See the :term:`NO_RECOMMENDATIONS` and the 4595 See the ```NO_RECOMMENDATIONS`` <#var-NO_RECOMMENDATIONS>`__ and the
4592 :term:`BAD_RECOMMENDATIONS` variables for 4596 ```BAD_RECOMMENDATIONS`` <#var-BAD_RECOMMENDATIONS>`__ variables for
4593 related information. 4597 related information.
4594 4598
4595 PACKAGE_EXTRA_ARCHS 4599 PACKAGE_EXTRA_ARCHS
@@ -4602,8 +4606,8 @@ system and gives an overview of their function and contents.
4602 package feed URIs during the build. When used, the 4606 package feed URIs during the build. When used, the
4603 ``PACKAGE_FEED_ARCHS`` variable is appended to the final package feed 4607 ``PACKAGE_FEED_ARCHS`` variable is appended to the final package feed
4604 URI, which is constructed using the 4608 URI, which is constructed using the
4605 :term:`PACKAGE_FEED_URIS` and 4609 ```PACKAGE_FEED_URIS`` <#var-PACKAGE_FEED_URIS>`__ and
4606 :term:`PACKAGE_FEED_BASE_PATHS` 4610 ```PACKAGE_FEED_BASE_PATHS`` <#var-PACKAGE_FEED_BASE_PATHS>`__
4607 variables. 4611 variables.
4608 4612
4609 .. note:: 4613 .. note::
@@ -4636,8 +4640,8 @@ system and gives an overview of their function and contents.
4636 Specifies the base path used when constructing package feed URIs. The 4640 Specifies the base path used when constructing package feed URIs. The
4637 ``PACKAGE_FEED_BASE_PATHS`` variable makes up the middle portion of a 4641 ``PACKAGE_FEED_BASE_PATHS`` variable makes up the middle portion of a
4638 package feed URI used by the OpenEmbedded build system. The base path 4642 package feed URI used by the OpenEmbedded build system. The base path
4639 lies between the :term:`PACKAGE_FEED_URIS` 4643 lies between the ```PACKAGE_FEED_URIS`` <#var-PACKAGE_FEED_URIS>`__
4640 and :term:`PACKAGE_FEED_ARCHS` variables. 4644 and ```PACKAGE_FEED_ARCHS`` <#var-PACKAGE_FEED_ARCHS>`__ variables.
4641 4645
4642 Consider the following example where the ``PACKAGE_FEED_URIS``, 4646 Consider the following example where the ``PACKAGE_FEED_URIS``,
4643 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are 4647 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are
@@ -4659,8 +4663,8 @@ system and gives an overview of their function and contents.
4659 Specifies the front portion of the package feed URI used by the 4663 Specifies the front portion of the package feed URI used by the
4660 OpenEmbedded build system. Each final package feed URI is comprised 4664 OpenEmbedded build system. Each final package feed URI is comprised
4661 of ``PACKAGE_FEED_URIS``, 4665 of ``PACKAGE_FEED_URIS``,
4662 :term:`PACKAGE_FEED_BASE_PATHS`, and 4666 ```PACKAGE_FEED_BASE_PATHS`` <#var-PACKAGE_FEED_BASE_PATHS>`__, and
4663 :term:`PACKAGE_FEED_ARCHS` variables. 4667 ```PACKAGE_FEED_ARCHS`` <#var-PACKAGE_FEED_ARCHS>`__ variables.
4664 4668
4665 Consider the following example where the ``PACKAGE_FEED_URIS``, 4669 Consider the following example where the ``PACKAGE_FEED_URIS``,
4666 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are 4670 ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are
@@ -4687,7 +4691,7 @@ system and gives an overview of their function and contents.
4687 not the final list of packages that are actually installed. This 4691 not the final list of packages that are actually installed. This
4688 variable is internal to the image construction code. Consequently, in 4692 variable is internal to the image construction code. Consequently, in
4689 general, you should use the 4693 general, you should use the
4690 :term:`IMAGE_INSTALL` variable to specify 4694 ```IMAGE_INSTALL`` <#var-IMAGE_INSTALL>`__ variable to specify
4691 packages for installation. The exception to this is when working with 4695 packages for installation. The exception to this is when working with
4692 the 4696 the
4693 ```core-image-minimal-initramfs`` <#images-core-image-minimal-initramfs>`__ 4697 ```core-image-minimal-initramfs`` <#images-core-image-minimal-initramfs>`__
@@ -4705,7 +4709,7 @@ system and gives an overview of their function and contents.
4705 4709
4706 PACKAGE_PREPROCESS_FUNCS 4710 PACKAGE_PREPROCESS_FUNCS
4707 Specifies a list of functions run to pre-process the 4711 Specifies a list of functions run to pre-process the
4708 :term:`PKGD` directory prior to splitting the files out 4712 ```PKGD`` <#var-PKGD>`__ directory prior to splitting the files out
4709 to individual packages. 4713 to individual packages.
4710 4714
4711 PACKAGE_WRITE_DEPS 4715 PACKAGE_WRITE_DEPS
@@ -4740,21 +4744,21 @@ system and gives an overview of their function and contents.
4740 order is important and specifies the following: 4744 order is important and specifies the following:
4741 4745
4742 1. Extra arguments that should be added to the configure script 4746 1. Extra arguments that should be added to the configure script
4743 argument list (:term:`EXTRA_OECONF` or 4747 argument list (```EXTRA_OECONF`` <#var-EXTRA_OECONF>`__ or
4744 :term:`PACKAGECONFIG_CONFARGS`) if 4748 ```PACKAGECONFIG_CONFARGS`` <#var-PACKAGECONFIG_CONFARGS>`__) if
4745 the feature is enabled. 4749 the feature is enabled.
4746 4750
4747 2. Extra arguments that should be added to ``EXTRA_OECONF`` or 4751 2. Extra arguments that should be added to ``EXTRA_OECONF`` or
4748 ``PACKAGECONFIG_CONFARGS`` if the feature is disabled. 4752 ``PACKAGECONFIG_CONFARGS`` if the feature is disabled.
4749 4753
4750 3. Additional build dependencies (:term:`DEPENDS`) 4754 3. Additional build dependencies (```DEPENDS`` <#var-DEPENDS>`__)
4751 that should be added if the feature is enabled. 4755 that should be added if the feature is enabled.
4752 4756
4753 4. Additional runtime dependencies (:term:`RDEPENDS`) 4757 4. Additional runtime dependencies (```RDEPENDS`` <#var-RDEPENDS>`__)
4754 that should be added if the feature is enabled. 4758 that should be added if the feature is enabled.
4755 4759
4756 5. Additional runtime recommendations 4760 5. Additional runtime recommendations
4757 (:term:`RRECOMMENDS`) that should be added if 4761 (```RRECOMMENDS`` <#var-RRECOMMENDS>`__) that should be added if
4758 the feature is enabled. 4762 the feature is enabled.
4759 4763
4760 6. Any conflicting (that is, mutually exclusive) ``PACKAGECONFIG`` 4764 6. Any conflicting (that is, mutually exclusive) ``PACKAGECONFIG``
@@ -4793,10 +4797,10 @@ system and gives an overview of their function and contents.
4793 4797
4794 PACKAGECONFIG_CONFARGS 4798 PACKAGECONFIG_CONFARGS
4795 A space-separated list of configuration options generated from the 4799 A space-separated list of configuration options generated from the
4796 :term:`PACKAGECONFIG` setting. 4800 ```PACKAGECONFIG`` <#var-PACKAGECONFIG>`__ setting.
4797 4801
4798 Classes such as :ref:`autotools <ref-classes-autotools>` and 4802 Classes such as ```autotools`` <#ref-classes-autotools>`__ and
4799 :ref:`cmake <ref-classes-cmake>` use ``PACKAGECONFIG_CONFARGS`` to 4803 ```cmake`` <#ref-classes-cmake>`__ use ``PACKAGECONFIG_CONFARGS`` to
4800 pass ``PACKAGECONFIG`` options to ``configure`` and ``cmake``, 4804 pass ``PACKAGECONFIG`` options to ``configure`` and ``cmake``,
4801 respectively. If you are using ``PACKAGECONFIG`` but not a class that 4805 respectively. If you are using ``PACKAGECONFIG`` but not a class that
4802 handles the ``do_configure`` task, then you need to use 4806 handles the ``do_configure`` task, then you need to use
@@ -4804,7 +4808,7 @@ system and gives an overview of their function and contents.
4804 4808
4805 PACKAGEGROUP_DISABLE_COMPLEMENTARY 4809 PACKAGEGROUP_DISABLE_COMPLEMENTARY
4806 For recipes inheriting the 4810 For recipes inheriting the
4807 :ref:`packagegroup <ref-classes-packagegroup>` class, setting 4811 ```packagegroup`` <#ref-classes-packagegroup>`__ class, setting
4808 ``PACKAGEGROUP_DISABLE_COMPLEMENTARY`` to "1" specifies that the 4812 ``PACKAGEGROUP_DISABLE_COMPLEMENTARY`` to "1" specifies that the
4809 normal complementary packages (i.e. ``-dev``, ``-dbg``, and so forth) 4813 normal complementary packages (i.e. ``-dev``, ``-dbg``, and so forth)
4810 should not be automatically created by the ``packagegroup`` recipe, 4814 should not be automatically created by the ``packagegroup`` recipe,
@@ -4815,8 +4819,8 @@ system and gives an overview of their function and contents.
4815 following: ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale 4819 following: ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale
4816 ${PACKAGE_BEFORE_PN} ${PN} 4820 ${PACKAGE_BEFORE_PN} ${PN}
4817 4821
4818 During packaging, the :ref:`ref-tasks-package` task 4822 During packaging, the ```do_package`` <#ref-tasks-package>`__ task
4819 goes through ``PACKAGES`` and uses the :term:`FILES` 4823 goes through ``PACKAGES`` and uses the ```FILES`` <#var-FILES>`__
4820 variable corresponding to each package to assign files to the 4824 variable corresponding to each package to assign files to the
4821 package. If a file matches the ``FILES`` variable for more than one 4825 package. If a file matches the ``FILES`` variable for more than one
4822 package in ``PACKAGES``, it will be assigned to the earliest 4826 package in ``PACKAGES``, it will be assigned to the earliest
@@ -4824,26 +4828,26 @@ system and gives an overview of their function and contents.
4824 4828
4825 Packages in the variable's list that are empty (i.e. where none of 4829 Packages in the variable's list that are empty (i.e. where none of
4826 the patterns in ``FILES_``\ pkg match any files installed by the 4830 the patterns in ``FILES_``\ pkg match any files installed by the
4827 :ref:`ref-tasks-install` task) are not generated, 4831 ```do_install`` <#ref-tasks-install>`__ task) are not generated,
4828 unless generation is forced through the 4832 unless generation is forced through the
4829 :term:`ALLOW_EMPTY` variable. 4833 ```ALLOW_EMPTY`` <#var-ALLOW_EMPTY>`__ variable.
4830 4834
4831 PACKAGES_DYNAMIC 4835 PACKAGES_DYNAMIC
4832 A promise that your recipe satisfies runtime dependencies for 4836 A promise that your recipe satisfies runtime dependencies for
4833 optional modules that are found in other recipes. 4837 optional modules that are found in other recipes.
4834 ``PACKAGES_DYNAMIC`` does not actually satisfy the dependencies, it 4838 ``PACKAGES_DYNAMIC`` does not actually satisfy the dependencies, it
4835 only states that they should be satisfied. For example, if a hard, 4839 only states that they should be satisfied. For example, if a hard,
4836 runtime dependency (:term:`RDEPENDS`) of another 4840 runtime dependency (```RDEPENDS`` <#var-RDEPENDS>`__) of another
4837 package is satisfied at build time through the ``PACKAGES_DYNAMIC`` 4841 package is satisfied at build time through the ``PACKAGES_DYNAMIC``
4838 variable, but a package with the module name is never actually 4842 variable, but a package with the module name is never actually
4839 produced, then the other package will be broken. Thus, if you attempt 4843 produced, then the other package will be broken. Thus, if you attempt
4840 to include that package in an image, you will get a dependency 4844 to include that package in an image, you will get a dependency
4841 failure from the packaging system during the 4845 failure from the packaging system during the
4842 :ref:`ref-tasks-rootfs` task. 4846 ```do_rootfs`` <#ref-tasks-rootfs>`__ task.
4843 4847
4844 Typically, if there is a chance that such a situation can occur and 4848 Typically, if there is a chance that such a situation can occur and
4845 the package that is not created is valid without the dependency being 4849 the package that is not created is valid without the dependency being
4846 satisfied, then you should use :term:`RRECOMMENDS` 4850 satisfied, then you should use ```RRECOMMENDS`` <#var-RRECOMMENDS>`__
4847 (a soft runtime dependency) instead of ``RDEPENDS``. 4851 (a soft runtime dependency) instead of ``RDEPENDS``.
4848 4852
4849 For an example of how to use the ``PACKAGES_DYNAMIC`` variable when 4853 For an example of how to use the ``PACKAGES_DYNAMIC`` variable when
@@ -4856,14 +4860,14 @@ system and gives an overview of their function and contents.
4856 files into individual packages. Recipes can either prepend to this 4860 files into individual packages. Recipes can either prepend to this
4857 variable or prepend to the ``populate_packages`` function in order to 4861 variable or prepend to the ``populate_packages`` function in order to
4858 perform additional package splitting. In either case, the function 4862 perform additional package splitting. In either case, the function
4859 should set :term:`PACKAGES`, 4863 should set ```PACKAGES`` <#var-PACKAGES>`__,
4860 :term:`FILES`, :term:`RDEPENDS` and 4864 ```FILES`` <#var-FILES>`__, ```RDEPENDS`` <#var-RDEPENDS>`__ and
4861 other packaging variables appropriately in order to perform the 4865 other packaging variables appropriately in order to perform the
4862 desired splitting. 4866 desired splitting.
4863 4867
4864 PARALLEL_MAKE 4868 PARALLEL_MAKE
4865 Extra options passed to the ``make`` command during the 4869 Extra options passed to the ``make`` command during the
4866 :ref:`ref-tasks-compile` task in order to specify 4870 ```do_compile`` <#ref-tasks-compile>`__ task in order to specify
4867 parallel compilation on the local build host. This variable is 4871 parallel compilation on the local build host. This variable is
4868 usually in the form "-j x", where x represents the maximum number of 4872 usually in the form "-j x", where x represents the maximum number of
4869 parallel threads ``make`` can run. 4873 parallel threads ``make`` can run.
@@ -4909,15 +4913,15 @@ system and gives an overview of their function and contents.
4909 4913
4910 PARALLEL_MAKEINST 4914 PARALLEL_MAKEINST
4911 Extra options passed to the ``make install`` command during the 4915 Extra options passed to the ``make install`` command during the
4912 :ref:`ref-tasks-install` task in order to specify 4916 ```do_install`` <#ref-tasks-install>`__ task in order to specify
4913 parallel installation. This variable defaults to the value of 4917 parallel installation. This variable defaults to the value of
4914 :term:`PARALLEL_MAKE`. 4918 ```PARALLEL_MAKE`` <#var-PARALLEL_MAKE>`__.
4915 4919
4916 .. note:: 4920 .. note::
4917 4921
4918 In order for ``PARALLEL_MAKEINST`` to be effective, ``make`` must 4922 In order for ``PARALLEL_MAKEINST`` to be effective, ``make`` must
4919 be called with 4923 be called with
4920 ``${``\ :term:`EXTRA_OEMAKE`\ ``}``. An easy 4924 ``${``\ ```EXTRA_OEMAKE`` <#var-EXTRA_OEMAKE>`__\ ``}``. An easy
4921 way to ensure this is to use the ``oe_runmake`` function. 4925 way to ensure this is to use the ``oe_runmake`` function.
4922 4926
4923 If the software being built experiences dependency issues during 4927 If the software being built experiences dependency issues during
@@ -4942,7 +4946,7 @@ system and gives an overview of their function and contents.
4942 4946
4943 PATCHTOOL 4947 PATCHTOOL
4944 Specifies the utility used to apply patches for a recipe during the 4948 Specifies the utility used to apply patches for a recipe during the
4945 :ref:`ref-tasks-patch` task. You can specify one of 4949 ```do_patch`` <#ref-tasks-patch>`__ task. You can specify one of
4946 three utilities: "patch", "quilt", or "git". The default utility used 4950 three utilities: "patch", "quilt", or "git". The default utility used
4947 is "quilt" except for the quilt-native recipe itself. Because the 4951 is "quilt" except for the quilt-native recipe itself. Because the
4948 quilt tool is not available at the time quilt-native is being 4952 quilt tool is not available at the time quilt-native is being
@@ -4957,20 +4961,20 @@ system and gives an overview of their function and contents.
4957 variable is used to make upgrades possible when the versioning scheme 4961 variable is used to make upgrades possible when the versioning scheme
4958 changes in some backwards incompatible way. 4962 changes in some backwards incompatible way.
4959 4963
4960 ``PE`` is the default value of the :term:`PKGE` variable. 4964 ``PE`` is the default value of the ```PKGE`` <#var-PKGE>`__ variable.
4961 4965
4962 PF 4966 PF
4963 Specifies the recipe or package name and includes all version and 4967 Specifies the recipe or package name and includes all version and
4964 revision numbers (i.e. ``glibc-2.13-r20+svnr15508/`` and 4968 revision numbers (i.e. ``glibc-2.13-r20+svnr15508/`` and
4965 ``bash-4.2-r1/``). This variable is comprised of the following: 4969 ``bash-4.2-r1/``). This variable is comprised of the following:
4966 ${:term:`PN`}-${:term:`EXTENDPE`}${:term:`PV`}-${:term:`PR`} 4970 ${`PN <#var-PN>`__}-${`EXTENDPE <#var-EXTENDPE>`__}${`PV <#var-PV>`__}-${`PR <#var-PR>`__}
4967 4971
4968 PIXBUF_PACKAGES 4972 PIXBUF_PACKAGES
4969 When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>` 4973 When inheriting the ```pixbufcache`` <#ref-classes-pixbufcache>`__
4970 class, this variable identifies packages that contain the pixbuf 4974 class, this variable identifies packages that contain the pixbuf
4971 loaders used with ``gdk-pixbuf``. By default, the ``pixbufcache`` 4975 loaders used with ``gdk-pixbuf``. By default, the ``pixbufcache``
4972 class assumes that the loaders are in the recipe's main package (i.e. 4976 class assumes that the loaders are in the recipe's main package (i.e.
4973 ``${``\ :term:`PN`\ ``}``). Use this variable if the 4977 ``${``\ ```PN`` <#var-PN>`__\ ``}``). Use this variable if the
4974 loaders you need are in a package other than that main package. 4978 loaders you need are in a package other than that main package.
4975 4979
4976 PKG 4980 PKG
@@ -4983,7 +4987,7 @@ system and gives an overview of their function and contents.
4983 PKG 4987 PKG
4984 variable, you must use a package name override. 4988 variable, you must use a package name override.
4985 4989
4986 For example, when the :ref:`debian <ref-classes-debian>` class 4990 For example, when the ```debian`` <#ref-classes-debian>`__ class
4987 renames the output package, it does so by setting 4991 renames the output package, it does so by setting
4988 ``PKG_packagename``. 4992 ``PKG_packagename``.
4989 4993
@@ -5001,7 +5005,7 @@ system and gives an overview of their function and contents.
5001 PKGDATA_DIR 5005 PKGDATA_DIR
5002 Points to a shared, global-state directory that holds data generated 5006 Points to a shared, global-state directory that holds data generated
5003 during the packaging process. During the packaging process, the 5007 during the packaging process. During the packaging process, the
5004 :ref:`ref-tasks-packagedata` task packages data 5008 ```do_packagedata`` <#ref-tasks-packagedata>`__ task packages data
5005 for each recipe and installs it into this temporary, shared area. 5009 for each recipe and installs it into this temporary, shared area.
5006 This directory defaults to the following, which you should not 5010 This directory defaults to the following, which you should not
5007 change: ${STAGING_DIR_HOST}/pkgdata For examples of how this data is 5011 change: ${STAGING_DIR_HOST}/pkgdata For examples of how this data is
@@ -5012,7 +5016,7 @@ system and gives an overview of their function and contents.
5012 ``oe-pkgdata-util`` <&YOCTO_DOCS_DEV_URL;#viewing-package-information-with-oe-pkgdata-util>`__" 5016 ``oe-pkgdata-util`` <&YOCTO_DOCS_DEV_URL;#viewing-package-information-with-oe-pkgdata-util>`__"
5013 section in the Yocto Project Development Tasks Manual. For more 5017 section in the Yocto Project Development Tasks Manual. For more
5014 information on the shared, global-state directory, see 5018 information on the shared, global-state directory, see
5015 :term:`STAGING_DIR_HOST`. 5019 ```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__.
5016 5020
5017 PKGDEST 5021 PKGDEST
5018 Points to the parent directory for files to be packaged after they 5022 Points to the parent directory for files to be packaged after they
@@ -5020,30 +5024,30 @@ system and gives an overview of their function and contents.
5020 the following: ${WORKDIR}/packages-split 5024 the following: ${WORKDIR}/packages-split
5021 5025
5022 Under this directory, the build system creates directories for each 5026 Under this directory, the build system creates directories for each
5023 package specified in :term:`PACKAGES`. Do not change 5027 package specified in ```PACKAGES`` <#var-PACKAGES>`__. Do not change
5024 this default. 5028 this default.
5025 5029
5026 PKGDESTWORK 5030 PKGDESTWORK
5027 Points to a temporary work area where the 5031 Points to a temporary work area where the
5028 :ref:`ref-tasks-package` task saves package metadata. 5032 ```do_package`` <#ref-tasks-package>`__ task saves package metadata.
5029 The ``PKGDESTWORK`` location defaults to the following: 5033 The ``PKGDESTWORK`` location defaults to the following:
5030 ${WORKDIR}/pkgdata Do not change this default. 5034 ${WORKDIR}/pkgdata Do not change this default.
5031 5035
5032 The :ref:`ref-tasks-packagedata` task copies the 5036 The ```do_packagedata`` <#ref-tasks-packagedata>`__ task copies the
5033 package metadata from ``PKGDESTWORK`` to 5037 package metadata from ``PKGDESTWORK`` to
5034 :term:`PKGDATA_DIR` to make it available globally. 5038 ```PKGDATA_DIR`` <#var-PKGDATA_DIR>`__ to make it available globally.
5035 5039
5036 PKGE 5040 PKGE
5037 The epoch of the package(s) built by the recipe. By default, ``PKGE`` 5041 The epoch of the package(s) built by the recipe. By default, ``PKGE``
5038 is set to :term:`PE`. 5042 is set to ```PE`` <#var-PE>`__.
5039 5043
5040 PKGR 5044 PKGR
5041 The revision of the package(s) built by the recipe. By default, 5045 The revision of the package(s) built by the recipe. By default,
5042 ``PKGR`` is set to :term:`PR`. 5046 ``PKGR`` is set to ```PR`` <#var-PR>`__.
5043 5047
5044 PKGV 5048 PKGV
5045 The version of the package(s) built by the recipe. By default, 5049 The version of the package(s) built by the recipe. By default,
5046 ``PKGV`` is set to :term:`PV`. 5050 ``PKGV`` is set to ```PV`` <#var-PV>`__.
5047 5051
5048 PN 5052 PN
5049 This variable can have two separate functions depending on the 5053 This variable can have two separate functions depending on the
@@ -5067,7 +5071,7 @@ system and gives an overview of their function and contents.
5067 PNBLACKLIST 5071 PNBLACKLIST
5068 Lists recipes you do not want the OpenEmbedded build system to build. 5072 Lists recipes you do not want the OpenEmbedded build system to build.
5069 This variable works in conjunction with the 5073 This variable works in conjunction with the
5070 :ref:`blacklist <ref-classes-blacklist>` class, which is inherited 5074 ```blacklist`` <#ref-classes-blacklist>`__ class, which is inherited
5071 globally. 5075 globally.
5072 5076
5073 To prevent a recipe from being built, use the ``PNBLACKLIST`` 5077 To prevent a recipe from being built, use the ``PNBLACKLIST``
@@ -5084,7 +5088,7 @@ system and gives an overview of their function and contents.
5084 If you need to pass the SDK path to a command within a function, you 5088 If you need to pass the SDK path to a command within a function, you
5085 can use ``${SDK_DIR}``, which points to the parent directory used by 5089 can use ``${SDK_DIR}``, which points to the parent directory used by
5086 the OpenEmbedded build system when creating SDK output. See the 5090 the OpenEmbedded build system when creating SDK output. See the
5087 :term:`SDK_DIR` variable for more information. 5091 ```SDK_DIR`` <#var-SDK_DIR>`__ variable for more information.
5088 5092
5089 POPULATE_SDK_POST_TARGET_COMMAND 5093 POPULATE_SDK_POST_TARGET_COMMAND
5090 Specifies a list of functions to call once the OpenEmbedded build 5094 Specifies a list of functions to call once the OpenEmbedded build
@@ -5095,12 +5099,12 @@ system and gives an overview of their function and contents.
5095 If you need to pass the SDK path to a command within a function, you 5099 If you need to pass the SDK path to a command within a function, you
5096 can use ``${SDK_DIR}``, which points to the parent directory used by 5100 can use ``${SDK_DIR}``, which points to the parent directory used by
5097 the OpenEmbedded build system when creating SDK output. See the 5101 the OpenEmbedded build system when creating SDK output. See the
5098 :term:`SDK_DIR` variable for more information. 5102 ```SDK_DIR`` <#var-SDK_DIR>`__ variable for more information.
5099 5103
5100 PR 5104 PR
5101 The revision of the recipe. The default value for this variable is 5105 The revision of the recipe. The default value for this variable is
5102 "r0". Subsequent revisions of the recipe conventionally have the 5106 "r0". Subsequent revisions of the recipe conventionally have the
5103 values "r1", "r2", and so forth. When :term:`PV` increases, 5107 values "r1", "r2", and so forth. When ```PV`` <#var-PV>`__ increases,
5104 ``PR`` is conventionally reset to "r0". 5108 ``PR`` is conventionally reset to "r0".
5105 5109
5106 .. note:: 5110 .. note::
@@ -5118,7 +5122,7 @@ system and gives an overview of their function and contents.
5118 The ``PR`` variable primarily becomes significant when a package 5122 The ``PR`` variable primarily becomes significant when a package
5119 manager dynamically installs packages on an already built image. In 5123 manager dynamically installs packages on an already built image. In
5120 this case, ``PR``, which is the default value of 5124 this case, ``PR``, which is the default value of
5121 :term:`PKGR`, helps the package manager distinguish which 5125 ```PKGR`` <#var-PKGR>`__, helps the package manager distinguish which
5122 package is the most recent one in cases where many packages have the 5126 package is the most recent one in cases where many packages have the
5123 same ``PV`` (i.e. ``PKGV``). A component having many packages with 5127 same ``PV`` (i.e. ``PKGV``). A component having many packages with
5124 the same ``PV`` usually means that the packages all install the same 5128 the same ``PV`` usually means that the packages all install the same
@@ -5141,7 +5145,7 @@ system and gives an overview of their function and contents.
5141 which recipe is preferred and thus provides the item (i.e. the 5145 which recipe is preferred and thus provides the item (i.e. the
5142 preferred provider). You should always suffix this variable with the 5146 preferred provider). You should always suffix this variable with the
5143 name of the provided item. And, you should define the variable using 5147 name of the provided item. And, you should define the variable using
5144 the preferred recipe's name (:term:`PN`). Here is a common 5148 the preferred recipe's name (```PN`` <#var-PN>`__). Here is a common
5145 example: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" In the 5149 example: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" In the
5146 previous example, multiple recipes are providing "virtual/kernel". 5150 previous example, multiple recipes are providing "virtual/kernel".
5147 The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of 5151 The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of
@@ -5170,8 +5174,8 @@ system and gives an overview of their function and contents.
5170 PREFERRED_VERSION 5174 PREFERRED_VERSION
5171 If multiple versions of recipes exist, this variable determines which 5175 If multiple versions of recipes exist, this variable determines which
5172 version is given preference. You must always suffix the variable with 5176 version is given preference. You must always suffix the variable with
5173 the :term:`PN` you want to select, and you should set the 5177 the ```PN`` <#var-PN>`__ you want to select, and you should set the
5174 :term:`PV` accordingly for precedence. 5178 ```PV`` <#var-PV>`__ accordingly for precedence.
5175 5179
5176 The ``PREFERRED_VERSION`` variable supports limited wildcard use 5180 The ``PREFERRED_VERSION`` variable supports limited wildcard use
5177 through the "``%``" character. You can use the character to match any 5181 through the "``%``" character. You can use the character to match any
@@ -5188,7 +5192,7 @@ system and gives an overview of their function and contents.
5188 string. You cannot use the wildcard character in any other 5192 string. You cannot use the wildcard character in any other
5189 location of the string. 5193 location of the string.
5190 5194
5191 The specified version is matched against :term:`PV`, which 5195 The specified version is matched against ```PV`` <#var-PV>`__, which
5192 does not necessarily match the version part of the recipe's filename. 5196 does not necessarily match the version part of the recipe's filename.
5193 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb`` 5197 For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
5194 where ``foo_git.bb`` contains the following assignment: PV = 5198 where ``foo_git.bb`` contains the following assignment: PV =
@@ -5200,7 +5204,7 @@ system and gives an overview of their function and contents.
5200 5204
5201 Sometimes the ``PREFERRED_VERSION`` variable can be set by 5205 Sometimes the ``PREFERRED_VERSION`` variable can be set by
5202 configuration files in a way that is hard to change. You can use 5206 configuration files in a way that is hard to change. You can use
5203 :term:`OVERRIDES` to set a machine-specific 5207 ```OVERRIDES`` <#var-OVERRIDES>`__ to set a machine-specific
5204 override. Here is an example: PREFERRED_VERSION_linux-yocto_qemux86 = 5208 override. Here is an example: PREFERRED_VERSION_linux-yocto_qemux86 =
5205 "5.0%" Although not recommended, worst case, you can also use the 5209 "5.0%" Although not recommended, worst case, you can also use the
5206 "forcevariable" override, which is the strongest override possible. 5210 "forcevariable" override, which is the strongest override possible.
@@ -5222,16 +5226,16 @@ system and gives an overview of their function and contents.
5222 first tries the local download directory. If that location fails, the 5226 first tries the local download directory. If that location fails, the
5223 build system tries locations defined by ``PREMIRRORS``, the upstream 5227 build system tries locations defined by ``PREMIRRORS``, the upstream
5224 source, and then locations specified by 5228 source, and then locations specified by
5225 :term:`MIRRORS` in that order. 5229 ```MIRRORS`` <#var-MIRRORS>`__ in that order.
5226 5230
5227 Assuming your distribution (:term:`DISTRO`) is "poky", 5231 Assuming your distribution (```DISTRO`` <#var-DISTRO>`__) is "poky",
5228 the default value for ``PREMIRRORS`` is defined in the 5232 the default value for ``PREMIRRORS`` is defined in the
5229 ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository. 5233 ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository.
5230 5234
5231 Typically, you could add a specific server for the build system to 5235 Typically, you could add a specific server for the build system to
5232 attempt before any others by adding something like the following to 5236 attempt before any others by adding something like the following to
5233 the ``local.conf`` configuration file in the 5237 the ``local.conf`` configuration file in the `Build
5234 :term:`Build Directory`: PREMIRRORS_prepend = "\\ 5238 Directory <#build-directory>`__: PREMIRRORS_prepend = "\\
5235 git://.*/.\* http://www.yoctoproject.org/sources/ \\n \\ ftp://.*/.\* 5239 git://.*/.\* http://www.yoctoproject.org/sources/ \\n \\ ftp://.*/.\*
5236 http://www.yoctoproject.org/sources/ \\n \\ http://.*/.\* 5240 http://www.yoctoproject.org/sources/ \\n \\ http://.*/.\*
5237 http://www.yoctoproject.org/sources/ \\n \\ https://.*/.\* 5241 http://www.yoctoproject.org/sources/ \\n \\ https://.*/.\*
@@ -5311,7 +5315,7 @@ system and gives an overview of their function and contents.
5311 "virtual/function" (e.g. "virtual/kernel"). The slash is simply part 5315 "virtual/function" (e.g. "virtual/kernel"). The slash is simply part
5312 of the name and has no syntactical significance. 5316 of the name and has no syntactical significance.
5313 5317
5314 The :term:`PREFERRED_PROVIDER` variable is 5318 The ```PREFERRED_PROVIDER`` <#var-PREFERRED_PROVIDER>`__ variable is
5315 used to select which particular recipe provides a virtual target. 5319 used to select which particular recipe provides a virtual target.
5316 5320
5317 .. note:: 5321 .. note::
@@ -5331,10 +5335,10 @@ system and gives an overview of their function and contents.
5331 5335
5332 5336
5333 PRSERV_HOST 5337 PRSERV_HOST
5334 The network based :term:`PR` service host and port. 5338 The network based ```PR`` <#var-PR>`__ service host and port.
5335 5339
5336 The ``conf/local.conf.sample.extended`` configuration file in the 5340 The ``conf/local.conf.sample.extended`` configuration file in the
5337 :term:`Source Directory` shows how the 5341 `Source Directory <#source-directory>`__ shows how the
5338 ``PRSERV_HOST`` variable is set: PRSERV_HOST = "localhost:0" You must 5342 ``PRSERV_HOST`` variable is set: PRSERV_HOST = "localhost:0" You must
5339 set the variable if you want to automatically start a local `PR 5343 set the variable if you want to automatically start a local `PR
5340 service <&YOCTO_DOCS_DEV_URL;#working-with-a-pr-service>`__. You can 5344 service <&YOCTO_DOCS_DEV_URL;#working-with-a-pr-service>`__. You can
@@ -5346,7 +5350,7 @@ system and gives an overview of their function and contents.
5346 functionality is enabled when building a recipe. You should not set 5350 functionality is enabled when building a recipe. You should not set
5347 this variable directly. Enabling and disabling building Package Tests 5351 this variable directly. Enabling and disabling building Package Tests
5348 at build time should be done by adding "ptest" to (or removing it 5352 at build time should be done by adding "ptest" to (or removing it
5349 from) :term:`DISTRO_FEATURES`. 5353 from) ```DISTRO_FEATURES`` <#var-DISTRO_FEATURES>`__.
5350 5354
5351 PV 5355 PV
5352 The version of the recipe. The version is normally extracted from the 5356 The version of the recipe. The version is normally extracted from the
@@ -5356,14 +5360,14 @@ system and gives an overview of their function and contents.
5356 building an unstable (i.e. development) version from a source code 5360 building an unstable (i.e. development) version from a source code
5357 repository (e.g. Git or Subversion). 5361 repository (e.g. Git or Subversion).
5358 5362
5359 ``PV`` is the default value of the :term:`PKGV` variable. 5363 ``PV`` is the default value of the ```PKGV`` <#var-PKGV>`__ variable.
5360 5364
5361 PYTHON_ABI 5365 PYTHON_ABI
5362 When used by recipes that inherit the 5366 When used by recipes that inherit the
5363 :ref:`distutils3 <ref-classes-distutils3>`, 5367 ```distutils3`` <#ref-classes-distutils3>`__,
5364 :ref:`setuptools3 <ref-classes-setuptools3>`, 5368 ```setuptools3`` <#ref-classes-setuptools3>`__,
5365 :ref:`distutils <ref-classes-distutils>`, or 5369 ```distutils`` <#ref-classes-distutils>`__, or
5366 :ref:`setuptools <ref-classes-setuptools>` classes, denotes the 5370 ```setuptools`` <#ref-classes-setuptools>`__ classes, denotes the
5367 Application Binary Interface (ABI) currently in use for Python. By 5371 Application Binary Interface (ABI) currently in use for Python. By
5368 default, the ABI is "m". You do not have to set this variable as the 5372 default, the ABI is "m". You do not have to set this variable as the
5369 OpenEmbedded build system sets it for you. 5373 OpenEmbedded build system sets it for you.
@@ -5378,10 +5382,10 @@ system and gives an overview of their function and contents.
5378 5382
5379 PYTHON_PN 5383 PYTHON_PN
5380 When used by recipes that inherit the 5384 When used by recipes that inherit the
5381 `distutils3 <ref-classes-distutils3>`, 5385 ```distutils3`` <#ref-classes-distutils3>`__,
5382 :ref:`setuptools3 <ref-classes-setuptools3>`, 5386 ```setuptools3`` <#ref-classes-setuptools3>`__,
5383 :ref:`distutils <ref-classes-distutils>`, or 5387 ```distutils`` <#ref-classes-distutils>`__, or
5384 :ref:`setuptools <ref-classes-setuptools>` classes, specifies the 5388 ```setuptools`` <#ref-classes-setuptools>`__ classes, specifies the
5385 major Python version being built. For Python 3.x, ``PYTHON_PN`` would 5389 major Python version being built. For Python 3.x, ``PYTHON_PN`` would
5386 be "python3". You do not have to set this variable as the 5390 be "python3". You do not have to set this variable as the
5387 OpenEmbedded build system automatically sets it for you. 5391 OpenEmbedded build system automatically sets it for you.
@@ -5428,15 +5432,15 @@ system and gives an overview of their function and contents.
5428 ```do_package_write_*`` <#ref-tasks-package_write_deb>`__ tasks. 5432 ```do_package_write_*`` <#ref-tasks-package_write_deb>`__ tasks.
5429 Exactly how this is done depends on which package format is used, 5433 Exactly how this is done depends on which package format is used,
5430 which is determined by 5434 which is determined by
5431 :term:`PACKAGE_CLASSES`. When the 5435 ```PACKAGE_CLASSES`` <#var-PACKAGE_CLASSES>`__. When the
5432 corresponding package manager installs the package, it will know to 5436 corresponding package manager installs the package, it will know to
5433 also install the packages on which it depends. 5437 also install the packages on which it depends.
5434 5438
5435 To ensure that the packages ``bar`` and ``baz`` get built, the 5439 To ensure that the packages ``bar`` and ``baz`` get built, the
5436 previous ``RDEPENDS`` assignment also causes a task dependency to be 5440 previous ``RDEPENDS`` assignment also causes a task dependency to be
5437 added. This dependency is from the recipe's 5441 added. This dependency is from the recipe's
5438 :ref:`ref-tasks-build` (not to be confused with 5442 ```do_build`` <#ref-tasks-build>`__ (not to be confused with
5439 :ref:`ref-tasks-compile`) task to the 5443 ```do_compile`` <#ref-tasks-compile>`__) task to the
5440 ``do_package_write_*`` task of the recipes that build ``bar`` and 5444 ``do_package_write_*`` task of the recipes that build ``bar`` and
5441 ``baz``. 5445 ``baz``.
5442 5446
@@ -5445,7 +5449,7 @@ system and gives an overview of their function and contents.
5445 package names and recipe names usually match, the important point 5449 package names and recipe names usually match, the important point
5446 here is that you are providing package names within the ``RDEPENDS`` 5450 here is that you are providing package names within the ``RDEPENDS``
5447 variable. For an example of the default list of packages created from 5451 variable. For an example of the default list of packages created from
5448 a recipe, see the :term:`PACKAGES` variable. 5452 a recipe, see the ```PACKAGES`` <#var-PACKAGES>`__ variable.
5449 5453
5450 Because the ``RDEPENDS`` variable applies to packages being built, 5454 Because the ``RDEPENDS`` variable applies to packages being built,
5451 you should always use the variable in a form with an attached package 5455 you should always use the variable in a form with an attached package
@@ -5474,9 +5478,9 @@ system and gives an overview of their function and contents.
5474 . Use the "+=" operator rather than the "=" operator. 5478 . Use the "+=" operator rather than the "=" operator.
5475 5479
5476 The package names you use with ``RDEPENDS`` must appear as they would 5480 The package names you use with ``RDEPENDS`` must appear as they would
5477 in the ``PACKAGES`` variable. The :term:`PKG` variable 5481 in the ``PACKAGES`` variable. The ```PKG`` <#var-PKG>`__ variable
5478 allows a different name to be used for the final package (e.g. the 5482 allows a different name to be used for the final package (e.g. the
5479 :ref:`debian <ref-classes-debian>` class uses this to rename 5483 ```debian`` <#ref-classes-debian>`__ class uses this to rename
5480 packages), but this final package name cannot be used with 5484 packages), but this final package name cannot be used with
5481 ``RDEPENDS``, which makes sense as ``RDEPENDS`` is meant to be 5485 ``RDEPENDS``, which makes sense as ``RDEPENDS`` is meant to be
5482 independent of the package format used. 5486 independent of the package format used.
@@ -5499,15 +5503,15 @@ system and gives an overview of their function and contents.
5499 greater of the package ``foo``: RDEPENDS_${PN} = "foo (>= 1.2)" 5503 greater of the package ``foo``: RDEPENDS_${PN} = "foo (>= 1.2)"
5500 5504
5501 For information on build-time dependencies, see the 5505 For information on build-time dependencies, see the
5502 :term:`DEPENDS` variable. You can also see the 5506 ```DEPENDS`` <#var-DEPENDS>`__ variable. You can also see the
5503 ":ref:`Tasks <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:tasks>`" and 5507 "`Tasks <&YOCTO_DOCS_BB_URL;#tasks>`__" and
5504 ":ref:`Dependencies <bitbake:bitbake-user-manual/bitbake-user-manual-execution:dependencies>`" sections in the 5508 "`Dependencies <&YOCTO_DOCS_BB_URL;#dependencies>`__" sections in the
5505 BitBake User Manual for additional information on tasks and 5509 BitBake User Manual for additional information on tasks and
5506 dependencies. 5510 dependencies.
5507 5511
5508 REQUIRED_DISTRO_FEATURES 5512 REQUIRED_DISTRO_FEATURES
5509 When inheriting the 5513 When inheriting the
5510 :ref:`distro_features_check <ref-classes-distro_features_check>` 5514 ```distro_features_check`` <#ref-classes-distro_features_check>`__
5511 class, this variable identifies distribution features that must exist 5515 class, this variable identifies distribution features that must exist
5512 in the current configuration in order for the OpenEmbedded build 5516 in the current configuration in order for the OpenEmbedded build
5513 system to build the recipe. In other words, if the 5517 system to build the recipe. In other words, if the
@@ -5518,7 +5522,7 @@ system and gives an overview of their function and contents.
5518 RM_WORK_EXCLUDE 5522 RM_WORK_EXCLUDE
5519 With ``rm_work`` enabled, this variable specifies a list of recipes 5523 With ``rm_work`` enabled, this variable specifies a list of recipes
5520 whose work directories should not be removed. See the 5524 whose work directories should not be removed. See the
5521 ":ref:`rm_work.bbclass <ref-classes-rm-work>`" section for more 5525 "```rm_work.bbclass`` <#ref-classes-rm-work>`__" section for more
5522 details. 5526 details.
5523 5527
5524 ROOT_HOME 5528 ROOT_HOME
@@ -5542,7 +5546,7 @@ system and gives an overview of their function and contents.
5542 Indicates a filesystem image to include as the root filesystem. 5546 Indicates a filesystem image to include as the root filesystem.
5543 5547
5544 The ``ROOTFS`` variable is an optional variable used with the 5548 The ``ROOTFS`` variable is an optional variable used with the
5545 :ref:`image-live <ref-classes-image-live>` class. 5549 ```image-live`` <#ref-classes-image-live>`__ class.
5546 5550
5547 ROOTFS_POSTINSTALL_COMMAND 5551 ROOTFS_POSTINSTALL_COMMAND
5548 Specifies a list of functions to call after the OpenEmbedded build 5552 Specifies a list of functions to call after the OpenEmbedded build
@@ -5552,7 +5556,7 @@ system and gives an overview of their function and contents.
5552 If you need to pass the root filesystem path to a command within a 5556 If you need to pass the root filesystem path to a command within a
5553 function, you can use ``${IMAGE_ROOTFS}``, which points to the 5557 function, you can use ``${IMAGE_ROOTFS}``, which points to the
5554 directory that becomes the root filesystem image. See the 5558 directory that becomes the root filesystem image. See the
5555 :term:`IMAGE_ROOTFS` variable for more 5559 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
5556 information. 5560 information.
5557 5561
5558 ROOTFS_POSTPROCESS_COMMAND 5562 ROOTFS_POSTPROCESS_COMMAND
@@ -5564,7 +5568,7 @@ system and gives an overview of their function and contents.
5564 If you need to pass the root filesystem path to a command within a 5568 If you need to pass the root filesystem path to a command within a
5565 function, you can use ``${IMAGE_ROOTFS}``, which points to the 5569 function, you can use ``${IMAGE_ROOTFS}``, which points to the
5566 directory that becomes the root filesystem image. See the 5570 directory that becomes the root filesystem image. See the
5567 :term:`IMAGE_ROOTFS` variable for more 5571 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
5568 information. 5572 information.
5569 5573
5570 ROOTFS_POSTUNINSTALL_COMMAND 5574 ROOTFS_POSTUNINSTALL_COMMAND
@@ -5578,7 +5582,7 @@ system and gives an overview of their function and contents.
5578 If you need to pass the root filesystem path to a command within a 5582 If you need to pass the root filesystem path to a command within a
5579 function, you can use ``${IMAGE_ROOTFS}``, which points to the 5583 function, you can use ``${IMAGE_ROOTFS}``, which points to the
5580 directory that becomes the root filesystem image. See the 5584 directory that becomes the root filesystem image. See the
5581 :term:`IMAGE_ROOTFS` variable for more 5585 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
5582 information. 5586 information.
5583 5587
5584 ROOTFS_PREPROCESS_COMMAND 5588 ROOTFS_PREPROCESS_COMMAND
@@ -5590,7 +5594,7 @@ system and gives an overview of their function and contents.
5590 If you need to pass the root filesystem path to a command within a 5594 If you need to pass the root filesystem path to a command within a
5591 function, you can use ``${IMAGE_ROOTFS}``, which points to the 5595 function, you can use ``${IMAGE_ROOTFS}``, which points to the
5592 directory that becomes the root filesystem image. See the 5596 directory that becomes the root filesystem image. See the
5593 :term:`IMAGE_ROOTFS` variable for more 5597 ```IMAGE_ROOTFS`` <#var-IMAGE_ROOTFS>`__ variable for more
5594 information. 5598 information.
5595 5599
5596 RPROVIDES 5600 RPROVIDES
@@ -5619,15 +5623,15 @@ system and gives an overview of their function and contents.
5619 The package manager will automatically install the ``RRECOMMENDS`` 5623 The package manager will automatically install the ``RRECOMMENDS``
5620 list of packages when installing the built package. However, you can 5624 list of packages when installing the built package. However, you can
5621 prevent listed packages from being installed by using the 5625 prevent listed packages from being installed by using the
5622 :term:`BAD_RECOMMENDATIONS`, 5626 ```BAD_RECOMMENDATIONS`` <#var-BAD_RECOMMENDATIONS>`__,
5623 :term:`NO_RECOMMENDATIONS`, and 5627 ```NO_RECOMMENDATIONS`` <#var-NO_RECOMMENDATIONS>`__, and
5624 :term:`PACKAGE_EXCLUDE` variables. 5628 ```PACKAGE_EXCLUDE`` <#var-PACKAGE_EXCLUDE>`__ variables.
5625 5629
5626 Packages specified in ``RRECOMMENDS`` need not actually be produced. 5630 Packages specified in ``RRECOMMENDS`` need not actually be produced.
5627 However, a recipe must exist that provides each package, either 5631 However, a recipe must exist that provides each package, either
5628 through the :term:`PACKAGES` or 5632 through the ```PACKAGES`` <#var-PACKAGES>`__ or
5629 :term:`PACKAGES_DYNAMIC` variables or the 5633 ```PACKAGES_DYNAMIC`` <#var-PACKAGES_DYNAMIC>`__ variables or the
5630 :term:`RPROVIDES` variable, or an error will occur 5634 ```RPROVIDES`` <#var-RPROVIDES>`__ variable, or an error will occur
5631 during the build. If such a recipe does exist and the package is not 5635 during the build. If such a recipe does exist and the package is not
5632 produced, the build continues without error. 5636 produced, the build continues without error.
5633 5637
@@ -5680,9 +5684,9 @@ system and gives an overview of their function and contents.
5680 example: RSUGGESTS_${PN} = "useful_package another_package" 5684 example: RSUGGESTS_${PN} = "useful_package another_package"
5681 5685
5682 S 5686 S
5683 The location in the :term:`Build Directory` where 5687 The location in the `Build Directory <#build-directory>`__ where
5684 unpacked recipe source code resides. By default, this directory is 5688 unpacked recipe source code resides. By default, this directory is
5685 ``${``\ :term:`WORKDIR`\ ``}/${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, 5689 ``${``\ ```WORKDIR`` <#var-WORKDIR>`__\ ``}/${``\ ```BPN`` <#var-BPN>`__\ ``}-${``\ ```PV`` <#var-PV>`__\ ``}``,
5686 where ``${BPN}`` is the base recipe name and ``${PV}`` is the recipe 5690 where ``${BPN}`` is the base recipe name and ``${PV}`` is the recipe
5687 version. If the source tarball extracts the code to a directory named 5691 version. If the source tarball extracts the code to a directory named
5688 anything other than ``${BPN}-${PV}``, or if the source code is 5692 anything other than ``${BPN}-${PV}``, or if the source code is
@@ -5690,7 +5694,7 @@ system and gives an overview of their function and contents.
5690 ``S`` in the recipe so that the OpenEmbedded build system knows where 5694 ``S`` in the recipe so that the OpenEmbedded build system knows where
5691 to find the unpacked source. 5695 to find the unpacked source.
5692 5696
5693 As an example, assume a :term:`Source Directory` 5697 As an example, assume a `Source Directory <#source-directory>`__
5694 top-level folder named ``poky`` and a default Build Directory at 5698 top-level folder named ``poky`` and a default Build Directory at
5695 ``poky/build``. In this case, the work directory the build system 5699 ``poky/build``. In this case, the work directory the build system
5696 uses to keep the unpacked recipe for ``db`` is the following: 5700 uses to keep the unpacked recipe for ``db`` is the following:
@@ -5699,7 +5703,7 @@ system and gives an overview of their function and contents.
5699 5703
5700 This next example assumes a Git repository. By default, Git 5704 This next example assumes a Git repository. By default, Git
5701 repositories are cloned to ``${WORKDIR}/git`` during 5705 repositories are cloned to ``${WORKDIR}/git`` during
5702 :ref:`ref-tasks-fetch`. Since this path is different 5706 ```do_fetch`` <#ref-tasks-fetch>`__. Since this path is different
5703 from the default value of ``S``, you must set it specifically so the 5707 from the default value of ``S``, you must set it specifically so the
5704 source can be located: SRC_URI = "git://path/to/repo.git" S = 5708 source can be located: SRC_URI = "git://path/to/repo.git" S =
5705 "${WORKDIR}/git" 5709 "${WORKDIR}/git"
@@ -5717,24 +5721,24 @@ system and gives an overview of their function and contents.
5717 as read from ``/etc/lsb-release``. Separate the list items with 5721 as read from ``/etc/lsb-release``. Separate the list items with
5718 explicit newline characters (``\n``). If ``SANITY_TESTED_DISTROS`` is 5722 explicit newline characters (``\n``). If ``SANITY_TESTED_DISTROS`` is
5719 not empty and the current value of 5723 not empty and the current value of
5720 :term:`NATIVELSBSTRING` does not appear in the 5724 ```NATIVELSBSTRING`` <#var-NATIVELSBSTRING>`__ does not appear in the
5721 list, then the build system reports a warning that indicates the 5725 list, then the build system reports a warning that indicates the
5722 current host distribution has not been tested as a build host. 5726 current host distribution has not been tested as a build host.
5723 5727
5724 SDK_ARCH 5728 SDK_ARCH
5725 The target architecture for the SDK. Typically, you do not directly 5729 The target architecture for the SDK. Typically, you do not directly
5726 set this variable. Instead, use :term:`SDKMACHINE`. 5730 set this variable. Instead, use ```SDKMACHINE`` <#var-SDKMACHINE>`__.
5727 5731
5728 SDK_DEPLOY 5732 SDK_DEPLOY
5729 The directory set up and used by the 5733 The directory set up and used by the
5730 :ref:`populate_sdk_base <ref-classes-populate-sdk>` class to which 5734 ```populate_sdk_base`` <#ref-classes-populate-sdk>`__ class to which
5731 the SDK is deployed. The ``populate_sdk_base`` class defines 5735 the SDK is deployed. The ``populate_sdk_base`` class defines
5732 ``SDK_DEPLOY`` as follows: SDK_DEPLOY = "${TMPDIR}/deploy/sdk" 5736 ``SDK_DEPLOY`` as follows: SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
5733 5737
5734 SDK_DIR 5738 SDK_DIR
5735 The parent directory used by the OpenEmbedded build system when 5739 The parent directory used by the OpenEmbedded build system when
5736 creating SDK output. The 5740 creating SDK output. The
5737 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class defines 5741 ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class defines
5738 the variable as follows: SDK_DIR = "${WORKDIR}/sdk" 5742 the variable as follows: SDK_DIR = "${WORKDIR}/sdk"
5739 5743
5740 .. note:: 5744 .. note::
@@ -5766,11 +5770,11 @@ system and gives an overview of their function and contents.
5766 file contains package information on a line-per-package basis as 5770 file contains package information on a line-per-package basis as
5767 follows: packagename packagearch version 5771 follows: packagename packagearch version
5768 5772
5769 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class 5773 The ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class
5770 defines the manifest file as follows: SDK_HOST_MANIFEST = 5774 defines the manifest file as follows: SDK_HOST_MANIFEST =
5771 "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" The location is 5775 "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" The location is
5772 derived using the :term:`SDK_DEPLOY` and 5776 derived using the ```SDK_DEPLOY`` <#var-SDK_DEPLOY>`__ and
5773 :term:`TOOLCHAIN_OUTPUTNAME` variables. 5777 ```TOOLCHAIN_OUTPUTNAME`` <#var-TOOLCHAIN_OUTPUTNAME>`__ variables.
5774 5778
5775 SDK_INCLUDE_PKGDATA 5779 SDK_INCLUDE_PKGDATA
5776 When set to "1", specifies to include the packagedata for all recipes 5780 When set to "1", specifies to include the packagedata for all recipes
@@ -5790,7 +5794,7 @@ system and gives an overview of their function and contents.
5790 SDK_INCLUDE_TOOLCHAIN 5794 SDK_INCLUDE_TOOLCHAIN
5791 When set to "1", specifies to include the toolchain in the extensible 5795 When set to "1", specifies to include the toolchain in the extensible
5792 SDK. Including the toolchain is useful particularly when 5796 SDK. Including the toolchain is useful particularly when
5793 :term:`SDK_EXT_TYPE` is set to "minimal" to keep 5797 ```SDK_EXT_TYPE`` <#var-SDK_EXT_TYPE>`__ is set to "minimal" to keep
5794 the SDK reasonably small but you still want to provide a usable 5798 the SDK reasonably small but you still want to provide a usable
5795 toolchain. For example, suppose you want to use the toolchain from an 5799 toolchain. For example, suppose you want to use the toolchain from an
5796 IDE or from other tools and you do not want to perform additional 5800 IDE or from other tools and you do not want to perform additional
@@ -5801,9 +5805,9 @@ system and gives an overview of their function and contents.
5801 ``SDK_EXT_TYPE`` is set to "full". 5805 ``SDK_EXT_TYPE`` is set to "full".
5802 5806
5803 SDK_INHERIT_BLACKLIST 5807 SDK_INHERIT_BLACKLIST
5804 A list of classes to remove from the :term:`INHERIT` 5808 A list of classes to remove from the ```INHERIT`` <#var-INHERIT>`__
5805 value globally within the extensible SDK configuration. The 5809 value globally within the extensible SDK configuration. The
5806 :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the 5810 ```populate-sdk-ext`` <#ref-classes-populate-sdk-*>`__ class sets the
5807 default value: SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" 5811 default value: SDK_INHERIT_BLACKLIST ?= "buildhistory icecc"
5808 5812
5809 Some classes are not generally applicable within the extensible SDK 5813 Some classes are not generally applicable within the extensible SDK
@@ -5823,16 +5827,16 @@ system and gives an overview of their function and contents.
5823 within the extensible SDK. 5827 within the extensible SDK.
5824 5828
5825 By default, ``SDK_LOCAL_CONF_BLACKLIST`` is set in the 5829 By default, ``SDK_LOCAL_CONF_BLACKLIST`` is set in the
5826 :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class and 5830 ```populate-sdk-ext`` <#ref-classes-populate-sdk-*>`__ class and
5827 excludes the following variables: 5831 excludes the following variables:
5828 :term:`CONF_VERSION` 5832 `CONF_VERSION <#var-CONF_VERSION>`__
5829 :term:`BB_NUMBER_THREADS` 5833 `BB_NUMBER_THREADS <#var-BB_NUMBER_THREADS>`__
5830 :term:`bitbake:BB_NUMBER_PARSE_THREADS` 5834 `BB_NUMBER_PARSE_THREADS <&YOCTO_DOCS_BB_URL;#var-BB_NUMBER_PARSE_THREADS>`__
5831 :term:`PARALLEL_MAKE` 5835 `PARALLEL_MAKE <#var-PARALLEL_MAKE>`__
5832 :term:`PRSERV_HOST` 5836 `PRSERV_HOST <#var-PRSERV_HOST>`__
5833 :term:`SSTATE_MIRRORS` :term:`DL_DIR` 5837 `SSTATE_MIRRORS <#var-SSTATE_MIRRORS>`__ `DL_DIR <#var-DL_DIR>`__
5834 :term:`SSTATE_DIR` :term:`TMPDIR` 5838 `SSTATE_DIR <#var-SSTATE_DIR>`__ `TMPDIR <#var-TMPDIR>`__
5835 :term:`BB_SERVER_TIMEOUT` 5839 `BB_SERVER_TIMEOUT <#var-BB_SERVER_TIMEOUT>`__
5836 5840
5837 For additional information on how to customize the extensible SDK's 5841 For additional information on how to customize the extensible SDK's
5838 configuration, see the "`Configuring the Extensible 5842 configuration, see the "`Configuring the Extensible
@@ -5844,10 +5848,10 @@ system and gives an overview of their function and contents.
5844 A list of variables allowed through from the OpenEmbedded build 5848 A list of variables allowed through from the OpenEmbedded build
5845 system configuration into the extensible SDK configuration. By 5849 system configuration into the extensible SDK configuration. By
5846 default, the list of variables is empty and is set in the 5850 default, the list of variables is empty and is set in the
5847 :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class. 5851 ```populate-sdk-ext`` <#ref-classes-populate-sdk-*>`__ class.
5848 5852
5849 This list overrides the variables specified using the 5853 This list overrides the variables specified using the
5850 :term:`SDK_LOCAL_CONF_BLACKLIST` 5854 ```SDK_LOCAL_CONF_BLACKLIST`` <#var-SDK_LOCAL_CONF_BLACKLIST>`__
5851 variable as well as any variables identified by automatic 5855 variable as well as any variables identified by automatic
5852 blacklisting due to the "/" character being found at the start of the 5856 blacklisting due to the "/" character being found at the start of the
5853 value, which is usually indicative of being a path and thus might not 5857 value, which is usually indicative of being a path and thus might not
@@ -5861,19 +5865,19 @@ system and gives an overview of their function and contents.
5861 5865
5862 SDK_NAME 5866 SDK_NAME
5863 The base name for SDK output files. The name is derived from the 5867 The base name for SDK output files. The name is derived from the
5864 :term:`DISTRO`, :term:`TCLIBC`, 5868 ```DISTRO`` <#var-DISTRO>`__, ```TCLIBC`` <#var-TCLIBC>`__,
5865 :term:`SDK_ARCH`, 5869 ```SDK_ARCH`` <#var-SDK_ARCH>`__,
5866 :term:`IMAGE_BASENAME`, and 5870 ```IMAGE_BASENAME`` <#var-IMAGE_BASENAME>`__, and
5867 :term:`TUNE_PKGARCH` variables: SDK_NAME = 5871 ```TUNE_PKGARCH`` <#var-TUNE_PKGARCH>`__ variables: SDK_NAME =
5868 "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}" 5872 "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
5869 5873
5870 SDK_OS 5874 SDK_OS
5871 Specifies the operating system for which the SDK will be built. The 5875 Specifies the operating system for which the SDK will be built. The
5872 default value is the value of :term:`BUILD_OS`. 5876 default value is the value of ```BUILD_OS`` <#var-BUILD_OS>`__.
5873 5877
5874 SDK_OUTPUT 5878 SDK_OUTPUT
5875 The location used by the OpenEmbedded build system when creating SDK 5879 The location used by the OpenEmbedded build system when creating SDK
5876 output. The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` 5880 output. The ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__
5877 class defines the variable as follows: SDK_DIR = "${WORKDIR}/sdk" 5881 class defines the variable as follows: SDK_DIR = "${WORKDIR}/sdk"
5878 SDK_OUTPUT = "${SDK_DIR}/image" SDK_DEPLOY = "${DEPLOY_DIR}/sdk" 5882 SDK_OUTPUT = "${SDK_DIR}/image" SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
5879 5883
@@ -5904,12 +5908,12 @@ system and gives an overview of their function and contents.
5904 If you need to pass an SDK path to a command within a function, you 5908 If you need to pass an SDK path to a command within a function, you
5905 can use ``${SDK_DIR}``, which points to the parent directory used by 5909 can use ``${SDK_DIR}``, which points to the parent directory used by
5906 the OpenEmbedded build system when creating SDK output. See the 5910 the OpenEmbedded build system when creating SDK output. See the
5907 :term:`SDK_DIR` variable for more information. 5911 ```SDK_DIR`` <#var-SDK_DIR>`__ variable for more information.
5908 5912
5909 SDK_PREFIX 5913 SDK_PREFIX
5910 The toolchain binary prefix used for ``nativesdk`` recipes. The 5914 The toolchain binary prefix used for ``nativesdk`` recipes. The
5911 OpenEmbedded build system uses the ``SDK_PREFIX`` value to set the 5915 OpenEmbedded build system uses the ``SDK_PREFIX`` value to set the
5912 :term:`TARGET_PREFIX` when building 5916 ```TARGET_PREFIX`` <#var-TARGET_PREFIX>`__ when building
5913 ``nativesdk`` recipes. The default value is "${SDK_SYS}-". 5917 ``nativesdk`` recipes. The default value is "${SDK_SYS}-".
5914 5918
5915 SDK_RECRDEP_TASKS 5919 SDK_RECRDEP_TASKS
@@ -5920,16 +5924,16 @@ system and gives an overview of their function and contents.
5920 to the SDK. To specify tasks beyond these four, you need to use the 5924 to the SDK. To specify tasks beyond these four, you need to use the
5921 ``SDK_RECRDEP_TASKS`` variable (e.g. you are defining additional 5925 ``SDK_RECRDEP_TASKS`` variable (e.g. you are defining additional
5922 tasks that are needed in order to build 5926 tasks that are needed in order to build
5923 :term:`SDK_TARGETS`). 5927 ```SDK_TARGETS`` <#var-SDK_TARGETS>`__).
5924 5928
5925 SDK_SYS 5929 SDK_SYS
5926 Specifies the system, including the architecture and the operating 5930 Specifies the system, including the architecture and the operating
5927 system, for which the SDK will be built. 5931 system, for which the SDK will be built.
5928 5932
5929 The OpenEmbedded build system automatically sets this variable based 5933 The OpenEmbedded build system automatically sets this variable based
5930 on :term:`SDK_ARCH`, 5934 on ```SDK_ARCH`` <#var-SDK_ARCH>`__,
5931 :term:`SDK_VENDOR`, and 5935 ```SDK_VENDOR`` <#var-SDK_VENDOR>`__, and
5932 :term:`SDK_OS`. You do not need to set the ``SDK_SYS`` 5936 ```SDK_OS`` <#var-SDK_OS>`__. You do not need to set the ``SDK_SYS``
5933 variable yourself. 5937 variable yourself.
5934 5938
5935 SDK_TARGET_MANIFEST 5939 SDK_TARGET_MANIFEST
@@ -5938,11 +5942,11 @@ system and gives an overview of their function and contents.
5938 file contains package information on a line-per-package basis as 5942 file contains package information on a line-per-package basis as
5939 follows: packagename packagearch version 5943 follows: packagename packagearch version
5940 5944
5941 The :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class 5945 The ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class
5942 defines the manifest file as follows: SDK_TARGET_MANIFEST = 5946 defines the manifest file as follows: SDK_TARGET_MANIFEST =
5943 "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" The location 5947 "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" The location
5944 is derived using the :term:`SDK_DEPLOY` and 5948 is derived using the ```SDK_DEPLOY`` <#var-SDK_DEPLOY>`__ and
5945 :term:`TOOLCHAIN_OUTPUTNAME` variables. 5949 ```TOOLCHAIN_OUTPUTNAME`` <#var-TOOLCHAIN_OUTPUTNAME>`__ variables.
5946 5950
5947 SDK_TARGETS 5951 SDK_TARGETS
5948 A list of targets to install from shared state as part of the 5952 A list of targets to install from shared state as part of the
@@ -5954,9 +5958,9 @@ system and gives an overview of their function and contents.
5954 5958
5955 SDK_TITLE 5959 SDK_TITLE
5956 The title to be printed when running the SDK installer. By default, 5960 The title to be printed when running the SDK installer. By default,
5957 this title is based on the :term:`DISTRO_NAME` or 5961 this title is based on the ```DISTRO_NAME`` <#var-DISTRO_NAME>`__ or
5958 :term:`DISTRO` variable and is set in the 5962 ```DISTRO`` <#var-DISTRO>`__ variable and is set in the
5959 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as 5963 ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class as
5960 follows: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or 5964 follows: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or
5961 d.getVar('DISTRO')} SDK" For the default distribution "poky", 5965 d.getVar('DISTRO')} SDK" For the default distribution "poky",
5962 ``SDK_TITLE`` is set to "Poky (Yocto Project Reference Distro)". 5966 ``SDK_TITLE`` is set to "Poky (Yocto Project Reference Distro)".
@@ -5982,14 +5986,14 @@ system and gives an overview of their function and contents.
5982 "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot')}" 5986 "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot')}"
5983 5987
5984 For additional information, see the 5988 For additional information, see the
5985 :term:`DISTRO_VERSION` and 5989 ```DISTRO_VERSION`` <#var-DISTRO_VERSION>`__ and
5986 :term:`DATE` variables. 5990 ```DATE`` <#var-DATE>`__ variables.
5987 5991
5988 SDKEXTPATH 5992 SDKEXTPATH
5989 The default installation directory for the Extensible SDK. By 5993 The default installation directory for the Extensible SDK. By
5990 default, this directory is based on the :term:`DISTRO` 5994 default, this directory is based on the ```DISTRO`` <#var-DISTRO>`__
5991 variable and is set in the 5995 variable and is set in the
5992 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class as 5996 ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class as
5993 follows: SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" For the 5997 follows: SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" For the
5994 default distribution "poky", the ``SDKEXTPATH`` is set to "poky_sdk". 5998 default distribution "poky", the ``SDKEXTPATH`` is set to "poky_sdk".
5995 5999
@@ -6031,7 +6035,7 @@ system and gives an overview of their function and contents.
6031 SDKTARGETSYSROOT 6035 SDKTARGETSYSROOT
6032 The full path to the sysroot used for cross-compilation within an SDK 6036 The full path to the sysroot used for cross-compilation within an SDK
6033 as it will be when installed into the default 6037 as it will be when installed into the default
6034 :term:`SDKPATH`. 6038 ```SDKPATH`` <#var-SDKPATH>`__.
6035 6039
6036 SECTION 6040 SECTION
6037 The section in which packages should be categorized. Package 6041 The section in which packages should be categorized. Package
@@ -6040,7 +6044,7 @@ system and gives an overview of their function and contents.
6040 SELECTED_OPTIMIZATION 6044 SELECTED_OPTIMIZATION
6041 Specifies the optimization flags passed to the C compiler when 6045 Specifies the optimization flags passed to the C compiler when
6042 building for the target. The flags are passed through the default 6046 building for the target. The flags are passed through the default
6043 value of the :term:`TARGET_CFLAGS` variable. 6047 value of the ```TARGET_CFLAGS`` <#var-TARGET_CFLAGS>`__ variable.
6044 6048
6045 The ``SELECTED_OPTIMIZATION`` variable takes the value of 6049 The ``SELECTED_OPTIMIZATION`` variable takes the value of
6046 ``FULL_OPTIMIZATION`` unless ``DEBUG_BUILD`` = "1". If that is the 6050 ``FULL_OPTIMIZATION`` unless ``DEBUG_BUILD`` = "1". If that is the
@@ -6070,7 +6074,7 @@ system and gives an overview of their function and contents.
6070 6074
6071 SERIAL_CONSOLES_CHECK 6075 SERIAL_CONSOLES_CHECK
6072 Specifies serial consoles, which must be listed in 6076 Specifies serial consoles, which must be listed in
6073 :term:`SERIAL_CONSOLES`, to check against 6077 ```SERIAL_CONSOLES`` <#var-SERIAL_CONSOLES>`__, to check against
6074 ``/proc/console`` before enabling them using getty. This variable 6078 ``/proc/console`` before enabling them using getty. This variable
6075 allows aliasing in the format: <device>:<alias>. If a device was 6079 allows aliasing in the format: <device>:<alias>. If a device was
6076 listed as "sclp_line0" in ``/dev/`` and "ttyS0" was listed in 6080 listed as "sclp_line0" in ``/dev/`` and "ttyS0" was listed in
@@ -6131,8 +6135,8 @@ system and gives an overview of their function and contents.
6131 prebuilt binaries and libraries such as ``libstdc++`` and ``glibc``. 6135 prebuilt binaries and libraries such as ``libstdc++`` and ``glibc``.
6132 6136
6133 To enable file removal, set the variable to "1" in your 6137 To enable file removal, set the variable to "1" in your
6134 ``conf/local.conf`` configuration file in your: 6138 ``conf/local.conf`` configuration file in your: `Build
6135 :term:`Build Directory`. SKIP_FILEDEPS = "1" 6139 Directory <#build-directory>`__. SKIP_FILEDEPS = "1"
6136 6140
6137 SOC_FAMILY 6141 SOC_FAMILY
6138 Groups together machines based upon the same family of SOC (System On 6142 Groups together machines based upon the same family of SOC (System On
@@ -6171,8 +6175,8 @@ system and gives an overview of their function and contents.
6171 recipes are fetched regardless of whether or not a recipe is 6175 recipes are fetched regardless of whether or not a recipe is
6172 compatible with the configuration. A recipe is considered 6176 compatible with the configuration. A recipe is considered
6173 incompatible with the currently configured machine when either or 6177 incompatible with the currently configured machine when either or
6174 both the :term:`COMPATIBLE_MACHINE` 6178 both the ```COMPATIBLE_MACHINE`` <#var-COMPATIBLE_MACHINE>`__
6175 variable and :term:`COMPATIBLE_HOST` variables 6179 variable and ```COMPATIBLE_HOST`` <#var-COMPATIBLE_HOST>`__ variables
6176 specify compatibility with a machine other than that of the current 6180 specify compatibility with a machine other than that of the current
6177 machine or host. 6181 machine or host.
6178 6182
@@ -6184,12 +6188,12 @@ system and gives an overview of their function and contents.
6184 do not set the variable during a normal build. 6188 do not set the variable during a normal build.
6185 6189
6186 SOURCE_MIRROR_URL 6190 SOURCE_MIRROR_URL
6187 Defines your own :term:`PREMIRRORS` from which to 6191 Defines your own ```PREMIRRORS`` <#var-PREMIRRORS>`__ from which to
6188 first fetch source before attempting to fetch from the upstream 6192 first fetch source before attempting to fetch from the upstream
6189 specified in :term:`SRC_URI`. 6193 specified in ```SRC_URI`` <#var-SRC_URI>`__.
6190 6194
6191 To use this variable, you must globally inherit the 6195 To use this variable, you must globally inherit the
6192 :ref:`own-mirrors <ref-classes-own-mirrors>` class and then provide 6196 ```own-mirrors`` <#ref-classes-own-mirrors>`__ class and then provide
6193 the URL to your mirrors. Here is the general syntax: INHERIT += 6197 the URL to your mirrors. Here is the general syntax: INHERIT +=
6194 "own-mirrors" SOURCE_MIRROR_URL = 6198 "own-mirrors" SOURCE_MIRROR_URL =
6195 "http://example.com/my_source_mirror" 6199 "http://example.com/my_source_mirror"
@@ -6205,14 +6209,14 @@ system and gives an overview of their function and contents.
6205 ``meta/files/common-licenses/``. For the default ``SPDXLICENSEMAP`` 6209 ``meta/files/common-licenses/``. For the default ``SPDXLICENSEMAP``
6206 mappings, see the ``meta/conf/licenses.conf`` file. 6210 mappings, see the ``meta/conf/licenses.conf`` file.
6207 6211
6208 For additional information, see the :term:`LICENSE` 6212 For additional information, see the ```LICENSE`` <#var-LICENSE>`__
6209 variable. 6213 variable.
6210 6214
6211 SPECIAL_PKGSUFFIX 6215 SPECIAL_PKGSUFFIX
6212 A list of prefixes for :term:`PN` used by the OpenEmbedded 6216 A list of prefixes for ```PN`` <#var-PN>`__ used by the OpenEmbedded
6213 build system to create variants of recipes or packages. The list 6217 build system to create variants of recipes or packages. The list
6214 specifies the prefixes to strip off during certain circumstances such 6218 specifies the prefixes to strip off during certain circumstances such
6215 as the generation of the :term:`BPN` variable. 6219 as the generation of the ```BPN`` <#var-BPN>`__ variable.
6216 6220
6217 SPL_BINARY 6221 SPL_BINARY
6218 The file type for the Secondary Program Loader (SPL). Some devices 6222 The file type for the Secondary Program Loader (SPL). Some devices
@@ -6252,13 +6256,13 @@ system and gives an overview of their function and contents.
6252 protocols are highly dependent on particular BitBake Fetcher 6256 protocols are highly dependent on particular BitBake Fetcher
6253 submodules. Depending on the fetcher BitBake uses, various URL 6257 submodules. Depending on the fetcher BitBake uses, various URL
6254 parameters are employed. For specifics on the supported Fetchers, see 6258 parameters are employed. For specifics on the supported Fetchers, see
6255 the ":ref:`Fetchers <bitbake:bb-fetchers>`" section in the 6259 the "`Fetchers <&YOCTO_DOCS_BB_URL;#bb-fetchers>`__" section in the
6256 BitBake User Manual. 6260 BitBake User Manual.
6257 6261
6258 - *``file://`` -* Fetches files, which are usually files shipped 6262 - *``file://`` -* Fetches files, which are usually files shipped
6259 with the :term:`Metadata`, from the local machine (e.g. 6263 with the `Metadata <#metadata>`__, from the local machine (e.g.
6260 `patch <&YOCTO_DOCS_OM_URL;#patching-dev-environment>`__ files). 6264 `patch <&YOCTO_DOCS_OM_URL;#patching-dev-environment>`__ files).
6261 The path is relative to the :term:`FILESPATH` 6265 The path is relative to the ```FILESPATH`` <#var-FILESPATH>`__
6262 variable. Thus, the build system searches, in order, from the 6266 variable. Thus, the build system searches, in order, from the
6263 following directories, which are assumed to be a subdirectories of 6267 following directories, which are assumed to be a subdirectories of
6264 the directory in which the recipe file (``.bb``) or append file 6268 the directory in which the recipe file (``.bb``) or append file
@@ -6330,13 +6334,13 @@ system and gives an overview of their function and contents.
6330 patch. The default level is 1. 6334 patch. The default level is 1.
6331 6335
6332 - *``patchdir`` -* Specifies the directory in which the patch should 6336 - *``patchdir`` -* Specifies the directory in which the patch should
6333 be applied. The default is ``${``\ :term:`S`\ ``}``. 6337 be applied. The default is ``${``\ ```S`` <#var-S>`__\ ``}``.
6334 6338
6335 Here are options specific to recipes building code from a revision 6339 Here are options specific to recipes building code from a revision
6336 control system: 6340 control system:
6337 6341
6338 - *``mindate`` -* Apply the patch only if 6342 - *``mindate`` -* Apply the patch only if
6339 :term:`SRCDATE` is equal to or greater than 6343 ```SRCDATE`` <#var-SRCDATE>`__ is equal to or greater than
6340 ``mindate``. 6344 ``mindate``.
6341 6345
6342 - *``maxdate`` -* Apply the patch only if ``SRCDATE`` is not later 6346 - *``maxdate`` -* Apply the patch only if ``SRCDATE`` is not later
@@ -6360,7 +6364,7 @@ system and gives an overview of their function and contents.
6360 an archive. The default action is to unpack the file. 6364 an archive. The default action is to unpack the file.
6361 6365
6362 - *``destsuffix`` -* Places the file (or extracts its contents) into 6366 - *``destsuffix`` -* Places the file (or extracts its contents) into
6363 the specified subdirectory of :term:`WORKDIR` when 6367 the specified subdirectory of ```WORKDIR`` <#var-WORKDIR>`__ when
6364 the Git fetcher is used. 6368 the Git fetcher is used.
6365 6369
6366 - *``subdir`` -* Places the file (or extracts its contents) into the 6370 - *``subdir`` -* Places the file (or extracts its contents) into the
@@ -6394,10 +6398,10 @@ system and gives an overview of their function and contents.
6394 6398
6395 SRCPV 6399 SRCPV
6396 Returns the version string of the current package. This string is 6400 Returns the version string of the current package. This string is
6397 used to help define the value of :term:`PV`. 6401 used to help define the value of ```PV`` <#var-PV>`__.
6398 6402
6399 The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf`` 6403 The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf``
6400 configuration file in the :term:`Source Directory` as 6404 configuration file in the `Source Directory <#source-directory>`__ as
6401 follows: SRCPV = "${@bb.fetch2.get_srcrev(d)}" 6405 follows: SRCPV = "${@bb.fetch2.get_srcrev(d)}"
6402 6406
6403 Recipes that need to define ``PV`` do so with the help of the 6407 Recipes that need to define ``PV`` do so with the help of the
@@ -6429,7 +6433,7 @@ system and gives an overview of their function and contents.
6429 6433
6430 SSTATE_MIRROR_ALLOW_NETWORK 6434 SSTATE_MIRROR_ALLOW_NETWORK
6431 If set to "1", allows fetches from mirrors that are specified in 6435 If set to "1", allows fetches from mirrors that are specified in
6432 :term:`SSTATE_MIRRORS` to work even when 6436 ```SSTATE_MIRRORS`` <#var-SSTATE_MIRRORS>`__ to work even when
6433 fetching from the network is disabled by setting ``BB_NO_NETWORK`` to 6437 fetching from the network is disabled by setting ``BB_NO_NETWORK`` to
6434 "1". Using the ``SSTATE_MIRROR_ALLOW_NETWORK`` variable is useful if 6438 "1". Using the ``SSTATE_MIRROR_ALLOW_NETWORK`` variable is useful if
6435 you have set ``SSTATE_MIRRORS`` to point to an internal server for 6439 you have set ``SSTATE_MIRRORS`` to point to an internal server for
@@ -6439,8 +6443,8 @@ system and gives an overview of their function and contents.
6439 SSTATE_MIRRORS 6443 SSTATE_MIRRORS
6440 Configures the OpenEmbedded build system to search other mirror 6444 Configures the OpenEmbedded build system to search other mirror
6441 locations for prebuilt cache data objects before building out the 6445 locations for prebuilt cache data objects before building out the
6442 data. This variable works like fetcher :term:`MIRRORS` 6446 data. This variable works like fetcher ```MIRRORS`` <#var-MIRRORS>`__
6443 and :term:`PREMIRRORS` and points to the cache 6447 and ```PREMIRRORS`` <#var-PREMIRRORS>`__ and points to the cache
6444 locations to check for the shared state (sstate) objects. 6448 locations to check for the shared state (sstate) objects.
6445 6449
6446 You can specify a filesystem directory or a remote URL such as HTTP 6450 You can specify a filesystem directory or a remote URL such as HTTP
@@ -6452,15 +6456,15 @@ system and gives an overview of their function and contents.
6452 a different GCC version for native builds, you must configure 6456 a different GCC version for native builds, you must configure
6453 ``SSTATE_MIRRORS`` with a regular expression that maps local search 6457 ``SSTATE_MIRRORS`` with a regular expression that maps local search
6454 paths to server paths. The paths need to take into account 6458 paths to server paths. The paths need to take into account
6455 :term:`NATIVELSBSTRING` set by the 6459 ```NATIVELSBSTRING`` <#var-NATIVELSBSTRING>`__ set by the
6456 :ref:`uninative <ref-classes-uninative>` class. For example, the 6460 ```uninative`` <#ref-classes-uninative>`__ class. For example, the
6457 following maps the local search path ``universal-4.9`` to the 6461 following maps the local search path ``universal-4.9`` to the
6458 server-provided path server_url_sstate_path: SSTATE_MIRRORS ?= 6462 server-provided path server_url_sstate_path: SSTATE_MIRRORS ?=
6459 file://universal-4.9/(.*) 6463 file://universal-4.9/(.*)
6460 http://server_url_sstate_path/universal-4.8/\1 \\n 6464 http://server_url_sstate_path/universal-4.8/\1 \\n
6461 6465
6462 If a mirror uses the same structure as 6466 If a mirror uses the same structure as
6463 :term:`SSTATE_DIR`, you need to add "PATH" at the 6467 ```SSTATE_DIR`` <#var-SSTATE_DIR>`__, you need to add "PATH" at the
6464 end as shown in the examples below. The build system substitutes the 6468 end as shown in the examples below. The build system substitutes the
6465 correct path within the directory structure. SSTATE_MIRRORS ?= "\\ 6469 correct path within the directory structure. SSTATE_MIRRORS ?= "\\
6466 file://.\* 6470 file://.\*
@@ -6480,11 +6484,11 @@ system and gives an overview of their function and contents.
6480 by the ``SSTATE_SCAN_FILES`` variable. Typically, recipes add files 6484 by the ``SSTATE_SCAN_FILES`` variable. Typically, recipes add files
6481 they want to be scanned to the value of ``SSTATE_SCAN_FILES`` rather 6485 they want to be scanned to the value of ``SSTATE_SCAN_FILES`` rather
6482 than the variable being comprehensively set. The 6486 than the variable being comprehensively set. The
6483 :ref:`sstate <ref-classes-sstate>` class specifies the default list 6487 ```sstate`` <#ref-classes-sstate>`__ class specifies the default list
6484 of files. 6488 of files.
6485 6489
6486 For details on the process, see the 6490 For details on the process, see the
6487 :ref:`staging <ref-classes-staging>` class. 6491 ```staging`` <#ref-classes-staging>`__ class.
6488 6492
6489 STAGING_BASE_LIBDIR_NATIVE 6493 STAGING_BASE_LIBDIR_NATIVE
6490 Specifies the path to the ``/lib`` subdirectory of the sysroot 6494 Specifies the path to the ``/lib`` subdirectory of the sysroot
@@ -6493,12 +6497,12 @@ system and gives an overview of their function and contents.
6493 STAGING_BASELIBDIR 6497 STAGING_BASELIBDIR
6494 Specifies the path to the ``/lib`` subdirectory of the sysroot 6498 Specifies the path to the ``/lib`` subdirectory of the sysroot
6495 directory for the target for which the current recipe is being built 6499 directory for the target for which the current recipe is being built
6496 (:term:`STAGING_DIR_HOST`). 6500 (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6497 6501
6498 STAGING_BINDIR 6502 STAGING_BINDIR
6499 Specifies the path to the ``/usr/bin`` subdirectory of the sysroot 6503 Specifies the path to the ``/usr/bin`` subdirectory of the sysroot
6500 directory for the target for which the current recipe is being built 6504 directory for the target for which the current recipe is being built
6501 (:term:`STAGING_DIR_HOST`). 6505 (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6502 6506
6503 STAGING_BINDIR_CROSS 6507 STAGING_BINDIR_CROSS
6504 Specifies the path to the directory containing binary configuration 6508 Specifies the path to the directory containing binary configuration
@@ -6524,7 +6528,7 @@ system and gives an overview of their function and contents.
6524 STAGING_DATADIR 6528 STAGING_DATADIR
6525 Specifies the path to the ``/usr/share`` subdirectory of the sysroot 6529 Specifies the path to the ``/usr/share`` subdirectory of the sysroot
6526 directory for the target for which the current recipe is being built 6530 directory for the target for which the current recipe is being built
6527 (:term:`STAGING_DIR_HOST`). 6531 (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6528 6532
6529 STAGING_DATADIR_NATIVE 6533 STAGING_DATADIR_NATIVE
6530 Specifies the path to the ``/usr/share`` subdirectory of the sysroot 6534 Specifies the path to the ``/usr/share`` subdirectory of the sysroot
@@ -6535,14 +6539,14 @@ system and gives an overview of their function and contents.
6535 during packaging. 6539 during packaging.
6536 6540
6537 For information on how staging for recipe-specific sysroots occurs, 6541 For information on how staging for recipe-specific sysroots occurs,
6538 see the :ref:`ref-tasks-populate_sysroot` 6542 see the ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__
6539 task, the "`Sharing Files Between 6543 task, the "`Sharing Files Between
6540 Recipes <&YOCTO_DOCS_DEV_URL;#new-sharing-files-between-recipes>`__" 6544 Recipes <&YOCTO_DOCS_DEV_URL;#new-sharing-files-between-recipes>`__"
6541 section in the Yocto Project Development Tasks Manual, the 6545 section in the Yocto Project Development Tasks Manual, the
6542 "`Configuration, Compilation, and 6546 "`Configuration, Compilation, and
6543 Staging <&YOCTO_DOCS_OM_URL;#configuration-compilation-and-staging-dev-environment>`__" 6547 Staging <&YOCTO_DOCS_OM_URL;#configuration-compilation-and-staging-dev-environment>`__"
6544 section in the Yocto Project Overview and Concepts Manual, and the 6548 section in the Yocto Project Overview and Concepts Manual, and the
6545 :term:`SYSROOT_DIRS` variable. 6549 ```SYSROOT_DIRS`` <#var-SYSROOT_DIRS>`__ variable.
6546 6550
6547 .. note:: 6551 .. note::
6548 6552
@@ -6562,15 +6566,15 @@ system and gives an overview of their function and contents.
6562 Specifies the path to the sysroot directory for the system on which 6566 Specifies the path to the sysroot directory for the system on which
6563 the component is built to run (the system that hosts the component). 6567 the component is built to run (the system that hosts the component).
6564 For most recipes, this sysroot is the one in which that recipe's 6568 For most recipes, this sysroot is the one in which that recipe's
6565 :ref:`ref-tasks-populate_sysroot` task copies 6569 ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task copies
6566 files. Exceptions include ``-native`` recipes, where the 6570 files. Exceptions include ``-native`` recipes, where the
6567 ``do_populate_sysroot`` task instead uses 6571 ``do_populate_sysroot`` task instead uses
6568 :term:`STAGING_DIR_NATIVE`. Depending on 6572 ```STAGING_DIR_NATIVE`` <#var-STAGING_DIR_NATIVE>`__. Depending on
6569 the type of recipe and the build target, ``STAGING_DIR_HOST`` can 6573 the type of recipe and the build target, ``STAGING_DIR_HOST`` can
6570 have the following values: 6574 have the following values:
6571 6575
6572 - For recipes building for the target machine, the value is 6576 - For recipes building for the target machine, the value is
6573 "${:term:`STAGING_DIR`}/${:term:`MACHINE`}". 6577 "${`STAGING_DIR <#var-STAGING_DIR>`__}/${`MACHINE <#var-MACHINE>`__}".
6574 6578
6575 - For native recipes building for the build host, the value is empty 6579 - For native recipes building for the build host, the value is empty
6576 given the assumption that when building for the build host, the 6580 given the assumption that when building for the build host, the
@@ -6582,16 +6586,16 @@ system and gives an overview of their function and contents.
6582 as ``/usr``. Rather, these recipes are installed into 6586 as ``/usr``. Rather, these recipes are installed into
6583 ``STAGING_DIR_NATIVE``. When compiling ``-native`` recipes, 6587 ``STAGING_DIR_NATIVE``. When compiling ``-native`` recipes,
6584 standard build environment variables such as 6588 standard build environment variables such as
6585 :term:`CPPFLAGS` and 6589 ```CPPFLAGS`` <#var-CPPFLAGS>`__ and
6586 :term:`CFLAGS` are set up so that both host paths 6590 ```CFLAGS`` <#var-CFLAGS>`__ are set up so that both host paths
6587 and ``STAGING_DIR_NATIVE`` are searched for libraries and 6591 and ``STAGING_DIR_NATIVE`` are searched for libraries and
6588 headers using, for example, GCC's ``-isystem`` option. 6592 headers using, for example, GCC's ``-isystem`` option.
6589 6593
6590 Thus, the emphasis is that the ``STAGING_DIR*`` variables 6594 Thus, the emphasis is that the ``STAGING_DIR*`` variables
6591 should be viewed as input variables by tasks such as 6595 should be viewed as input variables by tasks such as
6592 :ref:`ref-tasks-configure`, 6596 ```do_configure`` <#ref-tasks-configure>`__,
6593 :ref:`ref-tasks-compile`, and 6597 ```do_compile`` <#ref-tasks-compile>`__, and
6594 :ref:`ref-tasks-install`. Having the real system 6598 ```do_install`` <#ref-tasks-install>`__. Having the real system
6595 root correspond to ``STAGING_DIR_HOST`` makes conceptual sense 6599 root correspond to ``STAGING_DIR_HOST`` makes conceptual sense
6596 for ``-native`` recipes, as they make use of host headers and 6600 for ``-native`` recipes, as they make use of host headers and
6597 libraries. 6601 libraries.
@@ -6604,7 +6608,7 @@ system and gives an overview of their function and contents.
6604 Specifies the path to the sysroot used for the system for which the 6608 Specifies the path to the sysroot used for the system for which the
6605 component generates code. For components that do not generate code, 6609 component generates code. For components that do not generate code,
6606 which is the majority, ``STAGING_DIR_TARGET`` is set to match 6610 which is the majority, ``STAGING_DIR_TARGET`` is set to match
6607 :term:`STAGING_DIR_HOST`. 6611 ```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__.
6608 6612
6609 Some recipes build binaries that can run on the target system but 6613 Some recipes build binaries that can run on the target system but
6610 those binaries in turn generate code for another different system 6614 those binaries in turn generate code for another different system
@@ -6623,12 +6627,12 @@ system and gives an overview of their function and contents.
6623 STAGING_EXECPREFIXDIR 6627 STAGING_EXECPREFIXDIR
6624 Specifies the path to the ``/usr`` subdirectory of the sysroot 6628 Specifies the path to the ``/usr`` subdirectory of the sysroot
6625 directory for the target for which the current recipe is being built 6629 directory for the target for which the current recipe is being built
6626 (:term:`STAGING_DIR_HOST`). 6630 (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6627 6631
6628 STAGING_INCDIR 6632 STAGING_INCDIR
6629 Specifies the path to the ``/usr/include`` subdirectory of the 6633 Specifies the path to the ``/usr/include`` subdirectory of the
6630 sysroot directory for the target for which the current recipe being 6634 sysroot directory for the target for which the current recipe being
6631 built (:term:`STAGING_DIR_HOST`). 6635 built (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6632 6636
6633 STAGING_INCDIR_NATIVE 6637 STAGING_INCDIR_NATIVE
6634 Specifies the path to the ``/usr/include`` subdirectory of the 6638 Specifies the path to the ``/usr/include`` subdirectory of the
@@ -6648,7 +6652,7 @@ system and gives an overview of their function and contents.
6648 STAGING_LIBDIR 6652 STAGING_LIBDIR
6649 Specifies the path to the ``/usr/lib`` subdirectory of the sysroot 6653 Specifies the path to the ``/usr/lib`` subdirectory of the sysroot
6650 directory for the target for which the current recipe is being built 6654 directory for the target for which the current recipe is being built
6651 (:term:`STAGING_DIR_HOST`). 6655 (```STAGING_DIR_HOST`` <#var-STAGING_DIR_HOST>`__).
6652 6656
6653 STAGING_LIBDIR_NATIVE 6657 STAGING_LIBDIR_NATIVE
6654 Specifies the path to the ``/usr/lib`` subdirectory of the sysroot 6658 Specifies the path to the ``/usr/lib`` subdirectory of the sysroot
@@ -6667,10 +6671,10 @@ system and gives an overview of their function and contents.
6667 Tasks <&YOCTO_DOCS_OM_URL;#stamp-files-and-the-rerunning-of-tasks>`__" 6671 Tasks <&YOCTO_DOCS_OM_URL;#stamp-files-and-the-rerunning-of-tasks>`__"
6668 section in the Yocto Project Overview and Concepts Manual. 6672 section in the Yocto Project Overview and Concepts Manual.
6669 6673
6670 See :term:`STAMPS_DIR`, 6674 See ```STAMPS_DIR`` <#var-STAMPS_DIR>`__,
6671 :term:`MULTIMACH_TARGET_SYS`, 6675 ```MULTIMACH_TARGET_SYS`` <#var-MULTIMACH_TARGET_SYS>`__,
6672 :term:`PN`, :term:`EXTENDPE`, 6676 ```PN`` <#var-PN>`__, ```EXTENDPE`` <#var-EXTENDPE>`__,
6673 :term:`PV`, and :term:`PR` for related variable 6677 ```PV`` <#var-PV>`__, and ```PR`` <#var-PR>`__ for related variable
6674 information. 6678 information.
6675 6679
6676 STAMPS_DIR 6680 STAMPS_DIR
@@ -6685,7 +6689,7 @@ system and gives an overview of their function and contents.
6685 The short (72 characters or less) summary of the binary package for 6689 The short (72 characters or less) summary of the binary package for
6686 packaging systems such as ``opkg``, ``rpm``, or ``dpkg``. By default, 6690 packaging systems such as ``opkg``, ``rpm``, or ``dpkg``. By default,
6687 ``SUMMARY`` is used to define the 6691 ``SUMMARY`` is used to define the
6688 :term:`DESCRIPTION` variable if ``DESCRIPTION`` is 6692 ```DESCRIPTION`` <#var-DESCRIPTION>`__ variable if ``DESCRIPTION`` is
6689 not set in the recipe. 6693 not set in the recipe.
6690 6694
6691 SVNDIR 6695 SVNDIR
@@ -6698,7 +6702,7 @@ system and gives an overview of their function and contents.
6698 follows where "X" is the console number you want to use: 6702 follows where "X" is the console number you want to use:
6699 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX" 6703 SYSLINUX_DEFAULT_CONSOLE = "console=ttyX"
6700 6704
6701 The :ref:`syslinux <ref-classes-syslinux>` class initially sets 6705 The ```syslinux`` <#ref-classes-syslinux>`__ class initially sets
6702 this variable to null but then checks for a value later. 6706 this variable to null but then checks for a value later.
6703 6707
6704 SYSLINUX_OPTS 6708 SYSLINUX_OPTS
@@ -6706,14 +6710,14 @@ system and gives an overview of their function and contents.
6706 this variable in your recipe. If you want to list multiple options, 6710 this variable in your recipe. If you want to list multiple options,
6707 separate the options with a semicolon character (``;``). 6711 separate the options with a semicolon character (``;``).
6708 6712
6709 The :ref:`syslinux <ref-classes-syslinux>` class uses this variable 6713 The ```syslinux`` <#ref-classes-syslinux>`__ class uses this variable
6710 to create a set of options. 6714 to create a set of options.
6711 6715
6712 SYSLINUX_SERIAL 6716 SYSLINUX_SERIAL
6713 Specifies the alternate serial port or turns it off. To turn off 6717 Specifies the alternate serial port or turns it off. To turn off
6714 serial, set this variable to an empty string in your recipe. The 6718 serial, set this variable to an empty string in your recipe. The
6715 variable's default value is set in the 6719 variable's default value is set in the
6716 :ref:`syslinux <ref-classes-syslinux>` class as follows: 6720 ```syslinux`` <#ref-classes-syslinux>`__ class as follows:
6717 SYSLINUX_SERIAL ?= "0 115200" 6721 SYSLINUX_SERIAL ?= "0 115200"
6718 6722
6719 The class checks for and uses the variable as needed. 6723 The class checks for and uses the variable as needed.
@@ -6722,36 +6726,36 @@ system and gives an overview of their function and contents.
6722 An ``.LSS`` file used as the background for the VGA boot menu when 6726 An ``.LSS`` file used as the background for the VGA boot menu when
6723 you use the boot menu. You need to set this variable in your recipe. 6727 you use the boot menu. You need to set this variable in your recipe.
6724 6728
6725 The :ref:`syslinux <ref-classes-syslinux>` class checks for this 6729 The ```syslinux`` <#ref-classes-syslinux>`__ class checks for this
6726 variable and if found, the OpenEmbedded build system installs the 6730 variable and if found, the OpenEmbedded build system installs the
6727 splash screen. 6731 splash screen.
6728 6732
6729 SYSLINUX_SERIAL_TTY 6733 SYSLINUX_SERIAL_TTY
6730 Specifies the alternate console=tty... kernel boot argument. The 6734 Specifies the alternate console=tty... kernel boot argument. The
6731 variable's default value is set in the 6735 variable's default value is set in the
6732 :ref:`syslinux <ref-classes-syslinux>` class as follows: 6736 ```syslinux`` <#ref-classes-syslinux>`__ class as follows:
6733 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" 6737 SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200"
6734 6738
6735 The class checks for and uses the variable as needed. 6739 The class checks for and uses the variable as needed.
6736 6740
6737 SYSROOT_DESTDIR 6741 SYSROOT_DESTDIR
6738 Points to the temporary directory under the work directory (default 6742 Points to the temporary directory under the work directory (default
6739 "``${``\ :term:`WORKDIR`\ ``}/sysroot-destdir``") 6743 "``${``\ ```WORKDIR`` <#var-WORKDIR>`__\ ``}/sysroot-destdir``")
6740 where the files populated into the sysroot are assembled during the 6744 where the files populated into the sysroot are assembled during the
6741 :ref:`ref-tasks-populate_sysroot` task. 6745 ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task.
6742 6746
6743 SYSROOT_DIRS 6747 SYSROOT_DIRS
6744 Directories that are staged into the sysroot by the 6748 Directories that are staged into the sysroot by the
6745 :ref:`ref-tasks-populate_sysroot` task. By 6749 ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task. By
6746 default, the following directories are staged: SYSROOT_DIRS = " \\ 6750 default, the following directories are staged: SYSROOT_DIRS = " \\
6747 ${includedir} \\ ${libdir} \\ ${base_libdir} \\ 6751 ${includedir} \\ ${libdir} \\ ${base_libdir} \\
6748 ${nonarch_base_libdir} \\ ${datadir} \\ " 6752 ${nonarch_base_libdir} \\ ${datadir} \\ "
6749 6753
6750 SYSROOT_DIRS_BLACKLIST 6754 SYSROOT_DIRS_BLACKLIST
6751 Directories that are not staged into the sysroot by the 6755 Directories that are not staged into the sysroot by the
6752 :ref:`ref-tasks-populate_sysroot` task. You 6756 ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task. You
6753 can use this variable to exclude certain subdirectories of 6757 can use this variable to exclude certain subdirectories of
6754 directories listed in :term:`SYSROOT_DIRS` from 6758 directories listed in ```SYSROOT_DIRS`` <#var-SYSROOT_DIRS>`__ from
6755 staging. By default, the following directories are not staged: 6759 staging. By default, the following directories are not staged:
6756 SYSROOT_DIRS_BLACKLIST = " \\ ${mandir} \\ ${docdir} \\ ${infodir} \\ 6760 SYSROOT_DIRS_BLACKLIST = " \\ ${mandir} \\ ${docdir} \\ ${infodir} \\
6757 ${datadir}/locale \\ ${datadir}/applications \\ ${datadir}/fonts \\ 6761 ${datadir}/locale \\ ${datadir}/applications \\ ${datadir}/fonts \\
@@ -6759,9 +6763,9 @@ system and gives an overview of their function and contents.
6759 6763
6760 SYSROOT_DIRS_NATIVE 6764 SYSROOT_DIRS_NATIVE
6761 Extra directories staged into the sysroot by the 6765 Extra directories staged into the sysroot by the
6762 :ref:`ref-tasks-populate_sysroot` task for 6766 ```do_populate_sysroot`` <#ref-tasks-populate_sysroot>`__ task for
6763 ``-native`` recipes, in addition to those specified in 6767 ``-native`` recipes, in addition to those specified in
6764 :term:`SYSROOT_DIRS`. By default, the following 6768 ```SYSROOT_DIRS`` <#var-SYSROOT_DIRS>`__. By default, the following
6765 extra directories are staged: SYSROOT_DIRS_NATIVE = " \\ ${bindir} \\ 6769 extra directories are staged: SYSROOT_DIRS_NATIVE = " \\ ${bindir} \\
6766 ${sbindir} \\ ${base_bindir} \\ ${base_sbindir} \\ ${libexecdir} \\ 6770 ${sbindir} \\ ${base_bindir} \\ ${base_sbindir} \\ ${libexecdir} \\
6767 ${sysconfdir} \\ ${localstatedir} \\ " 6771 ${sysconfdir} \\ ${localstatedir} \\ "
@@ -6781,50 +6785,50 @@ system and gives an overview of their function and contents.
6781 processing on the staged files, or to stage additional files. 6785 processing on the staged files, or to stage additional files.
6782 6786
6783 SYSTEMD_AUTO_ENABLE 6787 SYSTEMD_AUTO_ENABLE
6784 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 6788 When inheriting the ```systemd`` <#ref-classes-systemd>`__ class,
6785 this variable specifies whether the specified service in 6789 this variable specifies whether the specified service in
6786 :term:`SYSTEMD_SERVICE` should start 6790 ```SYSTEMD_SERVICE`` <#var-SYSTEMD_SERVICE>`__ should start
6787 automatically or not. By default, the service is enabled to 6791 automatically or not. By default, the service is enabled to
6788 automatically start at boot time. The default setting is in the 6792 automatically start at boot time. The default setting is in the
6789 :ref:`systemd <ref-classes-systemd>` class as follows: 6793 ```systemd`` <#ref-classes-systemd>`__ class as follows:
6790 SYSTEMD_AUTO_ENABLE ??= "enable" 6794 SYSTEMD_AUTO_ENABLE ??= "enable"
6791 6795
6792 You can disable the service by setting the variable to "disable". 6796 You can disable the service by setting the variable to "disable".
6793 6797
6794 SYSTEMD_BOOT_CFG 6798 SYSTEMD_BOOT_CFG
6795 When :term:`EFI_PROVIDER` is set to 6799 When ```EFI_PROVIDER`` <#var-EFI_PROVIDER>`__ is set to
6796 "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the 6800 "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the
6797 configuration file that should be used. By default, the 6801 configuration file that should be used. By default, the
6798 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 6802 ```systemd-boot`` <#ref-classes-systemd-boot>`__ class sets the
6799 ``SYSTEMD_BOOT_CFG`` as follows: SYSTEMD_BOOT_CFG ?= 6803 ``SYSTEMD_BOOT_CFG`` as follows: SYSTEMD_BOOT_CFG ?=
6800 "${:term:`S`}/loader.conf" 6804 "${`S <#var-S>`__}/loader.conf"
6801 6805
6802 For information on Systemd-boot, see the `Systemd-boot 6806 For information on Systemd-boot, see the `Systemd-boot
6803 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__. 6807 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__.
6804 6808
6805 SYSTEMD_BOOT_ENTRIES 6809 SYSTEMD_BOOT_ENTRIES
6806 When :term:`EFI_PROVIDER` is set to 6810 When ```EFI_PROVIDER`` <#var-EFI_PROVIDER>`__ is set to
6807 "systemd-boot", the ``SYSTEMD_BOOT_ENTRIES`` variable specifies a 6811 "systemd-boot", the ``SYSTEMD_BOOT_ENTRIES`` variable specifies a
6808 list of entry files (``*.conf``) to install that contain one boot 6812 list of entry files (``*.conf``) to install that contain one boot
6809 entry per file. By default, the 6813 entry per file. By default, the
6810 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 6814 ```systemd-boot`` <#ref-classes-systemd-boot>`__ class sets the
6811 ``SYSTEMD_BOOT_ENTRIES`` as follows: SYSTEMD_BOOT_ENTRIES ?= "" 6815 ``SYSTEMD_BOOT_ENTRIES`` as follows: SYSTEMD_BOOT_ENTRIES ?= ""
6812 6816
6813 For information on Systemd-boot, see the `Systemd-boot 6817 For information on Systemd-boot, see the `Systemd-boot
6814 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__. 6818 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__.
6815 6819
6816 SYSTEMD_BOOT_TIMEOUT 6820 SYSTEMD_BOOT_TIMEOUT
6817 When :term:`EFI_PROVIDER` is set to 6821 When ```EFI_PROVIDER`` <#var-EFI_PROVIDER>`__ is set to
6818 "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the 6822 "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the
6819 boot menu timeout in seconds. By default, the 6823 boot menu timeout in seconds. By default, the
6820 :ref:`systemd-boot <ref-classes-systemd-boot>` class sets the 6824 ```systemd-boot`` <#ref-classes-systemd-boot>`__ class sets the
6821 ``SYSTEMD_BOOT_TIMEOUT`` as follows: SYSTEMD_BOOT_TIMEOUT ?= "10" 6825 ``SYSTEMD_BOOT_TIMEOUT`` as follows: SYSTEMD_BOOT_TIMEOUT ?= "10"
6822 6826
6823 For information on Systemd-boot, see the `Systemd-boot 6827 For information on Systemd-boot, see the `Systemd-boot
6824 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__. 6828 documentation <http://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__.
6825 6829
6826 SYSTEMD_PACKAGES 6830 SYSTEMD_PACKAGES
6827 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 6831 When inheriting the ```systemd`` <#ref-classes-systemd>`__ class,
6828 this variable locates the systemd unit files when they are not found 6832 this variable locates the systemd unit files when they are not found
6829 in the main recipe's package. By default, the ``SYSTEMD_PACKAGES`` 6833 in the main recipe's package. By default, the ``SYSTEMD_PACKAGES``
6830 variable is set such that the systemd unit files are assumed to 6834 variable is set such that the systemd unit files are assumed to
@@ -6835,7 +6839,7 @@ system and gives an overview of their function and contents.
6835 the build system can find the systemd unit files. 6839 the build system can find the systemd unit files.
6836 6840
6837 SYSTEMD_SERVICE 6841 SYSTEMD_SERVICE
6838 When inheriting the :ref:`systemd <ref-classes-systemd>` class, 6842 When inheriting the ```systemd`` <#ref-classes-systemd>`__ class,
6839 this variable specifies the systemd service name for a package. 6843 this variable specifies the systemd service name for a package.
6840 6844
6841 When you specify this file in your recipe, use a package name 6845 When you specify this file in your recipe, use a package name
@@ -6848,7 +6852,7 @@ system and gives an overview of their function and contents.
6848 `SysVinit <&YOCTO_DOCS_DEV_URL;#new-recipe-enabling-system-services>`__, 6852 `SysVinit <&YOCTO_DOCS_DEV_URL;#new-recipe-enabling-system-services>`__,
6849 specifies a space-separated list of the virtual terminals that should 6853 specifies a space-separated list of the virtual terminals that should
6850 run a `getty <http://en.wikipedia.org/wiki/Getty_%28Unix%29>`__ 6854 run a `getty <http://en.wikipedia.org/wiki/Getty_%28Unix%29>`__
6851 (allowing login), assuming :term:`USE_VT` is not set to 6855 (allowing login), assuming ```USE_VT`` <#var-USE_VT>`__ is not set to
6852 "0". 6856 "0".
6853 6857
6854 The default value for ``SYSVINIT_ENABLED_GETTYS`` is "1" (i.e. only 6858 The default value for ``SYSVINIT_ENABLED_GETTYS`` is "1" (i.e. only
@@ -6860,12 +6864,12 @@ system and gives an overview of their function and contents.
6860 particular recipe. The variable is typically set as follows: T = 6864 particular recipe. The variable is typically set as follows: T =
6861 "${WORKDIR}/temp" 6865 "${WORKDIR}/temp"
6862 6866
6863 The :term:`WORKDIR` is the directory into which 6867 The ```WORKDIR`` <#var-WORKDIR>`__ is the directory into which
6864 BitBake unpacks and builds the recipe. The default ``bitbake.conf`` 6868 BitBake unpacks and builds the recipe. The default ``bitbake.conf``
6865 file sets this variable. 6869 file sets this variable.
6866 6870
6867 The ``T`` variable is not to be confused with the 6871 The ``T`` variable is not to be confused with the
6868 :term:`TMPDIR` variable, which points to the root of 6872 ```TMPDIR`` <#var-TMPDIR>`__ variable, which points to the root of
6869 the directory tree where BitBake places the output of an entire 6873 the directory tree where BitBake places the output of an entire
6870 build. 6874 build.
6871 6875
@@ -6876,19 +6880,19 @@ system and gives an overview of their function and contents.
6876 configurable: arm i586 x86_64 powerpc powerpc64 mips mipsel 6880 configurable: arm i586 x86_64 powerpc powerpc64 mips mipsel
6877 6881
6878 For additional information on machine architectures, see the 6882 For additional information on machine architectures, see the
6879 :term:`TUNE_ARCH` variable. 6883 ```TUNE_ARCH`` <#var-TUNE_ARCH>`__ variable.
6880 6884
6881 TARGET_AS_ARCH 6885 TARGET_AS_ARCH
6882 Specifies architecture-specific assembler flags for the target 6886 Specifies architecture-specific assembler flags for the target
6883 system. ``TARGET_AS_ARCH`` is initialized from 6887 system. ``TARGET_AS_ARCH`` is initialized from
6884 :term:`TUNE_ASARGS` by default in the BitBake 6888 ```TUNE_ASARGS`` <#var-TUNE_ASARGS>`__ by default in the BitBake
6885 configuration file (``meta/conf/bitbake.conf``): TARGET_AS_ARCH = 6889 configuration file (``meta/conf/bitbake.conf``): TARGET_AS_ARCH =
6886 "${TUNE_ASARGS}" 6890 "${TUNE_ASARGS}"
6887 6891
6888 TARGET_CC_ARCH 6892 TARGET_CC_ARCH
6889 Specifies architecture-specific C compiler flags for the target 6893 Specifies architecture-specific C compiler flags for the target
6890 system. ``TARGET_CC_ARCH`` is initialized from 6894 system. ``TARGET_CC_ARCH`` is initialized from
6891 :term:`TUNE_CCARGS` by default. 6895 ```TUNE_CCARGS`` <#var-TUNE_CCARGS>`__ by default.
6892 6896
6893 .. note:: 6897 .. note::
6894 6898
@@ -6904,17 +6908,17 @@ system and gives an overview of their function and contents.
6904 TARGET_CC_KERNEL_ARCH 6908 TARGET_CC_KERNEL_ARCH
6905 This is a specific kernel compiler flag for a CPU or Application 6909 This is a specific kernel compiler flag for a CPU or Application
6906 Binary Interface (ABI) tune. The flag is used rarely and only for 6910 Binary Interface (ABI) tune. The flag is used rarely and only for
6907 cases where a userspace :term:`TUNE_CCARGS` is not 6911 cases where a userspace ```TUNE_CCARGS`` <#var-TUNE_CCARGS>`__ is not
6908 compatible with the kernel compilation. The ``TARGET_CC_KERNEL_ARCH`` 6912 compatible with the kernel compilation. The ``TARGET_CC_KERNEL_ARCH``
6909 variable allows the kernel (and associated modules) to use a 6913 variable allows the kernel (and associated modules) to use a
6910 different configuration. See the 6914 different configuration. See the
6911 ``meta/conf/machine/include/arm/feature-arm-thumb.inc`` file in the 6915 ``meta/conf/machine/include/arm/feature-arm-thumb.inc`` file in the
6912 :term:`Source Directory` for an example. 6916 `Source Directory <#source-directory>`__ for an example.
6913 6917
6914 TARGET_CFLAGS 6918 TARGET_CFLAGS
6915 Specifies the flags to pass to the C compiler when building for the 6919 Specifies the flags to pass to the C compiler when building for the
6916 target. When building in the target context, 6920 target. When building in the target context,
6917 :term:`CFLAGS` is set to the value of this variable by 6921 ```CFLAGS`` <#var-CFLAGS>`__ is set to the value of this variable by
6918 default. 6922 default.
6919 6923
6920 Additionally, the SDK's environment setup script sets the ``CFLAGS`` 6924 Additionally, the SDK's environment setup script sets the ``CFLAGS``
@@ -6924,7 +6928,7 @@ system and gives an overview of their function and contents.
6924 TARGET_CPPFLAGS 6928 TARGET_CPPFLAGS
6925 Specifies the flags to pass to the C pre-processor (i.e. to both the 6929 Specifies the flags to pass to the C pre-processor (i.e. to both the
6926 C and the C++ compilers) when building for the target. When building 6930 C and the C++ compilers) when building for the target. When building
6927 in the target context, :term:`CPPFLAGS` is set to the 6931 in the target context, ```CPPFLAGS`` <#var-CPPFLAGS>`__ is set to the
6928 value of this variable by default. 6932 value of this variable by default.
6929 6933
6930 Additionally, the SDK's environment setup script sets the 6934 Additionally, the SDK's environment setup script sets the
@@ -6935,7 +6939,7 @@ system and gives an overview of their function and contents.
6935 TARGET_CXXFLAGS 6939 TARGET_CXXFLAGS
6936 Specifies the flags to pass to the C++ compiler when building for the 6940 Specifies the flags to pass to the C++ compiler when building for the
6937 target. When building in the target context, 6941 target. When building in the target context,
6938 :term:`CXXFLAGS` is set to the value of this variable 6942 ```CXXFLAGS`` <#var-CXXFLAGS>`__ is set to the value of this variable
6939 by default. 6943 by default.
6940 6944
6941 Additionally, the SDK's environment setup script sets the 6945 Additionally, the SDK's environment setup script sets the
@@ -6952,18 +6956,18 @@ system and gives an overview of their function and contents.
6952 TARGET_LD_ARCH 6956 TARGET_LD_ARCH
6953 Specifies architecture-specific linker flags for the target system. 6957 Specifies architecture-specific linker flags for the target system.
6954 ``TARGET_LD_ARCH`` is initialized from 6958 ``TARGET_LD_ARCH`` is initialized from
6955 :term:`TUNE_LDARGS` by default in the BitBake 6959 ```TUNE_LDARGS`` <#var-TUNE_LDARGS>`__ by default in the BitBake
6956 configuration file (``meta/conf/bitbake.conf``): TARGET_LD_ARCH = 6960 configuration file (``meta/conf/bitbake.conf``): TARGET_LD_ARCH =
6957 "${TUNE_LDARGS}" 6961 "${TUNE_LDARGS}"
6958 6962
6959 TARGET_LDFLAGS 6963 TARGET_LDFLAGS
6960 Specifies the flags to pass to the linker when building for the 6964 Specifies the flags to pass to the linker when building for the
6961 target. When building in the target context, 6965 target. When building in the target context,
6962 :term:`LDFLAGS` is set to the value of this variable 6966 ```LDFLAGS`` <#var-LDFLAGS>`__ is set to the value of this variable
6963 by default. 6967 by default.
6964 6968
6965 Additionally, the SDK's environment setup script sets the 6969 Additionally, the SDK's environment setup script sets the
6966 :term:`LDFLAGS` variable in the environment to the 6970 ```LDFLAGS`` <#var-LDFLAGS>`__ variable in the environment to the
6967 ``TARGET_LDFLAGS`` value so that executables built using the SDK also 6971 ``TARGET_LDFLAGS`` value so that executables built using the SDK also
6968 have the flags applied. 6972 have the flags applied.
6969 6973
@@ -6980,7 +6984,7 @@ system and gives an overview of their function and contents.
6980 ``TARGET_PREFIX`` is set as follows: 6984 ``TARGET_PREFIX`` is set as follows:
6981 6985
6982 - For recipes building for the target machine, the value is 6986 - For recipes building for the target machine, the value is
6983 "${:term:`TARGET_SYS`}-". 6987 "${`TARGET_SYS <#var-TARGET_SYS>`__}-".
6984 6988
6985 - For native recipes, the build system sets the variable to the 6989 - For native recipes, the build system sets the variable to the
6986 value of ``BUILD_PREFIX``. 6990 value of ``BUILD_PREFIX``.
@@ -6994,9 +6998,9 @@ system and gives an overview of their function and contents.
6994 current recipe. 6998 current recipe.
6995 6999
6996 The OpenEmbedded build system automatically sets this variable based 7000 The OpenEmbedded build system automatically sets this variable based
6997 on :term:`TARGET_ARCH`, 7001 on ```TARGET_ARCH`` <#var-TARGET_ARCH>`__,
6998 :term:`TARGET_VENDOR`, and 7002 ```TARGET_VENDOR`` <#var-TARGET_VENDOR>`__, and
6999 :term:`TARGET_OS` variables. 7003 ```TARGET_OS`` <#var-TARGET_OS>`__ variables.
7000 7004
7001 .. note:: 7005 .. note::
7002 7006
@@ -7024,9 +7028,9 @@ system and gives an overview of their function and contents.
7024 7028
7025 TCLIBCAPPEND 7029 TCLIBCAPPEND
7026 Specifies a suffix to be appended onto the 7030 Specifies a suffix to be appended onto the
7027 :term:`TMPDIR` value. The suffix identifies the 7031 ```TMPDIR`` <#var-TMPDIR>`__ value. The suffix identifies the
7028 ``libc`` variant for building. When you are building for multiple 7032 ``libc`` variant for building. When you are building for multiple
7029 variants with the same :term:`Build Directory`, this 7033 variants with the same `Build Directory <#build-directory>`__, this
7030 mechanism ensures that output for different ``libc`` variants is kept 7034 mechanism ensures that output for different ``libc`` variants is kept
7031 separate to avoid potential conflicts. 7035 separate to avoid potential conflicts.
7032 7036
@@ -7059,7 +7063,7 @@ system and gives an overview of their function and contents.
7059 page on the Yocto Project website and click on the "RELEASE 7063 page on the Yocto Project website and click on the "RELEASE
7060 INFORMATION" link for the appropriate release. 7064 INFORMATION" link for the appropriate release.
7061 7065
7062 The ``TCMODE`` variable is similar to :term:`TCLIBC`, 7066 The ``TCMODE`` variable is similar to ```TCLIBC`` <#var-TCLIBC>`__,
7063 which controls the variant of the GNU standard C library (``libc``) 7067 which controls the variant of the GNU standard C library (``libc``)
7064 used during the build process: ``glibc`` or ``musl``. 7068 used during the build process: ``glibc`` or ``musl``.
7065 7069
@@ -7067,7 +7071,7 @@ system and gives an overview of their function and contents.
7067 toolchain. One example is the Sourcery G++ Toolchain. The support for 7071 toolchain. One example is the Sourcery G++ Toolchain. The support for
7068 this toolchain resides in the separate Mentor Graphics 7072 this toolchain resides in the separate Mentor Graphics
7069 ``meta-sourcery`` layer at 7073 ``meta-sourcery`` layer at
7070 http://github.com/MentorEmbedded/meta-sourcery/. 7074 ` <http://github.com/MentorEmbedded/meta-sourcery/>`__.
7071 7075
7072 The layer's ``README`` file contains information on how to use the 7076 The layer's ``README`` file contains information on how to use the
7073 Sourcery G++ Toolchain as an external toolchain. In summary, you must 7077 Sourcery G++ Toolchain as an external toolchain. In summary, you must
@@ -7082,7 +7086,7 @@ system and gives an overview of their function and contents.
7082 7086
7083 TEST_EXPORT_DIR 7087 TEST_EXPORT_DIR
7084 The location the OpenEmbedded build system uses to export tests when 7088 The location the OpenEmbedded build system uses to export tests when
7085 the :term:`TEST_EXPORT_ONLY` variable is set 7089 the ```TEST_EXPORT_ONLY`` <#var-TEST_EXPORT_ONLY>`__ variable is set
7086 to "1". 7090 to "1".
7087 7091
7088 The ``TEST_EXPORT_DIR`` variable defaults to 7092 The ``TEST_EXPORT_DIR`` variable defaults to
@@ -7117,7 +7121,7 @@ system and gives an overview of their function and contents.
7117 TEST_POWERCONTROL_EXTRA_ARGS 7121 TEST_POWERCONTROL_EXTRA_ARGS
7118 For automated hardware testing, specifies additional arguments to 7122 For automated hardware testing, specifies additional arguments to
7119 pass through to the command specified in 7123 pass through to the command specified in
7120 :term:`TEST_POWERCONTROL_CMD`. Setting 7124 ```TEST_POWERCONTROL_CMD`` <#var-TEST_POWERCONTROL_CMD>`__. Setting
7121 ``TEST_POWERCONTROL_EXTRA_ARGS`` is optional. You can use it if you 7125 ``TEST_POWERCONTROL_EXTRA_ARGS`` is optional. You can use it if you
7122 wish, for example, to separate the machine-specific and 7126 wish, for example, to separate the machine-specific and
7123 non-machine-specific parts of the arguments. 7127 non-machine-specific parts of the arguments.
@@ -7148,7 +7152,7 @@ system and gives an overview of their function and contents.
7148 TEST_SERIALCONTROL_EXTRA_ARGS 7152 TEST_SERIALCONTROL_EXTRA_ARGS
7149 For automated hardware testing, specifies additional arguments to 7153 For automated hardware testing, specifies additional arguments to
7150 pass through to the command specified in 7154 pass through to the command specified in
7151 :term:`TEST_SERIALCONTROL_CMD`. Setting 7155 ```TEST_SERIALCONTROL_CMD`` <#var-TEST_SERIALCONTROL_CMD>`__. Setting
7152 ``TEST_SERIALCONTROL_EXTRA_ARGS`` is optional. You can use it if you 7156 ``TEST_SERIALCONTROL_EXTRA_ARGS`` is optional. You can use it if you
7153 wish, for example, to separate the machine-specific and 7157 wish, for example, to separate the machine-specific and
7154 non-machine-specific parts of the command. 7158 non-machine-specific parts of the command.
@@ -7191,7 +7195,7 @@ system and gives an overview of their function and contents.
7191 - *"simpleremote":* Runs the tests on target hardware that is 7195 - *"simpleremote":* Runs the tests on target hardware that is
7192 already up and running. The hardware can be on the network or it 7196 already up and running. The hardware can be on the network or it
7193 can be a device running an image on QEMU. You must also set 7197 can be a device running an image on QEMU. You must also set
7194 :term:`TEST_TARGET_IP` when you use 7198 ```TEST_TARGET_IP`` <#var-TEST_TARGET_IP>`__ when you use
7195 "simpleremote". 7199 "simpleremote".
7196 7200
7197 .. note:: 7201 .. note::
@@ -7207,7 +7211,7 @@ system and gives an overview of their function and contents.
7207 7211
7208 TEST_TARGET_IP 7212 TEST_TARGET_IP
7209 The IP address of your hardware under test. The ``TEST_TARGET_IP`` 7213 The IP address of your hardware under test. The ``TEST_TARGET_IP``
7210 variable has no effect when :term:`TEST_TARGET` is 7214 variable has no effect when ```TEST_TARGET`` <#var-TEST_TARGET>`__ is
7211 set to "qemu". 7215 set to "qemu".
7212 7216
7213 When you specify the IP address, you can also include a port. Here is 7217 When you specify the IP address, you can also include a port. Here is
@@ -7259,14 +7263,14 @@ system and gives an overview of their function and contents.
7259 These tests are written in Python making use of the ``unittest`` 7263 These tests are written in Python making use of the ``unittest``
7260 module, and the majority of them run commands on the target system 7264 module, and the majority of them run commands on the target system
7261 over ``ssh``. You can set this variable to "1" in your ``local.conf`` 7265 over ``ssh``. You can set this variable to "1" in your ``local.conf``
7262 file in the :term:`Build Directory` to have the 7266 file in the `Build Directory <#build-directory>`__ to have the
7263 OpenEmbedded build system automatically run these tests after an 7267 OpenEmbedded build system automatically run these tests after an
7264 image successfully builds: TESTIMAGE_AUTO = "1" For more information 7268 image successfully builds: TESTIMAGE_AUTO = "1" For more information
7265 on enabling, running, and writing these tests, see the "`Performing 7269 on enabling, running, and writing these tests, see the "`Performing
7266 Automated Runtime 7270 Automated Runtime
7267 Testing <&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing>`__" 7271 Testing <&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing>`__"
7268 section in the Yocto Project Development Tasks Manual and the 7272 section in the Yocto Project Development Tasks Manual and the
7269 ":ref:`testimage*.bbclass <ref-classes-testimage*>`" section. 7273 "```testimage*.bbclass`` <#ref-classes-testimage*>`__" section.
7270 7274
7271 THISDIR 7275 THISDIR
7272 The directory in which the file BitBake is currently parsing is 7276 The directory in which the file BitBake is currently parsing is
@@ -7281,12 +7285,12 @@ system and gives an overview of their function and contents.
7281 This variable is the base directory the OpenEmbedded build system 7285 This variable is the base directory the OpenEmbedded build system
7282 uses for all build output and intermediate files (other than the 7286 uses for all build output and intermediate files (other than the
7283 shared state cache). By default, the ``TMPDIR`` variable points to 7287 shared state cache). By default, the ``TMPDIR`` variable points to
7284 ``tmp`` within the :term:`Build Directory`. 7288 ``tmp`` within the `Build Directory <#build-directory>`__.
7285 7289
7286 If you want to establish this directory in a location other than the 7290 If you want to establish this directory in a location other than the
7287 default, you can uncomment and edit the following statement in the 7291 default, you can uncomment and edit the following statement in the
7288 ``conf/local.conf`` file in the :term:`Source Directory`: 7292 ``conf/local.conf`` file in the `Source
7289 #TMPDIR = "${TOPDIR}/tmp" An 7293 Directory <#source-directory>`__: #TMPDIR = "${TOPDIR}/tmp" An
7290 example use for this scenario is to set ``TMPDIR`` to a local disk, 7294 example use for this scenario is to set ``TMPDIR`` to a local disk,
7291 which does not use NFS, while having the Build Directory use NFS. 7295 which does not use NFS, while having the Build Directory use NFS.
7292 7296
@@ -7300,7 +7304,7 @@ system and gives an overview of their function and contents.
7300 This variable lists packages the OpenEmbedded build system uses when 7304 This variable lists packages the OpenEmbedded build system uses when
7301 building an SDK, which contains a cross-development environment. The 7305 building an SDK, which contains a cross-development environment. The
7302 packages specified by this variable are part of the toolchain set 7306 packages specified by this variable are part of the toolchain set
7303 that runs on the :term:`SDKMACHINE`, and each 7307 that runs on the ```SDKMACHINE`` <#var-SDKMACHINE>`__, and each
7304 package should usually have the prefix ``nativesdk-``. For example, 7308 package should usually have the prefix ``nativesdk-``. For example,
7305 consider the following command when building an SDK: $ bitbake -c 7309 consider the following command when building an SDK: $ bitbake -c
7306 populate_sdk imagename In this case, a default list of packages is 7310 populate_sdk imagename In this case, a default list of packages is
@@ -7321,11 +7325,11 @@ system and gives an overview of their function and contents.
7321 7325
7322 TOOLCHAIN_OUTPUTNAME 7326 TOOLCHAIN_OUTPUTNAME
7323 This variable defines the name used for the toolchain output. The 7327 This variable defines the name used for the toolchain output. The
7324 :ref:`populate_sdk_base <ref-classes-populate-sdk-*>` class sets 7328 ```populate_sdk_base`` <#ref-classes-populate-sdk-*>`__ class sets
7325 the ``TOOLCHAIN_OUTPUTNAME`` variable as follows: 7329 the ``TOOLCHAIN_OUTPUTNAME`` variable as follows:
7326 TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" See 7330 TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" See
7327 the :term:`SDK_NAME` and 7331 the ```SDK_NAME`` <#var-SDK_NAME>`__ and
7328 :term:`SDK_VERSION` variables for additional 7332 ```SDK_VERSION`` <#var-SDK_VERSION>`__ variables for additional
7329 information. 7333 information.
7330 7334
7331 TOOLCHAIN_TARGET_TASK 7335 TOOLCHAIN_TARGET_TASK
@@ -7348,12 +7352,12 @@ system and gives an overview of their function and contents.
7348 Development Kit (eSDK) <&YOCTO_DOCS_SDK_URL;>`__ manual. 7352 Development Kit (eSDK) <&YOCTO_DOCS_SDK_URL;>`__ manual.
7349 7353
7350 TOPDIR 7354 TOPDIR
7351 The top-level :term:`Build Directory`. BitBake 7355 The top-level `Build Directory <#build-directory>`__. BitBake
7352 automatically sets this variable when you initialize your build 7356 automatically sets this variable when you initialize your build
7353 environment using ````` <#structure-core-script>`__. 7357 environment using ````` <#structure-core-script>`__.
7354 7358
7355 TRANSLATED_TARGET_ARCH 7359 TRANSLATED_TARGET_ARCH
7356 A sanitized version of :term:`TARGET_ARCH`. This 7360 A sanitized version of ```TARGET_ARCH`` <#var-TARGET_ARCH>`__. This
7357 variable is used where the architecture is needed in a value where 7361 variable is used where the architecture is needed in a value where
7358 underscores are not allowed, for example within package filenames. In 7362 underscores are not allowed, for example within package filenames. In
7359 this case, dash characters replace any underscore characters used in 7363 this case, dash characters replace any underscore characters used in
@@ -7370,12 +7374,12 @@ system and gives an overview of their function and contents.
7370 definitions can be a single static definition, or can be dynamically 7374 definitions can be a single static definition, or can be dynamically
7371 adjusted. You can see details for a given CPU family by looking at 7375 adjusted. You can see details for a given CPU family by looking at
7372 the architecture's ``README`` file. For example, the 7376 the architecture's ``README`` file. For example, the
7373 ``meta/conf/machine/include/mips/README`` file in the 7377 ``meta/conf/machine/include/mips/README`` file in the `Source
7374 :term:`Source Directory` provides information for 7378 Directory <#source-directory>`__ provides information for
7375 ``TUNE_ARCH`` specific to the ``mips`` architecture. 7379 ``TUNE_ARCH`` specific to the ``mips`` architecture.
7376 7380
7377 ``TUNE_ARCH`` is tied closely to 7381 ``TUNE_ARCH`` is tied closely to
7378 :term:`TARGET_ARCH`, which defines the target 7382 ```TARGET_ARCH`` <#var-TARGET_ARCH>`__, which defines the target
7379 machine's architecture. The BitBake configuration file 7383 machine's architecture. The BitBake configuration file
7380 (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows: 7384 (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows:
7381 TARGET_ARCH = "${TUNE_ARCH}" 7385 TARGET_ARCH = "${TUNE_ARCH}"
@@ -7389,7 +7393,7 @@ system and gives an overview of their function and contents.
7389 system. The set of flags is based on the selected tune features. 7393 system. The set of flags is based on the selected tune features.
7390 ``TUNE_ASARGS`` is set using the tune include files, which are 7394 ``TUNE_ASARGS`` is set using the tune include files, which are
7391 typically under ``meta/conf/machine/include/`` and are influenced 7395 typically under ``meta/conf/machine/include/`` and are influenced
7392 through :term:`TUNE_FEATURES`. For example, the 7396 through ```TUNE_FEATURES`` <#var-TUNE_FEATURES>`__. For example, the
7393 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags 7397 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags
7394 for the x86 architecture as follows: TUNE_ASARGS += 7398 for the x86 architecture as follows: TUNE_ASARGS +=
7395 "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" 7399 "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
@@ -7405,7 +7409,7 @@ system and gives an overview of their function and contents.
7405 system. The set of flags is based on the selected tune features. 7409 system. The set of flags is based on the selected tune features.
7406 ``TUNE_CCARGS`` is set using the tune include files, which are 7410 ``TUNE_CCARGS`` is set using the tune include files, which are
7407 typically under ``meta/conf/machine/include/`` and are influenced 7411 typically under ``meta/conf/machine/include/`` and are influenced
7408 through :term:`TUNE_FEATURES`. 7412 through ```TUNE_FEATURES`` <#var-TUNE_FEATURES>`__.
7409 7413
7410 .. note:: 7414 .. note::
7411 7415
@@ -7418,7 +7422,7 @@ system and gives an overview of their function and contents.
7418 The set of flags is based on the selected tune features. 7422 The set of flags is based on the selected tune features.
7419 ``TUNE_LDARGS`` is set using the tune include files, which are 7423 ``TUNE_LDARGS`` is set using the tune include files, which are
7420 typically under ``meta/conf/machine/include/`` and are influenced 7424 typically under ``meta/conf/machine/include/`` and are influenced
7421 through :term:`TUNE_FEATURES`. For example, the 7425 through ```TUNE_FEATURES`` <#var-TUNE_FEATURES>`__. For example, the
7422 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags 7426 ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags
7423 for the x86 architecture as follows: TUNE_LDARGS += 7427 for the x86 architecture as follows: TUNE_LDARGS +=
7424 "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", 7428 "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "",
@@ -7442,7 +7446,7 @@ system and gives an overview of their function and contents.
7442 The BitBake configuration file (``meta/conf/bitbake.conf``) defines 7446 The BitBake configuration file (``meta/conf/bitbake.conf``) defines
7443 ``TUNE_FEATURES`` as follows: TUNE_FEATURES ??= 7447 ``TUNE_FEATURES`` as follows: TUNE_FEATURES ??=
7444 "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" See the 7448 "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" See the
7445 :term:`DEFAULTTUNE` variable for more information. 7449 ```DEFAULTTUNE`` <#var-DEFAULTTUNE>`__ variable for more information.
7446 7450
7447 TUNE_PKGARCH 7451 TUNE_PKGARCH
7448 The package architecture understood by the packaging system to define 7452 The package architecture understood by the packaging system to define
@@ -7459,34 +7463,34 @@ system and gives an overview of their function and contents.
7459 An underlying Application Binary Interface (ABI) used by a particular 7463 An underlying Application Binary Interface (ABI) used by a particular
7460 tuning in a given toolchain layer. Providers that use prebuilt 7464 tuning in a given toolchain layer. Providers that use prebuilt
7461 libraries can use the ``TUNEABI``, 7465 libraries can use the ``TUNEABI``,
7462 :term:`TUNEABI_OVERRIDE`, and 7466 ```TUNEABI_OVERRIDE`` <#var-TUNEABI_OVERRIDE>`__, and
7463 :term:`TUNEABI_WHITELIST` variables to check 7467 ```TUNEABI_WHITELIST`` <#var-TUNEABI_WHITELIST>`__ variables to check
7464 compatibility of tunings against their selection of libraries. 7468 compatibility of tunings against their selection of libraries.
7465 7469
7466 If ``TUNEABI`` is undefined, then every tuning is allowed. See the 7470 If ``TUNEABI`` is undefined, then every tuning is allowed. See the
7467 :ref:`sanity <ref-classes-sanity>` class to see how the variable is 7471 ```sanity`` <#ref-classes-sanity>`__ class to see how the variable is
7468 used. 7472 used.
7469 7473
7470 TUNEABI_OVERRIDE 7474 TUNEABI_OVERRIDE
7471 If set, the OpenEmbedded system ignores the 7475 If set, the OpenEmbedded system ignores the
7472 :term:`TUNEABI_WHITELIST` variable. 7476 ```TUNEABI_WHITELIST`` <#var-TUNEABI_WHITELIST>`__ variable.
7473 Providers that use prebuilt libraries can use the 7477 Providers that use prebuilt libraries can use the
7474 ``TUNEABI_OVERRIDE``, ``TUNEABI_WHITELIST``, and 7478 ``TUNEABI_OVERRIDE``, ``TUNEABI_WHITELIST``, and
7475 :term:`TUNEABI` variables to check compatibility of a 7479 ```TUNEABI`` <#var-TUNEABI>`__ variables to check compatibility of a
7476 tuning against their selection of libraries. 7480 tuning against their selection of libraries.
7477 7481
7478 See the :ref:`sanity <ref-classes-sanity>` class to see how the 7482 See the ```sanity`` <#ref-classes-sanity>`__ class to see how the
7479 variable is used. 7483 variable is used.
7480 7484
7481 TUNEABI_WHITELIST 7485 TUNEABI_WHITELIST
7482 A whitelist of permissible :term:`TUNEABI` values. If 7486 A whitelist of permissible ```TUNEABI`` <#var-TUNEABI>`__ values. If
7483 ``TUNEABI_WHITELIST`` is not set, all tunes are allowed. Providers 7487 ``TUNEABI_WHITELIST`` is not set, all tunes are allowed. Providers
7484 that use prebuilt libraries can use the ``TUNEABI_WHITELIST``, 7488 that use prebuilt libraries can use the ``TUNEABI_WHITELIST``,
7485 :term:`TUNEABI_OVERRIDE`, and ``TUNEABI`` 7489 ```TUNEABI_OVERRIDE`` <#var-TUNEABI_OVERRIDE>`__, and ``TUNEABI``
7486 variables to check compatibility of a tuning against their selection 7490 variables to check compatibility of a tuning against their selection
7487 of libraries. 7491 of libraries.
7488 7492
7489 See the :ref:`sanity <ref-classes-sanity>` class to see how the 7493 See the ```sanity`` <#ref-classes-sanity>`__ class to see how the
7490 variable is used. 7494 variable is used.
7491 7495
7492 TUNECONFLICTS[feature] 7496 TUNECONFLICTS[feature]
@@ -7494,7 +7498,7 @@ system and gives an overview of their function and contents.
7494 that conflict with feature. 7498 that conflict with feature.
7495 7499
7496 Known tuning conflicts are specified in the machine include files in 7500 Known tuning conflicts are specified in the machine include files in
7497 the :term:`Source Directory`. Here is an example from 7501 the `Source Directory <#source-directory>`__. Here is an example from
7498 the ``meta/conf/machine/include/mips/arch-mips.inc`` include file 7502 the ``meta/conf/machine/include/mips/arch-mips.inc`` include file
7499 that lists the "o32" and "n64" features as conflicting with the "n32" 7503 that lists the "o32" and "n64" features as conflicting with the "n32"
7500 feature: TUNECONFLICTS[n32] = "o32 n64" 7504 feature: TUNECONFLICTS[n32] = "o32 n64"
@@ -7506,12 +7510,12 @@ system and gives an overview of their function and contents.
7506 ``meta/conf/machine/include/arm/arch-arm.inc``). Here is an example 7510 ``meta/conf/machine/include/arm/arch-arm.inc``). Here is an example
7507 from that file: TUNEVALID[bigendian] = "Enable big-endian mode." 7511 from that file: TUNEVALID[bigendian] = "Enable big-endian mode."
7508 7512
7509 See the machine include files in the :term:`Source Directory` 7513 See the machine include files in the `Source
7510 for these features. 7514 Directory <#source-directory>`__ for these features.
7511 7515
7512 UBOOT_CONFIG 7516 UBOOT_CONFIG
7513 Configures the :term:`UBOOT_MACHINE` and can 7517 Configures the ```UBOOT_MACHINE`` <#var-UBOOT_MACHINE>`__ and can
7514 also define :term:`IMAGE_FSTYPES` for individual 7518 also define ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ for individual
7515 cases. 7519 cases.
7516 7520
7517 Following is an example from the ``meta-fsl-arm`` layer. UBOOT_CONFIG 7521 Following is an example from the ``meta-fsl-arm`` layer. UBOOT_CONFIG
@@ -7525,7 +7529,7 @@ system and gives an overview of their function and contents.
7525 "sdcard" specifies the ``IMAGE_FSTYPES`` to use for the U-boot image. 7529 "sdcard" specifies the ``IMAGE_FSTYPES`` to use for the U-boot image.
7526 7530
7527 For more information on how the ``UBOOT_CONFIG`` is handled, see the 7531 For more information on how the ``UBOOT_CONFIG`` is handled, see the
7528 ```uboot-config`http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/classes/uboot-config.bbclass 7532 ```uboot-config`` <http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/classes/uboot-config.bbclass>`__
7529 class. 7533 class.
7530 7534
7531 UBOOT_ENTRYPOINT 7535 UBOOT_ENTRYPOINT
@@ -7607,10 +7611,10 @@ system and gives an overview of their function and contents.
7607 UNKNOWN_CONFIGURE_WHITELIST 7611 UNKNOWN_CONFIGURE_WHITELIST
7608 Specifies a list of options that, if reported by the configure script 7612 Specifies a list of options that, if reported by the configure script
7609 as being invalid, should not generate a warning during the 7613 as being invalid, should not generate a warning during the
7610 :ref:`ref-tasks-configure` task. Normally, invalid 7614 ```do_configure`` <#ref-tasks-configure>`__ task. Normally, invalid
7611 configure options are simply not passed to the configure script (e.g. 7615 configure options are simply not passed to the configure script (e.g.
7612 should be removed from :term:`EXTRA_OECONF` or 7616 should be removed from ```EXTRA_OECONF`` <#var-EXTRA_OECONF>`__ or
7613 :term:`PACKAGECONFIG_CONFARGS`). 7617 ```PACKAGECONFIG_CONFARGS`` <#var-PACKAGECONFIG_CONFARGS>`__).
7614 However, common options, for example, exist that are passed to all 7618 However, common options, for example, exist that are passed to all
7615 configure scripts at a class level that might not be valid for some 7619 configure scripts at a class level that might not be valid for some
7616 configure scripts. It follows that no benefit exists in seeing a 7620 configure scripts. It follows that no benefit exists in seeing a
@@ -7619,12 +7623,12 @@ system and gives an overview of their function and contents.
7619 7623
7620 The configure arguments check that uses 7624 The configure arguments check that uses
7621 ``UNKNOWN_CONFIGURE_WHITELIST`` is part of the 7625 ``UNKNOWN_CONFIGURE_WHITELIST`` is part of the
7622 :ref:`insane <ref-classes-insane>` class and is only enabled if the 7626 ```insane`` <#ref-classes-insane>`__ class and is only enabled if the
7623 recipe inherits the :ref:`autotools <ref-classes-autotools>` class. 7627 recipe inherits the ```autotools`` <#ref-classes-autotools>`__ class.
7624 7628
7625 UPDATERCPN 7629 UPDATERCPN
7626 For recipes inheriting the 7630 For recipes inheriting the
7627 :ref:`update-rc.d <ref-classes-update-rc.d>` class, ``UPDATERCPN`` 7631 ```update-rc.d`` <#ref-classes-update-rc.d>`__ class, ``UPDATERCPN``
7628 specifies the package that contains the initscript that is enabled. 7632 specifies the package that contains the initscript that is enabled.
7629 7633
7630 The default value is "${PN}". Given that almost all recipes that 7634 The default value is "${PN}". Given that almost all recipes that
@@ -7647,7 +7651,7 @@ system and gives an overview of their function and contents.
7647 Use the ``UPSTREAM_CHECK_REGEX`` variable to specify a different 7651 Use the ``UPSTREAM_CHECK_REGEX`` variable to specify a different
7648 regular expression instead of the default one when the package 7652 regular expression instead of the default one when the package
7649 checking system is parsing the page found using 7653 checking system is parsing the page found using
7650 :term:`UPSTREAM_CHECK_URI`. 7654 ```UPSTREAM_CHECK_URI`` <#var-UPSTREAM_CHECK_URI>`__.
7651 UPSTREAM_CHECK_REGEX = "package_regex" 7655 UPSTREAM_CHECK_REGEX = "package_regex"
7652 7656
7653 UPSTREAM_CHECK_URI 7657 UPSTREAM_CHECK_URI
@@ -7692,14 +7696,15 @@ system and gives an overview of their function and contents.
7692 7696
7693 The default list is set in your ``local.conf`` file: USER_CLASSES ?= 7697 The default list is set in your ``local.conf`` file: USER_CLASSES ?=
7694 "buildstats image-mklibs image-prelink" For more information, see 7698 "buildstats image-mklibs image-prelink" For more information, see
7695 ``meta-poky/conf/local.conf.sample`` in the :term:`Source Directory`. 7699 ``meta-poky/conf/local.conf.sample`` in the `Source
7700 Directory <#source-directory>`__.
7696 7701
7697 USERADD_ERROR_DYNAMIC 7702 USERADD_ERROR_DYNAMIC
7698 If set to ``error``, forces the OpenEmbedded build system to produce 7703 If set to ``error``, forces the OpenEmbedded build system to produce
7699 an error if the user identification (``uid``) and group 7704 an error if the user identification (``uid``) and group
7700 identification (``gid``) values are not defined in any of the files 7705 identification (``gid``) values are not defined in any of the files
7701 listed in :term:`USERADD_UID_TABLES` and 7706 listed in ```USERADD_UID_TABLES`` <#var-USERADD_UID_TABLES>`__ and
7702 :term:`USERADD_GID_TABLES`. If set to 7707 ```USERADD_GID_TABLES`` <#var-USERADD_GID_TABLES>`__. If set to
7703 ``warn``, a warning will be issued instead. 7708 ``warn``, a warning will be issued instead.
7704 7709
7705 The default behavior for the build system is to dynamically apply 7710 The default behavior for the build system is to dynamically apply
@@ -7710,9 +7715,9 @@ system and gives an overview of their function and contents.
7710 file as follows: USERADD_ERROR_DYNAMIC = "error" Overriding the 7715 file as follows: USERADD_ERROR_DYNAMIC = "error" Overriding the
7711 default behavior implies you are going to also take steps to set 7716 default behavior implies you are going to also take steps to set
7712 static ``uid`` and ``gid`` values through use of the 7717 static ``uid`` and ``gid`` values through use of the
7713 :term:`USERADDEXTENSION`, 7718 ```USERADDEXTENSION`` <#var-USERADDEXTENSION>`__,
7714 :term:`USERADD_UID_TABLES`, and 7719 ```USERADD_UID_TABLES`` <#var-USERADD_UID_TABLES>`__, and
7715 :term:`USERADD_GID_TABLES` variables. 7720 ```USERADD_GID_TABLES`` <#var-USERADD_GID_TABLES>`__ variables.
7716 7721
7717 .. note:: 7722 .. note::
7718 7723
@@ -7740,7 +7745,7 @@ system and gives an overview of their function and contents.
7740 adds a group to the system during package installation. 7745 adds a group to the system during package installation.
7741 7746
7742 When applying static group identification (``gid``) values, the 7747 When applying static group identification (``gid``) values, the
7743 OpenEmbedded build system looks in :term:`BBPATH` for a 7748 OpenEmbedded build system looks in ```BBPATH`` <#var-BBPATH>`__ for a
7744 ``files/group`` file and then applies those ``uid`` values. Set the 7749 ``files/group`` file and then applies those ``uid`` values. Set the
7745 variable as follows in your ``local.conf`` file: USERADD_GID_TABLES = 7750 variable as follows in your ``local.conf`` file: USERADD_GID_TABLES =
7746 "files/group" 7751 "files/group"
@@ -7755,7 +7760,7 @@ system and gives an overview of their function and contents.
7755 values. 7760 values.
7756 7761
7757 USERADD_PACKAGES 7762 USERADD_PACKAGES
7758 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 7763 When inheriting the ```useradd`` <#ref-classes-useradd>`__ class,
7759 this variable specifies the individual packages within the recipe 7764 this variable specifies the individual packages within the recipe
7760 that require users and/or groups to be added. 7765 that require users and/or groups to be added.
7761 7766
@@ -7776,7 +7781,7 @@ system and gives an overview of their function and contents.
7776 variables. 7781 variables.
7777 7782
7778 USERADD_PARAM 7783 USERADD_PARAM
7779 When inheriting the :ref:`useradd <ref-classes-useradd>` class, 7784 When inheriting the ```useradd`` <#ref-classes-useradd>`__ class,
7780 this variable specifies for a package what parameters should pass to 7785 this variable specifies for a package what parameters should pass to
7781 the ``useradd`` command if you add a user to the system when the 7786 the ``useradd`` command if you add a user to the system when the
7782 package is installed. 7787 package is installed.
@@ -7785,7 +7790,7 @@ system and gives an overview of their function and contents.
7785 "--system --home ${localstatedir}/lib/dbus \\ --no-create-home 7790 "--system --home ${localstatedir}/lib/dbus \\ --no-create-home
7786 --shell /bin/false \\ --user-group messagebus" For information on the 7791 --shell /bin/false \\ --user-group messagebus" For information on the
7787 standard Linux shell command ``useradd``, see 7792 standard Linux shell command ``useradd``, see
7788 http://linux.die.net/man/8/useradd. 7793 ` <http://linux.die.net/man/8/useradd>`__.
7789 7794
7790 USERADD_UID_TABLES 7795 USERADD_UID_TABLES
7791 Specifies a password file to use for obtaining static user 7796 Specifies a password file to use for obtaining static user
@@ -7793,7 +7798,7 @@ system and gives an overview of their function and contents.
7793 adds a user to the system during package installation. 7798 adds a user to the system during package installation.
7794 7799
7795 When applying static user identification (``uid``) values, the 7800 When applying static user identification (``uid``) values, the
7796 OpenEmbedded build system looks in :term:`BBPATH` for a 7801 OpenEmbedded build system looks in ```BBPATH`` <#var-BBPATH>`__ for a
7797 ``files/passwd`` file and then applies those ``uid`` values. Set the 7802 ``files/passwd`` file and then applies those ``uid`` values. Set the
7798 variable as follows in your ``local.conf`` file: USERADD_UID_TABLES = 7803 variable as follows in your ``local.conf`` file: USERADD_UID_TABLES =
7799 "files/passwd" 7804 "files/passwd"
@@ -7810,7 +7815,7 @@ system and gives an overview of their function and contents.
7810 USERADDEXTENSION 7815 USERADDEXTENSION
7811 When set to "useradd-staticids", causes the OpenEmbedded build system 7816 When set to "useradd-staticids", causes the OpenEmbedded build system
7812 to base all user and group additions on a static ``passwd`` and 7817 to base all user and group additions on a static ``passwd`` and
7813 ``group`` files found in :term:`BBPATH`. 7818 ``group`` files found in ```BBPATH`` <#var-BBPATH>`__.
7814 7819
7815 To use static user identification (``uid``) and group identification 7820 To use static user identification (``uid``) and group identification
7816 (``gid``) values, set the variable as follows in your ``local.conf`` 7821 (``gid``) values, set the variable as follows in your ``local.conf``
@@ -7828,10 +7833,10 @@ system and gives an overview of their function and contents.
7828 7833
7829 If you use static ``uid`` and ``gid`` information, you must also 7834 If you use static ``uid`` and ``gid`` information, you must also
7830 specify the ``files/passwd`` and ``files/group`` files by setting the 7835 specify the ``files/passwd`` and ``files/group`` files by setting the
7831 :term:`USERADD_UID_TABLES` and 7836 ```USERADD_UID_TABLES`` <#var-USERADD_UID_TABLES>`__ and
7832 :term:`USERADD_GID_TABLES` variables. 7837 ```USERADD_GID_TABLES`` <#var-USERADD_GID_TABLES>`__ variables.
7833 Additionally, you should also set the 7838 Additionally, you should also set the
7834 :term:`USERADD_ERROR_DYNAMIC` variable. 7839 ```USERADD_ERROR_DYNAMIC`` <#var-USERADD_ERROR_DYNAMIC>`__ variable.
7835 7840
7836 VOLATILE_LOG_DIR 7841 VOLATILE_LOG_DIR
7837 Specifies the persistence of the target's ``/var/log`` directory, 7842 Specifies the persistence of the target's ``/var/log`` directory,
@@ -7846,18 +7851,18 @@ system and gives an overview of their function and contents.
7846 warnings by the OpenEmbedded build system. You set this variable in 7851 warnings by the OpenEmbedded build system. You set this variable in
7847 your distribution configuration file. For a list of the checks you 7852 your distribution configuration file. For a list of the checks you
7848 can control with this variable, see the 7853 can control with this variable, see the
7849 ":ref:`insane.bbclass <ref-classes-insane>`" section. 7854 "```insane.bbclass`` <#ref-classes-insane>`__" section.
7850 7855
7851 WKS_FILE_DEPENDS 7856 WKS_FILE_DEPENDS
7852 When placed in the recipe that builds your image, this variable lists 7857 When placed in the recipe that builds your image, this variable lists
7853 build-time dependencies. The ``WKS_FILE_DEPENDS`` variable is only 7858 build-time dependencies. The ``WKS_FILE_DEPENDS`` variable is only
7854 applicable when Wic images are active (i.e. when 7859 applicable when Wic images are active (i.e. when
7855 :term:`IMAGE_FSTYPES` contains entries related 7860 ```IMAGE_FSTYPES`` <#var-IMAGE_FSTYPES>`__ contains entries related
7856 to Wic). If your recipe does not create Wic images, the variable has 7861 to Wic). If your recipe does not create Wic images, the variable has
7857 no effect. 7862 no effect.
7858 7863
7859 The ``WKS_FILE_DEPENDS`` variable is similar to the 7864 The ``WKS_FILE_DEPENDS`` variable is similar to the
7860 :term:`DEPENDS` variable. When you use the variable in 7865 ```DEPENDS`` <#var-DEPENDS>`__ variable. When you use the variable in
7861 your recipe that builds the Wic image, dependencies you list in the 7866 your recipe that builds the Wic image, dependencies you list in the
7862 ``WIC_FILE_DEPENDS`` variable are added to the ``DEPENDS`` variable. 7867 ``WIC_FILE_DEPENDS`` variable are added to the ``DEPENDS`` variable.
7863 7868
@@ -7881,7 +7886,7 @@ system and gives an overview of their function and contents.
7881 WORKDIR 7886 WORKDIR
7882 The pathname of the work directory in which the OpenEmbedded build 7887 The pathname of the work directory in which the OpenEmbedded build
7883 system builds a recipe. This directory is located within the 7888 system builds a recipe. This directory is located within the
7884 :term:`TMPDIR` directory structure and is specific to 7889 ```TMPDIR`` <#var-TMPDIR>`__ directory structure and is specific to
7885 the recipe being built and the system for which it is being built. 7890 the recipe being built and the system for which it is being built.
7886 7891
7887 The ``WORKDIR`` directory is defined as follows: 7892 The ``WORKDIR`` directory is defined as follows:
@@ -7917,7 +7922,7 @@ system and gives an overview of their function and contents.
7917 server and drivers for the current machine, assuming your image 7922 server and drivers for the current machine, assuming your image
7918 directly includes ``packagegroup-core-x11-xserver`` or, perhaps 7923 directly includes ``packagegroup-core-x11-xserver`` or, perhaps
7919 indirectly, includes "x11-base" in 7924 indirectly, includes "x11-base" in
7920 :term:`IMAGE_FEATURES`. 7925 ```IMAGE_FEATURES`` <#var-IMAGE_FEATURES>`__.
7921 7926
7922 The default value of ``XSERVER``, if not specified in the machine 7927 The default value of ``XSERVER``, if not specified in the machine
7923 configuration, is "xserver-xorg xf86-video-fbdev xf86-input-evdev". 7928 configuration, is "xserver-xorg xf86-video-fbdev xf86-input-evdev".