diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-01-13 17:55:52 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-01-21 23:09:34 +0000 |
| commit | 6b1e65b7d6ce163b9cd9515e915074248b718979 (patch) | |
| tree | 2acfdefaee97838ff7ad30dff60bfdf4103f05b6 /meta | |
| parent | 90e0a0f7f4536e1aeb311ab2b061be71b4129e4e (diff) | |
| download | poky-6b1e65b7d6ce163b9cd9515e915074248b718979.tar.gz | |
base: Switch virtual/cross-XXX to be under recipe specific providers
Currently, providers are set on a global config basis. This change allows
for a select set of providers to be configured using BB_RECIPE_VIRTUAL_PROVIDERS
on a per recipe basis. This would allow for the selection of virtual/cross-cc
as gcc or clang for example.
The PROVIDERS are removed from the recipes so that if a version of the
dependency accidentally slips through, the build will fail and the user
can correct the issue.
(From OE-Core rev: 6eeab1a5d7f23917b94c130e417d59afb757b546)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/classes/multilib_global.bbclass | 6 | ||||
| -rw-r--r-- | meta/conf/distro/include/default-providers.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils-cross.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils-crosssdk_2.43.1.bb | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-cross.inc | 1 |
5 files changed, 7 insertions, 4 deletions
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index c95c3a586d..c1d6de100c 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass | |||
| @@ -155,6 +155,12 @@ def preferred_ml_updates(d): | |||
| 155 | extramp.append(translate_provide(pref, p)) | 155 | extramp.append(translate_provide(pref, p)) |
| 156 | d.setVar("BB_MULTI_PROVIDER_ALLOWED", " ".join(mp + extramp)) | 156 | d.setVar("BB_MULTI_PROVIDER_ALLOWED", " ".join(mp + extramp)) |
| 157 | 157 | ||
| 158 | virtprovs = d.getVar("BB_RECIPE_VIRTUAL_PROVIDERS").split() | ||
| 159 | for p in virtprovs.copy(): | ||
| 160 | for pref in prefixes: | ||
| 161 | virtprovs.append(translate_provide(pref, p)) | ||
| 162 | d.setVar("BB_RECIPE_VIRTUAL_PROVIDERS", " ".join(virtprovs)) | ||
| 163 | |||
| 158 | abisafe = (d.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split() | 164 | abisafe = (d.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split() |
| 159 | extras = [] | 165 | extras = [] |
| 160 | for p in prefixes: | 166 | for p in prefixes: |
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc index 506d77811f..d3eefb754b 100644 --- a/meta/conf/distro/include/default-providers.inc +++ b/meta/conf/distro/include/default-providers.inc | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Default virtual providers | 2 | # Default virtual providers |
| 3 | # | 3 | # |
| 4 | BB_RECIPE_VIRTUAL_PROVIDERS = "virtual/cross-cc virtual/cross-c++ virtual/cross-binutils virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++ virtual/nativesdk-cross-binutils" | ||
| 4 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | 5 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" |
| 5 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" | 6 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" |
| 6 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | 7 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" |
diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc index b908393c1f..9c371e7e13 100644 --- a/meta/recipes-devtools/binutils/binutils-cross.inc +++ b/meta/recipes-devtools/binutils/binutils-cross.inc | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | inherit cross | 1 | inherit cross |
| 2 | PROVIDES = "virtual/cross-binutils" | ||
| 3 | 2 | ||
| 4 | PN = "binutils-cross-${TARGET_ARCH}" | 3 | PN = "binutils-cross-${TARGET_ARCH}" |
| 5 | BPN = "binutils" | 4 | BPN = "binutils" |
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.43.1.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.43.1.bb index b8c8ba9f58..6752659304 100644 --- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.43.1.bb +++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.43.1.bb | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | require binutils-cross_${PV}.bb | 1 | require binutils-cross_${PV}.bb |
| 2 | 2 | ||
| 3 | PROVIDES = "virtual/nativesdk-cross-binutils" | ||
| 4 | |||
| 5 | inherit crosssdk | 3 | inherit crosssdk |
| 6 | 4 | ||
| 7 | PN = "binutils-crosssdk-${SDK_SYS}" | 5 | PN = "binutils-crosssdk-${SDK_SYS}" |
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index 4549f92c2f..7afdf58577 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc | |||
| @@ -3,7 +3,6 @@ inherit cross | |||
| 3 | INHIBIT_DEFAULT_DEPS = "1" | 3 | INHIBIT_DEFAULT_DEPS = "1" |
| 4 | EXTRADEPENDS = "" | 4 | EXTRADEPENDS = "" |
| 5 | DEPENDS = "virtual/cross-binutils ${EXTRADEPENDS} ${NATIVEDEPS}" | 5 | DEPENDS = "virtual/cross-binutils ${EXTRADEPENDS} ${NATIVEDEPS}" |
| 6 | PROVIDES = "virtual/cross-cc virtual/c++" | ||
| 7 | python () { | 6 | python () { |
| 8 | if d.getVar("TARGET_OS").startswith("linux"): | 7 | if d.getVar("TARGET_OS").startswith("linux"): |
| 9 | d.setVar("EXTRADEPENDS", "linux-libc-headers") | 8 | d.setVar("EXTRADEPENDS", "linux-libc-headers") |
