From: Paul Eggleton Date: Fri, 22 Jul 2016 12:38:08 +0000 (+1200) Subject: meta-extsdk-toolchain: add meta-recipe to install toolchain into eSDK X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~24879 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8110806b1b5534ae830a4fdd1a5293c86a712d0b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index d706d755811..249692896aa 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 00000000000..9bff22053cc --- /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.