From 8110806b1b5534ae830a4fdd1a5293c86a712d0b Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Sat, 23 Jul 2016 00:38:08 +1200 Subject: meta-extsdk-toolchain: add meta-recipe to install toolchain into eSDK Add a meta-recipe to bring the toolchain into the extensible SDK. This was modelled on meta-ide-support but some adjustments were needed to the dependency validation function in sstate.bbclass to ensure that all of the toolchain gets installed into the sysroot. With this, after installing a minimal eSDK you only need to run the following after sourcing the environment setup script to get the toolchain: devtool sdk-install meta-extsdk-toolchain Addresses [YOCTO #9257]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/sstate.bbclass | 3 +++ meta/recipes-core/meta/meta-extsdk-toolchain.bb | 13 +++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 meta/recipes-core/meta/meta-extsdk-toolchain.bb diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index d706d75581..249692896a 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -927,6 +927,9 @@ def setscene_depvalid(task, taskdependees, notneeded, d): # Nothing need depend on libc-initial/gcc-cross-initial if "-initial" in taskdependees[task][0]: continue + # For meta-extsdk-toolchain we want all sysroot dependencies + if taskdependees[dep][0] == 'meta-extsdk-toolchain': + return False # Native/Cross populate_sysroot need their dependencies if isNativeCross(taskdependees[task][0]) and isNativeCross(taskdependees[dep][0]): return False diff --git a/meta/recipes-core/meta/meta-extsdk-toolchain.bb b/meta/recipes-core/meta/meta-extsdk-toolchain.bb new file mode 100644 index 0000000000..9bff22053c --- /dev/null +++ b/meta/recipes-core/meta/meta-extsdk-toolchain.bb @@ -0,0 +1,13 @@ +SUMMARY = "Extensible SDK toolchain meta-recipe" +DESCRIPTION = "Meta-recipe for ensuring the build directory contains all appropriate toolchain packages for using an IDE" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native" + +do_populate_sysroot[deptask] = "do_populate_sysroot" + +# NOTE: There is logic specific to this recipe in setscene_depvalid() +# within sstate.bbclass, so if you copy or rename this and expect the same +# functionality you'll need to modify that as well. -- cgit 1.2.3-korg