From: Richard Purdie Date: Mon, 25 Jul 2022 11:56:31 +0000 (+0100) Subject: populate_sdk: Add SDK toolchain language selection support X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~3486 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0026b5687147410e4c7140ca5133089ebb51d9d4;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git populate_sdk: Add SDK toolchain language selection support Add a new variable SDK_TOOLCHAIN_LANGS to allow different language support to be selected within SDKs. Initially supported options are rust and go. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 16f929bf596..bbca4cedadb 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -43,9 +43,22 @@ B:task-populate-sdk = "${SDK_DIR}" SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" -TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}" +SDK_TOOLCHAIN_LANGS ??= "" +SDK_TOOLCHAIN_LANGS:remove:mingw32 = "rust" + +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)} \ +" TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= "" -TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} target-sdk-provides-dummy" +TOOLCHAIN_TARGET_TASK ?= " \ + ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ + ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \ + ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \ + target-sdk-provides-dummy \ +" TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"