From: "mark.yang" <[email protected]>

Compute TOOLCHAIN_CONFIGSITE_NOCACHE for TARGET_ARCH and TARGET_OS
instead of HOST_ARCH and HOST_OS, so each multilib variant's
site-config matches its own tune.

Commit 1e13d1fd22 ("meta-environment: ensure corret
TOOLCHAIN_CONFIGSITE_NOCACHE value") expanded the variable with :=
before cross-canadian changes HOST_ARCH to SDK_ARCH. Since then, every
multilib variant has used the default tune's site files.

On qemux86-64 with the multilib-x86-lib32 fragment, the lib32
site-config has:

  before: ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
  after:  ac_cv_sizeof_long=${ac_cv_sizeof_long=4}

An i686 configure run that loads it uses the cached 8 instead of
running the compile test.

Drop the := as it is no longer needed. Collect
do_generate_content[file-checksums] with all_multilib_tune_values(),
as the [depends] flag does, instead of in an anonymous function that
covered one variant only.

Signed-off-by: mark.yang <[email protected]>
---
 meta/classes-recipe/toolchain-scripts.bbclass | 3 ++-
 meta/recipes-core/meta/meta-environment.bb    | 9 ++-------
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/meta/classes-recipe/toolchain-scripts.bbclass 
b/meta/classes-recipe/toolchain-scripts.bbclass
index e971b9a270..fe7333afa2 100644
--- a/meta/classes-recipe/toolchain-scripts.bbclass
+++ b/meta/classes-recipe/toolchain-scripts.bbclass
@@ -213,7 +213,8 @@ EOF
 }
 
 #we get the cached site config in the runtime
-TOOLCHAIN_CONFIGSITE_NOCACHE = "${@' '.join(siteinfo_get_files(d)[0])}"
+# cross-canadian changes HOST_ARCH/HOST_OS to the SDK host
+TOOLCHAIN_CONFIGSITE_NOCACHE = "${@' 
'.join(siteinfo_get_files_for_machine(d.getVar('TARGET_ARCH'), 
d.getVar('TARGET_OS'), d)[0])}"
 TOOLCHAIN_NEED_CONFIGSITE_CACHE ??= "virtual/${MLPREFIX}libc ncurses"
 DEPENDS += "${TOOLCHAIN_NEED_CONFIGSITE_CACHE}"
 
diff --git a/meta/recipes-core/meta/meta-environment.bb 
b/meta/recipes-core/meta/meta-environment.bb
index f814061281..8162b70294 100644
--- a/meta/recipes-core/meta/meta-environment.bb
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -9,8 +9,6 @@ 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"
@@ -22,6 +20,8 @@ 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(oe.utils.all_multilib_tune_values(d, 
'TOOLCHAIN_NEED_CONFIGSITE_CACHE'), 'do_populate_sysroot')}"
+TOOLCHAIN_CONFIGSITE_SEARCHED = "${@' 
'.join(siteinfo_get_files_for_machine(d.getVar('TARGET_ARCH'), 
d.getVar('TARGET_OS'), d)[1])}"
+do_generate_content[file-checksums] += 
"${@oe.utils.all_multilib_tune_values(d, 'TOOLCHAIN_CONFIGSITE_SEARCHED')}"
 python do_generate_content() {
     # Handle multilibs in the SDK environment, siteconfig, etc files...
     localdata = bb.data.createCopy(d)
@@ -46,11 +46,6 @@ python do_generate_content() {
 }
 addtask generate_content before do_install after do_compile
 
-python () {
-    sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
-    d.appendVarFlag("do_generate_content", "file-checksums", " " + " 
".join(searched))
-}
-
 create_sdk_files() {
        # Setup site file for external use
        toolchain_create_sdk_siteconfig 
${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#246719): 
https://lists.openembedded.org/g/openembedded-core/message/246719
Mute This Topic: https://lists.openembedded.org/mt/121465214/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to