From: Trevor Woerner Date: Fri, 7 Aug 2026 00:17:44 +0000 (-0400) Subject: sdk: fold SDK_TOOLCHAIN_LANGS into SDK_FEATURES X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=933981a21e58dffce6dd2b400f2690444320d7d7;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git sdk: fold SDK_TOOLCHAIN_LANGS into SDK_FEATURES Selecting the toolchain languages for an SDK is the same kind of choice as selecting any other optional SDK content, so it does not need a list of its own. Make "go" and "rust" values of SDK_FEATURES and mark SDK_TOOLCHAIN_LANGS as renamed so existing settings are reported rather than silently ignored. AI-Generated: codex/claude-opus 5 (xhigh) Signed-off-by: Trevor Woerner Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass index aea4226ec3..b2e6f1cae9 100644 --- a/meta/classes-recipe/populate_sdk_base.bbclass +++ b/meta/classes-recipe/populate_sdk_base.bbclass @@ -59,27 +59,26 @@ B:task-populate-sdk = "${SDK_DIR}" SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" -SDK_TOOLCHAIN_LANGS ??= "" -SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust" +SDK_FEATURES:remove:sdkmingw32 = "rust" # libstd-rs doesn't build for mips n32 with compiler constraint errors -SDK_TOOLCHAIN_LANGS:remove:mipsarchn32 = "rust" +SDK_FEATURES:remove:mipsarchn32 = "rust" # go will not build for x86-x32 or mingw -SDK_TOOLCHAIN_LANGS:remove:linux-gnux32 = "go" -SDK_TOOLCHAIN_LANGS:remove:riscv32 = "go" -SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "go" -SDK_TOOLCHAIN_LANGS:remove:powerpc = "go" +SDK_FEATURES:remove:linux-gnux32 = "go" +SDK_FEATURES:remove:riscv32 = "go" +SDK_FEATURES:remove:sdkmingw32 = "go" +SDK_FEATURES:remove:powerpc = "go" TOOLCHAIN_HOST_TASK ?= " \ nativesdk-packagegroup-sdk-host \ packagegroup-cross-canadian-${MACHINE} \ - ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', 'packagegroup-go-cross-canadian-${MACHINE}', '', d)} \ - ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', 'packagegroup-rust-cross-canadian-${MACHINE}', '', d)} \ + ${@bb.utils.contains('SDK_FEATURES', 'go', 'packagegroup-go-cross-canadian-${MACHINE}', '', d)} \ + ${@bb.utils.contains('SDK_FEATURES', 'rust', 'packagegroup-rust-cross-canadian-${MACHINE}', '', d)} \ " TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= "" TOOLCHAIN_TARGET_TASK ?= " \ ${@oe.utils.multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ - ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', oe.utils.multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ - ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', oe.utils.multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ + ${@bb.utils.contains('SDK_FEATURES', 'go', oe.utils.multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ + ${@bb.utils.contains('SDK_FEATURES', 'rust', oe.utils.multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ target-sdk-provides-dummy \ " TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 6c79bdc55e..41e98ce629 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -128,6 +128,7 @@ BB_RENAMED_VARIABLES[DISTRO_FEATURES_BACKFILL_CONSIDERED] = "DISTRO_FEATURES_OPT BB_RENAMED_VARIABLES[MACHINE_FEATURES_DEFAULT] = "is obsolete, add all default features to MACHINE_FEATURES_DEFAULTS" BB_RENAMED_VARIABLES[MACHINE_FEATURES_BACKFILL] = "is obsolete, add all default features to MACHINE_FEATURES_DEFAULTS" BB_RENAMED_VARIABLES[MACHINE_FEATURES_BACKFILL_CONSIDERED] = "MACHINE_FEATURES_OPTED_OUT" +BB_RENAMED_VARIABLES[SDK_TOOLCHAIN_LANGS] = "SDK_FEATURES" ################################################################## # Architecture-dependent build variables. diff --git a/meta/conf/fragments/yocto-autobuilder/autobuilder.conf b/meta/conf/fragments/yocto-autobuilder/autobuilder.conf index ad874384a9..81adebe5ae 100644 --- a/meta/conf/fragments/yocto-autobuilder/autobuilder.conf +++ b/meta/conf/fragments/yocto-autobuilder/autobuilder.conf @@ -9,7 +9,7 @@ IMAGE_CLASSES += 'testimage' SDK_EXT_TYPE = 'minimal' SDK_INCLUDE_TOOLCHAIN = '1' ESDK_LOCALCONF_REMOVE:append = 'BB_HASHSERVE' -SDK_TOOLCHAIN_LANGS += 'go rust' +SDK_FEATURES += 'go rust' PTEST_EXPECT_FAILURE = '1' YOCTO_MIRRORS = "" diff --git a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb index 4a147c059e..b3010d7674 100644 --- a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb +++ b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb @@ -10,7 +10,7 @@ inherit packagegroup #PACKAGEFUNCS =+ 'generate_sdk_pkgs' -TARGET_TOOLCHAIN_LANGS ??= "${SDK_TOOLCHAIN_LANGS}" +TARGET_TOOLCHAIN_LANGS ??= "${@bb.utils.filter('SDK_FEATURES', 'go rust', d)}" TARGET_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust" # libstd-rs doesn't build for mips n32 with compiler constraint errors TARGET_TOOLCHAIN_LANGS:remove:mipsarchn32 = "rust"