diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-09 10:40:44 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-21 20:57:16 +0100 |
commit | a7c0424467c97b3af8f32f0bdf91ca5394d6787e (patch) | |
tree | 70b81cb0f9e8c29ebe87903a13a9f69658ba4b39 /documentation | |
parent | c91b04679f8bee04b3e41697c6d823fb4a68dec8 (diff) | |
download | poky-a7c0424467c97b3af8f32f0bdf91ca5394d6787e.tar.gz |
ref/dev-manual: Update multiconfig documentation
Multiconfigs now work from layers. Update the documentation to match this change.
Also fix a incorrect reference to different distros working within the same TMPDIR,
that is incorrect.
[YOCTO #13566]
(From yocto-docs rev: cb35f75bfc98c9098f9af64b9dd040b25779da36)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/dev-manual/common-tasks.rst | 31 | ||||
-rw-r--r-- | documentation/ref-manual/variables.rst | 9 |
2 files changed, 21 insertions, 19 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index d7f0b263e7..d17775f654 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
@@ -3704,7 +3704,7 @@ Setting Up and Running a Multiple Configuration Build | |||
3704 | 3704 | ||
3705 | To accomplish a multiple configuration build, you must define each | 3705 | To accomplish a multiple configuration build, you must define each |
3706 | target's configuration separately using a parallel configuration file in | 3706 | target's configuration separately using a parallel configuration file in |
3707 | the :term:`Build Directory`, and you | 3707 | the :term:`Build Directory` or configuration directory within a layer, and you |
3708 | must follow a required file hierarchy. Additionally, you must enable the | 3708 | must follow a required file hierarchy. Additionally, you must enable the |
3709 | multiple configuration builds in your ``local.conf`` file. | 3709 | multiple configuration builds in your ``local.conf`` file. |
3710 | 3710 | ||
@@ -3712,16 +3712,19 @@ Follow these steps to set up and execute multiple configuration builds: | |||
3712 | 3712 | ||
3713 | - *Create Separate Configuration Files*: You need to create a single | 3713 | - *Create Separate Configuration Files*: You need to create a single |
3714 | configuration file for each build target (each multiconfig). | 3714 | configuration file for each build target (each multiconfig). |
3715 | Minimally, each configuration file must define the machine and the | 3715 | The configuration definitions are implementation dependent but often |
3716 | temporary directory BitBake uses for the build. Suggested practice | 3716 | each configuration file will define the machine and the |
3717 | dictates that you do not overlap the temporary directories used | 3717 | temporary directory BitBake uses for the build. Whether the same |
3718 | during the builds. However, it is possible that you can share the | 3718 | temporary directory (:term:`TMPDIR`) can be shared will depend on what is |
3719 | temporary directory | 3719 | similar and what is different between the configurations. Multiple MACHINE |
3720 | (:term:`TMPDIR`). For example, | 3720 | targets can share the same (:term:`TMPDIR`) as long as the rest of the |
3721 | consider a scenario with two different multiconfigs for the same | 3721 | configuration is the same, multiple DISTRO settings would need separate |
3722 | (:term:`TMPDIR`) directories. | ||
3723 | |||
3724 | For example, consider a scenario with two different multiconfigs for the same | ||
3722 | :term:`MACHINE`: "qemux86" built | 3725 | :term:`MACHINE`: "qemux86" built |
3723 | for two distributions such as "poky" and "poky-lsb". In this case, | 3726 | for two distributions such as "poky" and "poky-lsb". In this case, |
3724 | you might want to use the same :term:`TMPDIR`. | 3727 | you would need to use the different :term:`TMPDIR`. |
3725 | 3728 | ||
3726 | Here is an example showing the minimal statements needed in a | 3729 | Here is an example showing the minimal statements needed in a |
3727 | configuration file for a "qemux86" target whose temporary build | 3730 | configuration file for a "qemux86" target whose temporary build |
@@ -3732,18 +3735,16 @@ Follow these steps to set up and execute multiple configuration builds: | |||
3732 | 3735 | ||
3733 | The location for these multiconfig configuration files is specific. | 3736 | The location for these multiconfig configuration files is specific. |
3734 | They must reside in the current build directory in a sub-directory of | 3737 | They must reside in the current build directory in a sub-directory of |
3735 | ``conf`` named ``multiconfig``. Following is an example that defines | 3738 | ``conf`` named ``multiconfig`` or within a layer's ``conf`` directory |
3739 | under a directory named ``multiconfig``. Following is an example that defines | ||
3736 | two configuration files for the "x86" and "arm" multiconfigs: | 3740 | two configuration files for the "x86" and "arm" multiconfigs: |
3737 | 3741 | ||
3738 | .. image:: figures/multiconfig_files.png | 3742 | .. image:: figures/multiconfig_files.png |
3739 | :align: center | 3743 | :align: center |
3740 | :width: 50% | 3744 | :width: 50% |
3741 | 3745 | ||
3742 | The reason for this required file hierarchy is because the :term:`BBPATH` | 3746 | The usual :term:`BBPATH` search path is used to locate multiconfig files in |
3743 | variable is not constructed until the layers are parsed. | 3747 | a similar way to other conf files. |
3744 | Consequently, using the configuration file as a pre-configuration | ||
3745 | file is not possible unless it is located in the current working | ||
3746 | directory. | ||
3747 | 3748 | ||
3748 | - *Add the BitBake Multi-configuration Variable to the Local | 3749 | - *Add the BitBake Multi-configuration Variable to the Local |
3749 | Configuration File*: Use the | 3750 | Configuration File*: Use the |
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index e31f0ed886..375333e7f0 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
@@ -718,10 +718,11 @@ system and gives an overview of their function and contents. | |||
718 | 718 | ||
719 | BBMULTICONFIG = "configA configB configC" | 719 | BBMULTICONFIG = "configA configB configC" |
720 | 720 | ||
721 | Each configuration file you | 721 | Each configuration file you use must reside in a ``multiconfig`` |
722 | use must reside in the :term:`Build Directory` | 722 | subdirectory of a configuration directory within a layer, or |
723 | ``conf/multiconfig`` directory (e.g. | 723 | within the :term:`Build Directory` (e.g. |
724 | ``build_directory/conf/multiconfig/configA.conf``). | 724 | ``build_directory/conf/multiconfig/configA.conf`` or |
725 | ``mylayer/conf/multiconfig/configB.conf``). | ||
725 | 726 | ||
726 | For information on how to use :term:`BBMULTICONFIG` in an environment | 727 | For information on how to use :term:`BBMULTICONFIG` in an environment |
727 | that supports building targets with multiple configurations, see the | 728 | that supports building targets with multiple configurations, see the |