populate_sdk_base/meta-environment: Remove overlap from the two
Currently we have the horrible situation where meta-environment packages the toolchain environment files and they get included in the SDK but are broken, then, the SDK code overwrites them with good versions. This is suboptimal. This change fixes the code in meta-environment to create working files and adds in the multilib support from populate_sdk_base, then we remove the code in that base bbclass and rely on the packages being installed if/as/when needed. This removes the duplication and the broken versions of the files, hopefully making all well. [YOCTO #6608] [YOCTO #6613] (From OE-Core rev: 063355e5965439c7b3253d692d7ab0ed1189d123) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
6523bc171c
commit
955bf632a7
|
@ -88,25 +88,8 @@ fakeroot python do_populate_sdk() {
|
|||
|
||||
populate_sdk(d)
|
||||
|
||||
# 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', True))
|
||||
|
||||
# make sure we only use the SDKTARGETSYSROOT value from 'd'
|
||||
localdata.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT', True))
|
||||
|
||||
# Process DEFAULTTUNE
|
||||
bb.build.exec_func("create_sdk_files", localdata)
|
||||
|
||||
variants = d.getVar("MULTILIB_VARIANTS", True) 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)
|
||||
bb.data.update_data(localdata)
|
||||
bb.build.exec_func("create_sdk_files", localdata)
|
||||
bb.build.exec_func("create_sdk_files", d)
|
||||
|
||||
bb.build.exec_func("tar_sdk", d)
|
||||
|
||||
|
@ -114,14 +97,6 @@ fakeroot python do_populate_sdk() {
|
|||
}
|
||||
|
||||
fakeroot 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}
|
||||
|
||||
cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
|
||||
|
||||
# Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
|
||||
|
|
|
@ -18,20 +18,41 @@ SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}"
|
|||
inherit cross-canadian
|
||||
|
||||
do_generate_content[nostamp] = "1"
|
||||
do_generate_content() {
|
||||
do_generate_content[cleandirs] = "${SDK_OUTPUT}"
|
||||
do_generate_content[dirs] = "${SDK_OUTPUT}/${SDKPATH}"
|
||||
python do_generate_content() {
|
||||
# Handle multilibs in the SDK environment, siteconfig, etc files...
|
||||
localdata = bb.data.createCopy(d)
|
||||
|
||||
rm -rf ${SDK_OUTPUT}
|
||||
mkdir -p ${SDK_OUTPUT}/${SDKPATH}
|
||||
# make sure we only use the WORKDIR value from 'd', or it can change
|
||||
localdata.setVar('WORKDIR', d.getVar('WORKDIR', True))
|
||||
|
||||
toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
|
||||
# make sure we only use the SDKTARGETSYSROOT value from 'd'
|
||||
localdata.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT', True))
|
||||
|
||||
toolchain_create_sdk_env_script ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS} ${REAL_MULTIMACH_TARGET_SYS} '##SDKTARGETSYSROOT##' ${target_libdir}
|
||||
# Process DEFAULTTUNE
|
||||
bb.build.exec_func("create_sdk_files", localdata)
|
||||
|
||||
# Add version information
|
||||
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
|
||||
variants = d.getVar("MULTILIB_VARIANTS", True) 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)
|
||||
bb.data.update_data(localdata)
|
||||
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}
|
||||
}
|
||||
|
||||
do_install[nostamp] = "1"
|
||||
do_install() {
|
||||
install -d ${D}/${SDKPATH}
|
||||
|
|
Loading…
Reference in New Issue