summaryrefslogtreecommitdiff
path: root/import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml')
-rw-r--r--import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml60
1 files changed, 48 insertions, 12 deletions
diff --git a/import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index 1d1e5b35f0..0cfa53d02b 100644
--- a/import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/import-layers/yocto-poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -669,7 +669,7 @@
<literallayout class='monospaced'>
DEPENDS = "glibc ncurses"
OVERRIDES = "machine:local"
- DEPENDS_append_machine = "libmad"
+ DEPENDS_append_machine = " libmad"
</literallayout>
In this example, <filename>DEPENDS</filename> becomes
"glibc ncurses libmad".
@@ -899,11 +899,12 @@
<para>
The <filename>inherit</filename> directive is a rudimentary
- means of specifying what classes of functionality your
- recipes require.
+ means of specifying functionality contained in class files
+ that your recipes require.
For example, you can easily abstract out the tasks involved in
building a package that uses Autoconf and Automake and put
- those tasks into a class file that can be used by your recipe.
+ those tasks into a class file and then have your recipe
+ inherit that class file.
</para>
<para>
@@ -922,13 +923,24 @@
inherited class within your recipe by doing so
after the "inherit" statement.
</note>
+ If you want to use the directive to inherit
+ multiple classes, separate them with spaces.
+ The following example shows how to inherit both the
+ <filename>buildhistory</filename> and <filename>rm_work</filename>
+ classes:
+ <literallayout class='monospaced'>
+ inherit buildhistory rm_work
+ </literallayout>
</para>
<para>
- If necessary, it is possible to inherit a class
- conditionally by using
- a variable expression after the <filename>inherit</filename>
- statement.
+ An advantage with the inherit directive as compared to both
+ the
+ <link linkend='include-directive'>include</link> and
+ <link linkend='require-inclusion'>require</link> directives
+ is that you can inherit class files conditionally.
+ You can accomplish this by using a variable expression
+ after the <filename>inherit</filename> statement.
Here is an example:
<literallayout class='monospaced'>
inherit ${VARNAME}
@@ -985,6 +997,17 @@
</para>
<para>
+ The include directive is a more generic method of including
+ functionality as compared to the
+ <link linkend='inherit-directive'>inherit</link> directive,
+ which is restricted to class (i.e. <filename>.bbclass</filename>)
+ files.
+ The include directive is applicable for any other kind of
+ shared or encapsulated functionality or configuration that
+ does not suit a <filename>.bbclass</filename> file.
+ </para>
+
+ <para>
As an example, suppose you needed a recipe to include some
self-test definitions:
<literallayout class='monospaced'>
@@ -1018,6 +1041,18 @@
</para>
<para>
+ The require directive, like the include directive previously
+ described, is a more generic method of including
+ functionality as compared to the
+ <link linkend='inherit-directive'>inherit</link> directive,
+ which is restricted to class (i.e. <filename>.bbclass</filename>)
+ files.
+ The require directive is applicable for any other kind of
+ shared or encapsulated functionality or configuration that
+ does not suit a <filename>.bbclass</filename> file.
+ </para>
+
+ <para>
Similar to how BitBake handles
<link linkend='include-directive'><filename>include</filename></link>,
if the path specified
@@ -1049,8 +1084,9 @@
<para>
When creating a configuration file (<filename>.conf</filename>),
- you can use the <filename>INHERIT</filename> directive to
- inherit a class.
+ you can use the
+ <link linkend='var-INHERIT'><filename>INHERIT</filename></link>
+ configuration directive to inherit a class.
BitBake only supports this directive when used within
a configuration file.
</para>
@@ -1083,7 +1119,7 @@
<filename>autotools</filename> and <filename>pkgconfig</filename>
classes:
<literallayout class='monospaced'>
- inherit autotools pkgconfig
+ INHERIT += "autotools pkgconfig"
</literallayout>
</para>
</section>
@@ -2029,7 +2065,7 @@
before any tasks are executed so would be in the global
configuration datastore namespace.
No recipe-specific metadata exists in that namespace.
- The "BuildStarted" and "buildCompleted" events also run in
+ The "BuildStarted" and "BuildCompleted" events also run in
the main cooker/server process rather than any worker context.
Thus, any changes made to the datastore would be seen by other
cooker/server events within the current build but not seen