diff options
Diffstat (limited to 'bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst')
-rw-r--r-- | bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index 615c9f9ce1..77c107aff6 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst | |||
@@ -1650,10 +1650,15 @@ user interfaces: | |||
1650 | Variants - Class Extension Mechanism | 1650 | Variants - Class Extension Mechanism |
1651 | ==================================== | 1651 | ==================================== |
1652 | 1652 | ||
1653 | BitBake supports two features that facilitate creating from a single | 1653 | BitBake supports multiple incarnations of a recipe file via the |
1654 | recipe file multiple incarnations of that recipe file where all | 1654 | :term:`BBCLASSEXTEND` variable. |
1655 | incarnations are buildable. These features are enabled through the | 1655 | |
1656 | :term:`BBCLASSEXTEND` and :term:`BBVERSIONS` variables. | 1656 | The :term:`BBCLASSEXTEND` variable is a space separated list of classes used |
1657 | to "extend" the recipe for each variant. Here is an example that results in a | ||
1658 | second incarnation of the current recipe being available. This second | ||
1659 | incarnation will have the "native" class inherited. :: | ||
1660 | |||
1661 | BBCLASSEXTEND = "native" | ||
1657 | 1662 | ||
1658 | .. note:: | 1663 | .. note:: |
1659 | 1664 | ||
@@ -1663,34 +1668,6 @@ incarnations are buildable. These features are enabled through the | |||
1663 | class. For specific examples, see the OE-Core native , nativesdk , and | 1668 | class. For specific examples, see the OE-Core native , nativesdk , and |
1664 | multilib classes. | 1669 | multilib classes. |
1665 | 1670 | ||
1666 | - ``BBCLASSEXTEND``: This variable is a space separated list of | ||
1667 | classes used to "extend" the recipe for each variant. Here is an | ||
1668 | example that results in a second incarnation of the current recipe | ||
1669 | being available. This second incarnation will have the "native" class | ||
1670 | inherited. :: | ||
1671 | |||
1672 | BBCLASSEXTEND = "native" | ||
1673 | |||
1674 | - ``BBVERSIONS``: This variable allows a single recipe to build | ||
1675 | multiple versions of a project from a single recipe file. You can | ||
1676 | also specify conditional metadata (using the | ||
1677 | :term:`OVERRIDES` mechanism) for a single | ||
1678 | version, or an optionally named range of versions. Here is an | ||
1679 | example:: | ||
1680 | |||
1681 | BBVERSIONS = "1.0 2.0 git" | ||
1682 | SRC_URI_git = "git://someurl/somepath.git" | ||
1683 | |||
1684 | BBVERSIONS = "1.0.[0-6]:1.0.0+ 1.0.[7-9]:1.0.7+" | ||
1685 | SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;patch=1" | ||
1686 | |||
1687 | The name of the range defaults to the original version of the recipe. For | ||
1688 | example, in OpenEmbedded, the recipe file ``foo_1.0.0+.bb`` creates a default | ||
1689 | name range of ``1.0.0+``. This is useful because the range name is not only | ||
1690 | placed into overrides, but it is also made available for the metadata to use | ||
1691 | in the variable that defines the base recipe versions for use in ``file://`` | ||
1692 | search paths (:term:`FILESPATH`). | ||
1693 | |||
1694 | Dependencies | 1671 | Dependencies |
1695 | ============ | 1672 | ============ |
1696 | 1673 | ||