This ensures that all MACHINE_SOCARCH feeds are part of PACKAGE_EXTRA_ARCHS.
oe-core now puts packages into an arm feed dir when a recipe forces the ARM instruction set on a build configured to default to thumb. http://cgit.openembedded.org/openembedded-core/commit/?id=3e760031f91fb87c3e2f62b77a117eb41164f259 This is true also for packages in MACHINE_SOCARCH, i.e. we get in deploy/ipk for an angstrom based build: armv7ahf-vfp-neon-mx6qdl armv7at2hf-vfp-neon-mx6qdl so we must put both into PACKAGE_EXTRA_ARCHS. In theorie, but less likely, the opposite is also true. If a recipe explicitely sets thumb in a build configured for arm the resulting packages end up in a thumb feed. Signed-off-by: Max Krummenacher <[email protected]> --- v2: - moved the functionality from imx-base.inc to fsl-dynamic-packagearch.bbclass - implements the'vice versa' recipe with thumb on default arm configuration - reads the datastore to construct the feed name rather than relying on "t2" classes/fsl-dynamic-packagearch.bbclass | 16 +++++++++++++++- conf/machine/include/imx-base.inc | 1 - 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass index 40eae6c..32930d0 100644 --- a/classes/fsl-dynamic-packagearch.bbclass +++ b/classes/fsl-dynamic-packagearch.bbclass @@ -29,6 +29,7 @@ python __anonymous () { machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split()) machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER", True) or "").split()) if machine_socarch_filter or machine_arch_filter: + socarch = d.getVar('MACHINE_SOCARCH', True) provides = set((d.getVar("PROVIDES", True) or "").split()) depends = set((d.getVar("DEPENDS", True) or "").split()) PN = d.getVar("PN", True) @@ -37,11 +38,24 @@ python __anonymous () { if list(machine_arch_filter & (provides | depends)): package_arch = d.getVar("MACHINE_ARCH", True) elif list(machine_socarch_filter & (provides | depends)): - package_arch = d.getVar("MACHINE_SOCARCH", True) + package_arch = socarch if not package_arch: bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.") if package_arch: bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN)) d.setVar("PACKAGE_ARCH", package_arch) + + suffix = socarch[len(d.getVar("TUNE_PKGARCH", True)):] + # If TUNE_PKGARCH is set for thumb allow also arm for package extra archs and vice versa + if d.getVar("ARM_INSTRUCTION_SET", True) == "thumb": + extrasocarch = d.getVar("ARMPKGARCH", True) + \ + d.getVar("ARMPKGSFX_DSP", True) + d.getVar("ARMPKGSFX_EABI", True) + \ + d.getVar("ARMPKGSFX_ENDIAN", True) + d.getVar("ARMPKGSFX_FPU", True) + suffix + else: + extrasocarch = d.getVar("ARMPKGARCH", True) + \ + d.getVar("ARM_THUMB_SUFFIX", True) + \ + d.getVar("ARMPKGSFX_DSP", True) + d.getVar("ARMPKGSFX_EABI", True) + \ + d.getVar("ARMPKGSFX_ENDIAN", True) + d.getVar("ARMPKGSFX_FPU", True) + suffix + d.appendVar("PACKAGE_EXTRA_ARCHS", " " + socarch + " " + extrasocarch) } diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index bb5539c..40b6f87 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -46,7 +46,6 @@ MACHINE_SOCARCH_mx6sx = "${TUNE_PKGARCH}-mx6sx" MACHINE_SOCARCH_mx6sl = "${TUNE_PKGARCH}-mx6sl" MACHINE_SOCARCH_vf60 = "${TUNE_PKGARCH}-vf60" MACHINE_SOCARCH_vf50 = "${TUNE_PKGARCH}-vf50" -PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}" MACHINE_ARCH_FILTER = "virtual/kernel" MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins" -- 1.9.3 -- _______________________________________________ meta-freescale mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-freescale
