diff options
Diffstat (limited to 'meta/recipes-core/meta/meta-environment.bb')
-rw-r--r-- | meta/recipes-core/meta/meta-environment.bb | 77 |
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 @@ | |||
1 | SUMMARY = "Package of environment files for SDK" | ||
2 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
3 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
4 | LICENSE = "MIT" | ||
5 | PR = "r8" | ||
6 | |||
7 | EXCLUDE_FROM_WORLD = "1" | ||
8 | |||
9 | MODIFYTOS = "0" | ||
10 | |||
11 | REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" | ||
12 | |||
13 | inherit toolchain-scripts | ||
14 | TOOLCHAIN_NEED_CONFIGSITE_CACHE += "zlib" | ||
15 | |||
16 | SDK_DIR = "${WORKDIR}/sdk" | ||
17 | SDK_OUTPUT = "${SDK_DIR}/image" | ||
18 | SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" | ||
19 | |||
20 | inherit cross-canadian | ||
21 | |||
22 | do_generate_content[nostamp] = "1" | ||
23 | do_generate_content[cleandirs] = "${SDK_OUTPUT}" | ||
24 | do_generate_content[dirs] = "${SDK_OUTPUT}/${SDKPATH}" | ||
25 | python 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 | } | ||
48 | addtask generate_content before do_install after do_compile | ||
49 | |||
50 | create_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 | |||
60 | do_install[nostamp] = "1" | ||
61 | do_install() { | ||
62 | install -d ${D}/${SDKPATH} | ||
63 | install -m 0644 -t ${D}/${SDKPATH} ${SDK_OUTPUT}/${SDKPATH}/* | ||
64 | } | ||
65 | |||
66 | PN = "meta-environment-${MACHINE}" | ||
67 | PACKAGES = "${PN}" | ||
68 | FILES_${PN}= " \ | ||
69 | ${SDKPATH}/* \ | ||
70 | " | ||
71 | |||
72 | do_fetch[noexec] = "1" | ||
73 | do_unpack[noexec] = "1" | ||
74 | do_patch[noexec] = "1" | ||
75 | do_configure[noexec] = "1" | ||
76 | do_compile[noexec] = "1" | ||
77 | do_populate_sysroot[noexec] = "1" | ||