meta-environment: Fix config-site with a multilib config
authorMark Hatle <mark.hatle@windriver.com>
Tue, 11 Nov 2014 02:09:29 +0000 (20:09 -0600)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 17:18:38 +0000 (09:18 -0800)
[YOCTO #6951]

The TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value was defaulting to the nativesdk
path and not the associated target path.  Set the value in toolchain-scripts
to the target path.

Be sure to set the MLPREFIX within the meta-environment script as multilibs
are processed.

Update the config_site file name to use -BPN- not PN.  Otherwise the
environment processing can't find the correct filename.

(From OE-Core rev: 26a2f98155a867a71217e52d33f761dcc60800ca)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/siteconfig.bbclass
meta/classes/toolchain-scripts.bbclass
meta/recipes-core/meta/meta-environment.bb

index 9a4d03b..45dce48 100644 (file)
@@ -18,13 +18,13 @@ siteconfig_do_siteconfig_gencache () {
                >${WORKDIR}/site_config_${MACHINE}/configure.ac
        cd ${WORKDIR}/site_config_${MACHINE}
        autoconf
-       rm -f ${PN}_cache
-        CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${PN}_cache
+       rm -f ${BPN}_cache
+       CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${BPN}_cache
        sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
                -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
-               < ${PN}_cache > ${PN}_config
+               < ${BPN}_cache > ${BPN}_config
        mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
-       cp ${PN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
+       cp ${BPN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
 
 }
 
index 2244cf7..96fd93d 100644 (file)
@@ -91,7 +91,7 @@ EOF
 
 #we get the cached site config in the runtime
 TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d, True)}"
-TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
+TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DIR}/${MLPREFIX}${MACHINE}/${target_datadir}/${TARGET_SYS}_config_site.d"
 TOOLCHAIN_NEED_CONFIGSITE_CACHE = "${TCLIBC} ncurses"
 
 #This function create a site config file
@@ -131,5 +131,7 @@ python __anonymous () {
     deps = ""
     for dep in (d.getVar('TOOLCHAIN_NEED_CONFIGSITE_CACHE', True) or "").split():
         deps += " %s:do_populate_sysroot" % dep
+        for variant in (d.getVar('MULTILIB_VARIANTS', True) or "").split():
+            deps += " %s-%s:do_populate_sysroot" % (variant, dep)
     d.appendVarFlag('do_configure', 'depends', deps)
 }
index 9d8bcb7..bb208a3 100644 (file)
@@ -42,6 +42,7 @@ python do_generate_content() {
         # 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.data.update_data(localdata)
         bb.build.exec_func("create_sdk_files", localdata)
 }