migration-5.2: add virtual provider change

The commit 4ccc3bc8266c ("classes/recipes: Switch virtual/XXX-gcc to
virtual/cross-cc (and c++/binutils)") in OE-Core changes the
virtual/XXX-gcc to virtual/cross-cc (and c++/binutils) syntax. Add it to
the migration manual.

(From yocto-docs rev: 6eda443c7fcfeecebd6b44b96a1587c4bb093a34)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Antonin Godard 2025-02-07 09:27:44 +01:00 committed by Richard Purdie
parent 8c49710b8d
commit cf616cbae7

View File

@ -105,6 +105,41 @@ some obscure bugs.
Any logic based on ``BB_CURRENT_MC`` equalling to ``default`` by default should
be changed to be equal to an empty string.
Virtual toolchain provider changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Support was added for virtual providers on a per-recipe basis for specific
key toolchain providers listed in ``BB_VIRTUAL_RECIPE_PROVIDERS``. As part of
that support, the ``cross`` providers were simplified to remove the triplet
prefix (:term:`TARGET_PREFIX`, :term:`SDK_PREFIX` and :term:`HOST_PREFIX`) and
generalise the naming. Here are examples of how references to these variables
can be changed to use the new ``cross`` syntax::
virtual/${HOST_PREFIX}binutils -> virtual/cross-binutils
virtual/${TARGET_PREFIX}binutils -> virtual/cross-binutils
virtual/${HOST_PREFIX}gcc -> virtual/cross-cc
virtual/${TARGET_PREFIX}gcc -> virtual/cross-cc
virtual/${SDK_PREFIX}gcc -> virtual/nativesdk-cross-cc
virtual/${HOST_PREFIX}compilerlibs -> virtual/compilerlibs
virtual/${TARGET_PREFIX}compilerlibs -> virtual/compilerlibs
virtual/nativesdk-${SDK_PREFIX}compilerlibs -> virtual/nativesdk-compilerlibs
virtual/${TARGET_PREFIX}g++ -> virtual/cross-c++
A :term:`PREFERRED_PROVIDER` assignment can be transformed as follows::
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils -> PREFERRED_PROVIDER_virtual/cross-binutils
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils -> PREFERRED_PROVIDER_virtual/cross-binutils:class-nativesdk
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ -> PREFERRED_PROVIDER_virtual/nativesdk-cross-c++
The above examples should cover most cases, but there might be situations where
replacing is not as straightforward. For more examples, see the commit
:oe_git:`"classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and
c++/binutils)" </openembedded-core/commit/?id=4ccc3bc8266c>` in
:term:`OpenEmbedded-Core (OE-Core)`.
Recipe changes
~~~~~~~~~~~~~~