mirror of
https://git.yoctoproject.org/poky
synced 2026-03-02 21:39:40 +01:00
The code was making an assumption that the only PACKAGE_ARCH in use was TUNE_PKGARCH. This is incorrect so iterate over the list from PACKAGE_EXTRA_ARCH instead. We also need to change allarch to preserve this variable, else the staging code doesn't function. We do this in a way which clears the variable history so that the task hashes remain unaffected. [Thanks to Andrew Goodbody <andrew.goodbody@cambrionix.com> for testing/fixing] (From OE-Core rev: b1bab7a6eff6b195824be7d754de58c6e9ee2bfb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
56 lines
2.3 KiB
Plaintext
56 lines
2.3 KiB
Plaintext
#
|
|
# This class is used for architecture independent recipes/data files (usually scripts)
|
|
#
|
|
|
|
# Expand STAGING_DIR_HOST since for cross-canadian/native/nativesdk, this will
|
|
# point elsewhere after these changes.
|
|
STAGING_DIR_HOST := "${STAGING_DIR_HOST}"
|
|
|
|
PACKAGE_ARCH = "all"
|
|
|
|
python () {
|
|
# Allow this class to be included but overridden - only set
|
|
# the values if we're still "all" package arch.
|
|
if d.getVar("PACKAGE_ARCH") == "all":
|
|
# No need for virtual/libc or a cross compiler
|
|
d.setVar("INHIBIT_DEFAULT_DEPS","1")
|
|
|
|
# Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
|
|
# naming anyway
|
|
d.setVar("baselib", "lib")
|
|
d.setVar("TARGET_ARCH", "allarch")
|
|
d.setVar("TARGET_OS", "linux")
|
|
d.setVar("TARGET_CC_ARCH", "none")
|
|
d.setVar("TARGET_LD_ARCH", "none")
|
|
d.setVar("TARGET_AS_ARCH", "none")
|
|
d.setVar("TARGET_FPU", "")
|
|
d.setVar("TARGET_PREFIX", "")
|
|
# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
|
|
# (this removes any dependencies from the hash perspective)
|
|
d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
|
|
d.setVar("SDK_ARCH", "none")
|
|
d.setVar("SDK_CC_ARCH", "none")
|
|
d.setVar("TARGET_CPPFLAGS", "none")
|
|
d.setVar("TARGET_CFLAGS", "none")
|
|
d.setVar("TARGET_CXXFLAGS", "none")
|
|
d.setVar("TARGET_LDFLAGS", "none")
|
|
d.setVar("POPULATESYSROOTDEPS", "")
|
|
|
|
# Avoid this being unnecessarily different due to nuances of
|
|
# the target machine that aren't important for "all" arch
|
|
# packages.
|
|
d.setVar("LDFLAGS", "")
|
|
|
|
# No need to do shared library processing or debug symbol handling
|
|
d.setVar("EXCLUDE_FROM_SHLIBS", "1")
|
|
d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")
|
|
d.setVar("INHIBIT_PACKAGE_STRIP", "1")
|
|
|
|
# These multilib values shouldn't change allarch packages so exclude them
|
|
d.setVarFlag("emit_pkgdata", "vardepsexclude", "MULTILIB_VARIANTS")
|
|
d.setVarFlag("write_specfile", "vardepsexclude", "MULTILIBS")
|
|
elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d):
|
|
bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE"))
|
|
}
|
|
|