All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Krummenacher <max.oss.09@gmail.com>
To: meta-freescale@yoctoproject.org
Cc: otavio@ossystems.com.br, Max Krummenacher <max.oss.09@gmail.com>
Subject: [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
Date: Thu, 26 Mar 2015 19:55:55 +0100	[thread overview]
Message-ID: <1427396155-12759-1-git-send-email-max.oss.09@gmail.com> (raw)

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 <max.oss.09@gmail.com>
---
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



             reply	other threads:[~2015-03-26 18:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-26 18:55 Max Krummenacher [this message]
2015-03-26 19:24 ` [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed Otavio Salvador
2015-03-26 21:12   ` Max Krummenacher
2015-03-27  0:21     ` Otavio Salvador

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1427396155-12759-1-git-send-email-max.oss.09@gmail.com \
    --to=max.oss.09@gmail.com \
    --cc=meta-freescale@yoctoproject.org \
    --cc=otavio@ossystems.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.