blob: 7118fb2aefc2c1cf5c1553aa01252c9eb67f5626 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Package of environment files for SDK"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05002LICENSE = "MIT"
3PR = "r8"
4
5EXCLUDE_FROM_WORLD = "1"
6
7MODIFYTOS = "0"
8
9REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
10
11inherit toolchain-scripts
Patrick Williams213cb262021-08-07 19:21:33 -050012TOOLCHAIN_NEED_CONFIGSITE_CACHE:append = " zlib"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060013# Need to expand here before cross-candian changes HOST_ARCH -> SDK_ARCH
14TOOLCHAIN_CONFIGSITE_NOCACHE := "${TOOLCHAIN_CONFIGSITE_NOCACHE}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015
16SDK_DIR = "${WORKDIR}/sdk"
17SDK_OUTPUT = "${SDK_DIR}/image"
18SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
19
20inherit cross-canadian
21
22do_generate_content[cleandirs] = "${SDK_OUTPUT}"
23do_generate_content[dirs] = "${SDK_OUTPUT}/${SDKPATH}"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050024# Need to ensure we have the virtual mappings and site files for all multtilib variants
25do_generate_content[depends] = "${@oe.utils.build_depends_string(all_multilib_tune_values(d, 'TOOLCHAIN_NEED_CONFIGSITE_CACHE'), 'do_populate_sysroot')}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050026python do_generate_content() {
27 # Handle multilibs in the SDK environment, siteconfig, etc files...
28 localdata = bb.data.createCopy(d)
29
30 # make sure we only use the WORKDIR value from 'd', or it can change
Brad Bishop6e60e8b2018-02-01 10:27:11 -050031 localdata.setVar('WORKDIR', d.getVar('WORKDIR'))
Patrick Williamsc124f4f2015-09-15 14:41:29 -050032
33 # make sure we only use the SDKTARGETSYSROOT value from 'd'
Brad Bishop6e60e8b2018-02-01 10:27:11 -050034 localdata.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT'))
Patrick Williamsc124f4f2015-09-15 14:41:29 -050035 localdata.setVar('libdir', d.getVar('target_libdir', False))
36
37 # Process DEFAULTTUNE
38 bb.build.exec_func("create_sdk_files", localdata)
39
Brad Bishop6e60e8b2018-02-01 10:27:11 -050040 variants = d.getVar("MULTILIB_VARIANTS") or ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050041 for item in variants.split():
42 # Load overrides from 'd' to avoid having to reset the value...
43 overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
44 localdata.setVar("OVERRIDES", overrides)
45 localdata.setVar("MLPREFIX", item + "-")
Patrick Williamsc124f4f2015-09-15 14:41:29 -050046 bb.build.exec_func("create_sdk_files", localdata)
47}
48addtask generate_content before do_install after do_compile
49
Andrew Geissler5199d832021-09-24 16:47:35 -050050python () {
51 sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
52 d.appendVarFlag("do_generate_content", "file-checksums", " " + " ".join(searched))
53}
54
Patrick Williamsc124f4f2015-09-15 14:41:29 -050055create_sdk_files() {
56 # Setup site file for external use
57 toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
58
59 toolchain_create_sdk_env_script ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
60
61 # Add version information
62 toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
Brad Bishop316dfdd2018-06-25 12:45:53 -040063
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080064 toolchain_create_post_relocate_script ${SDK_OUTPUT}/${SDKPATH}/post-relocate-setup.sh ${SDKPATH}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050065}
66
67do_install() {
68 install -d ${D}/${SDKPATH}
69 install -m 0644 -t ${D}/${SDKPATH} ${SDK_OUTPUT}/${SDKPATH}/*
70}
71
72PN = "meta-environment-${MACHINE}"
73PACKAGES = "${PN}"
Patrick Williams213cb262021-08-07 19:21:33 -050074FILES:${PN}= " \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050075 ${SDKPATH}/* \
76 "
77
Brad Bishop6e60e8b2018-02-01 10:27:11 -050078deltask do_fetch
79deltask do_unpack
80deltask do_patch
81deltask do_configure
82deltask do_compile
83deltask do_populate_sysroot