diff options
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.xml | 60 |
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 |