diff options
Diffstat (limited to 'meta/classes/allarch.bbclass')
| -rw-r--r-- | meta/classes/allarch.bbclass | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass index 21157e5e18..a7ce024649 100644 --- a/meta/classes/allarch.bbclass +++ b/meta/classes/allarch.bbclass @@ -1,23 +1,51 @@ # -# This class is used for architecture independent recipes/data files (usally scripts) +# This class is used for architecture independent recipes/data files (usually scripts) # PACKAGE_ARCH = "all" -# No need for virtual/libc or a cross compiler -INHIBIT_DEFAULT_DEPS = "1" +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 -TARGET_ARCH = "allarch" -TARGET_OS = "linux" -TARGET_CC_ARCH = "none" -TARGET_LD_ARCH = "none" -TARGET_AS_ARCH = "none" -PACKAGE_EXTRA_ARCHS = "" + # 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", "") -# No need to do shared library processing or debug symbol handling -EXCLUDE_FROM_SHLIBS = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INHIBIT_PACKAGE_STRIP = "1" + # 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")) +} |
