summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-23 00:38:08 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-25 23:47:02 +0100
commit8110806b1b5534ae830a4fdd1a5293c86a712d0b (patch)
treecd7e48816a8fc10a27f3873d4762a041469447a4
parent4c734df1df3c19b0dabb9da5b4dc86b966a0d71c (diff)
downloadopenembedded-core-contrib-8110806b1b5534ae830a4fdd1a5293c86a712d0b.tar.gz
openembedded-core-contrib-8110806b1b5534ae830a4fdd1a5293c86a712d0b.tar.bz2
openembedded-core-contrib-8110806b1b5534ae830a4fdd1a5293c86a712d0b.zip
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 <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/sstate.bbclass3
-rw-r--r--meta/recipes-core/meta/meta-extsdk-toolchain.bb13
2 files changed, 16 insertions, 0 deletions
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.