mirror of
https://git.yoctoproject.org/poky
synced 2026-07-27 07:27:12 +00:00
aa497e057b
It's useful for the post-relocate scripts to be able to see the SDK environment, for example to see the values of CC, CXX etc. in order to dynamically generate toolchain files. To enable this, source the SDK environment script prior to calling the relocate scripts. (From OE-Core rev: adcf69ee3310171580c28e141fec6997b1f06da4) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
79 lines
2.7 KiB
BlitzBasic
79 lines
2.7 KiB
BlitzBasic
SUMMARY = "Package of environment files for SDK"
|
|
LICENSE = "MIT"
|
|
PR = "r8"
|
|
|
|
EXCLUDE_FROM_WORLD = "1"
|
|
|
|
MODIFYTOS = "0"
|
|
|
|
REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
|
|
|
inherit toolchain-scripts
|
|
TOOLCHAIN_NEED_CONFIGSITE_CACHE_append = " zlib"
|
|
# Need to expand here before cross-candian changes HOST_ARCH -> SDK_ARCH
|
|
TOOLCHAIN_CONFIGSITE_NOCACHE := "${TOOLCHAIN_CONFIGSITE_NOCACHE}"
|
|
|
|
SDK_DIR = "${WORKDIR}/sdk"
|
|
SDK_OUTPUT = "${SDK_DIR}/image"
|
|
SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
|
|
|
|
inherit cross-canadian
|
|
|
|
do_generate_content[cleandirs] = "${SDK_OUTPUT}"
|
|
do_generate_content[dirs] = "${SDK_OUTPUT}/${SDKPATH}"
|
|
# Need to ensure we have the virtual mappings and site files for all multtilib variants
|
|
do_generate_content[depends] = "${@oe.utils.build_depends_string(all_multilib_tune_values(d, 'TOOLCHAIN_NEED_CONFIGSITE_CACHE'), 'do_populate_sysroot')}"
|
|
python do_generate_content() {
|
|
# Handle multilibs in the SDK environment, siteconfig, etc files...
|
|
localdata = bb.data.createCopy(d)
|
|
|
|
# make sure we only use the WORKDIR value from 'd', or it can change
|
|
localdata.setVar('WORKDIR', d.getVar('WORKDIR'))
|
|
|
|
# make sure we only use the SDKTARGETSYSROOT value from 'd'
|
|
localdata.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT'))
|
|
localdata.setVar('libdir', d.getVar('target_libdir', False))
|
|
|
|
# Process DEFAULTTUNE
|
|
bb.build.exec_func("create_sdk_files", localdata)
|
|
|
|
variants = d.getVar("MULTILIB_VARIANTS") or ""
|
|
for item in variants.split():
|
|
# Load overrides from 'd' to avoid having to reset the value...
|
|
overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
|
|
localdata.setVar("OVERRIDES", overrides)
|
|
localdata.setVar("MLPREFIX", item + "-")
|
|
bb.build.exec_func("create_sdk_files", localdata)
|
|
}
|
|
addtask generate_content before do_install after do_compile
|
|
|
|
create_sdk_files() {
|
|
# Setup site file for external use
|
|
toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
|
|
|
|
toolchain_create_sdk_env_script ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
|
|
|
|
# Add version information
|
|
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
|
|
|
|
toolchain_create_post_relocate_script ${SDK_OUTPUT}/${SDKPATH}/post-relocate-setup.sh ${SDKPATH}
|
|
}
|
|
|
|
do_install() {
|
|
install -d ${D}/${SDKPATH}
|
|
install -m 0644 -t ${D}/${SDKPATH} ${SDK_OUTPUT}/${SDKPATH}/*
|
|
}
|
|
|
|
PN = "meta-environment-${MACHINE}"
|
|
PACKAGES = "${PN}"
|
|
FILES_${PN}= " \
|
|
${SDKPATH}/* \
|
|
"
|
|
|
|
deltask do_fetch
|
|
deltask do_unpack
|
|
deltask do_patch
|
|
deltask do_configure
|
|
deltask do_compile
|
|
deltask do_populate_sysroot
|