From: Otavio Salvador <otavio@ossystems.com.br>
To: Max Krummenacher <max.oss.09@gmail.com>
Cc: "meta-freescale@yoctoproject.org" <meta-freescale@yoctoproject.org>
Subject: Re: [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
Date: Thu, 26 Mar 2015 16:24:04 -0300 [thread overview]
Message-ID: <CAP9ODKqdfeWEZTBvYSGtVSWtRyz_D7HyFxguQ6ps+LypKxiFjQ@mail.gmail.com> (raw)
In-Reply-To: <1427396155-12759-1-git-send-email-max.oss.09@gmail.com>
Hello Max,
On Thu, Mar 26, 2015 at 3:55 PM, Max Krummenacher <max.oss.09@gmail.com> wrote:
> 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)):]
Could use 'ARM_THUMB_SUFFIX' no?
> + # 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":
ARMPKGSFX_THUMB will be non-empty here, no?
> + 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}"
mxs-base.inc seems to require same change, no?
> MACHINE_ARCH_FILTER = "virtual/kernel"
> MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
> --
> 1.9.3
>
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
next prev parent reply other threads:[~2015-03-26 19:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-26 18:55 [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed Max Krummenacher
2015-03-26 19:24 ` Otavio Salvador [this message]
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=CAP9ODKqdfeWEZTBvYSGtVSWtRyz_D7HyFxguQ6ps+LypKxiFjQ@mail.gmail.com \
--to=otavio@ossystems.com.br \
--cc=max.oss.09@gmail.com \
--cc=meta-freescale@yoctoproject.org \
/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.