summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/meta/meta-ide-support.bb
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2022-07-22 20:39:12 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-28 11:50:17 +0100
commit0f151cd090c787a687371683302611802186b3fb (patch)
tree22749feb77aba9a47c76bcd984207a25d0859940 /meta/recipes-core/meta/meta-ide-support.bb
parent29c52d7b268e254faa8ed8ca2d1d45275dc484b1 (diff)
downloadpoky-0f151cd090c787a687371683302611802186b3fb.tar.gz
meta-ide-support: adjust to provide (e)SDK experience directly in a yocto build
Specifically: 1. Add a few more toolchain items to DEPENDS so they're available in the recipe sysroot. 2. Use deploy mechanism to place the SDK environment setup file and testdata for testing it into the image deploy directory. 3. Add ability to run SDK tests via the testsdk class and task. This also requires providing a testdata json file. 4. Ensure sysroot population always runs, as those items are mean to be picked up by 'bitbake build-sysroots' into the unified sysroot. (From OE-Core rev: 93f419451cc18b5d31b6fe134ca52a2750fa567d) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/meta/meta-ide-support.bb')
-rw-r--r--meta/recipes-core/meta/meta-ide-support.bb26
1 files changed, 23 insertions, 3 deletions
diff --git a/meta/recipes-core/meta/meta-ide-support.bb b/meta/recipes-core/meta/meta-ide-support.bb
index 39317d50e0..7f349f673d 100644
--- a/meta/recipes-core/meta/meta-ide-support.bb
+++ b/meta/recipes-core/meta/meta-ide-support.bb
@@ -2,11 +2,13 @@ SUMMARY = "Integrated Development Environment support"
2DESCRIPTION = "Meta package for ensuring the build directory contains all appropriate toolchain packages for using an IDE" 2DESCRIPTION = "Meta package for ensuring the build directory contains all appropriate toolchain packages for using an IDE"
3LICENSE = "MIT" 3LICENSE = "MIT"
4 4
5DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native" 5DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native autoconf-native automake-native meson-native intltool-native pkgconfig-native"
6PR = "r3" 6PR = "r3"
7RM_WORK_EXCLUDE += "${PN}" 7RM_WORK_EXCLUDE += "${PN}"
8 8
9inherit toolchain-scripts nopackages 9inherit toolchain-scripts nopackages deploy testsdk
10
11TESTSDK_CLASS_NAME = "oeqa.sdk.testmetaidesupport.TestSDK"
10 12
11do_populate_ide_support () { 13do_populate_ide_support () {
12 toolchain_create_tree_env_script 14 toolchain_create_tree_env_script
@@ -18,4 +20,22 @@ python () {
18 d.appendVarFlag("do_populate_ide_support", "file-checksums", " " + " ".join(searched)) 20 d.appendVarFlag("do_populate_ide_support", "file-checksums", " " + " ".join(searched))
19} 21}
20 22
21addtask populate_ide_support before do_build after do_install 23addtask populate_ide_support before do_deploy after do_install
24
25python do_write_test_data() {
26 from oe.data import export2json
27
28 out_dir = d.getVar('B')
29 testdata_name = os.path.join(out_dir, "%s.testdata.json" % d.getVar('PN'))
30
31 export2json(d, testdata_name)
32}
33addtask write_test_data before do_deploy after do_install
34
35do_deploy () {
36 install ${B}/* ${DEPLOYDIR}
37}
38
39addtask deploy before do_build
40
41do_build[deptask] += "do_prepare_recipe_sysroot"