summaryrefslogtreecommitdiffstats
path: root/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
diff options
context:
space:
mode:
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.rst41
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:
1650Variants - Class Extension Mechanism 1650Variants - Class Extension Mechanism
1651==================================== 1651====================================
1652 1652
1653BitBake supports two features that facilitate creating from a single 1653BitBake supports multiple incarnations of a recipe file via the
1654recipe file multiple incarnations of that recipe file where all 1654:term:`BBCLASSEXTEND` variable.
1655incarnations are buildable. These features are enabled through the 1655
1656:term:`BBCLASSEXTEND` and :term:`BBVERSIONS` variables. 1656The :term:`BBCLASSEXTEND` variable is a space separated list of classes used
1657to "extend" the recipe for each variant. Here is an example that results in a
1658second incarnation of the current recipe being available. This second
1659incarnation 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
1694Dependencies 1671Dependencies
1695============ 1672============
1696 1673