summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/meta/meta-environment.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/meta/meta-environment.bb')
-rw-r--r--meta/recipes-core/meta/meta-environment.bb77
1 files changed, 77 insertions, 0 deletions
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
new file mode 100644
index 0000000000..90959b5fce
--- /dev/null
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -0,0 +1,77 @@
1SUMMARY = "Package of environment files for SDK"
2LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
3 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4LICENSE = "MIT"
5PR = "r8"
6
7EXCLUDE_FROM_WORLD = "1"
8
9MODIFYTOS = "0"
10
11REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
12
13inherit toolchain-scripts
14TOOLCHAIN_NEED_CONFIGSITE_CACHE += "zlib"
15
16SDK_DIR = "${WORKDIR}/sdk"
17SDK_OUTPUT = "${SDK_DIR}/image"
18SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
19
20inherit cross-canadian
21
22do_generate_content[nostamp] = "1"
23do_generate_content[cleandirs] = "${SDK_OUTPUT}"
24do_generate_content[dirs] = "${SDK_OUTPUT}/${SDKPATH}"
25python do_generate_content() {
26 # Handle multilibs in the SDK environment, siteconfig, etc files...
27 localdata = bb.data.createCopy(d)
28
29 # make sure we only use the WORKDIR value from 'd', or it can change
30 localdata.setVar('WORKDIR', d.getVar('WORKDIR', True))
31
32 # make sure we only use the SDKTARGETSYSROOT value from 'd'
33 localdata.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT', True))
34 localdata.setVar('libdir', d.getVar('target_libdir', False))
35
36 # Process DEFAULTTUNE
37 bb.build.exec_func("create_sdk_files", localdata)
38
39 variants = d.getVar("MULTILIB_VARIANTS", True) or ""
40 for item in variants.split():
41 # Load overrides from 'd' to avoid having to reset the value...
42 overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
43 localdata.setVar("OVERRIDES", overrides)
44 localdata.setVar("MLPREFIX", item + "-")
45 bb.data.update_data(localdata)
46 bb.build.exec_func("create_sdk_files", localdata)
47}
48addtask generate_content before do_install after do_compile
49
50create_sdk_files() {
51 # Setup site file for external use
52 toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
53
54 toolchain_create_sdk_env_script ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
55
56 # Add version information
57 toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
58}
59
60do_install[nostamp] = "1"
61do_install() {
62 install -d ${D}/${SDKPATH}
63 install -m 0644 -t ${D}/${SDKPATH} ${SDK_OUTPUT}/${SDKPATH}/*
64}
65
66PN = "meta-environment-${MACHINE}"
67PACKAGES = "${PN}"
68FILES_${PN}= " \
69 ${SDKPATH}/* \
70 "
71
72do_fetch[noexec] = "1"
73do_unpack[noexec] = "1"
74do_patch[noexec] = "1"
75do_configure[noexec] = "1"
76do_compile[noexec] = "1"
77do_populate_sysroot[noexec] = "1"