summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-09 10:40:44 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-21 20:57:16 +0100
commita7c0424467c97b3af8f32f0bdf91ca5394d6787e (patch)
tree70b81cb0f9e8c29ebe87903a13a9f69658ba4b39 /documentation
parentc91b04679f8bee04b3e41697c6d823fb4a68dec8 (diff)
downloadpoky-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.rst31
-rw-r--r--documentation/ref-manual/variables.rst9
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
3705To accomplish a multiple configuration build, you must define each 3705To accomplish a multiple configuration build, you must define each
3706target's configuration separately using a parallel configuration file in 3706target's configuration separately using a parallel configuration file in
3707the :term:`Build Directory`, and you 3707the :term:`Build Directory` or configuration directory within a layer, and you
3708must follow a required file hierarchy. Additionally, you must enable the 3708must follow a required file hierarchy. Additionally, you must enable the
3709multiple configuration builds in your ``local.conf`` file. 3709multiple 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