* [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
@ 2015-03-26 18:55 Max Krummenacher
2015-03-26 19:24 ` Otavio Salvador
0 siblings, 1 reply; 4+ messages in thread
From: Max Krummenacher @ 2015-03-26 18:55 UTC (permalink / raw)
To: meta-freescale; +Cc: otavio, Max Krummenacher
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
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
2015-03-26 21:12 ` Max Krummenacher
0 siblings, 1 reply; 4+ messages in thread
From: Otavio Salvador @ 2015-03-26 19:24 UTC (permalink / raw)
To: Max Krummenacher; +Cc: meta-freescale
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
2015-03-26 19:24 ` Otavio Salvador
@ 2015-03-26 21:12 ` Max Krummenacher
2015-03-27 0:21 ` Otavio Salvador
0 siblings, 1 reply; 4+ messages in thread
From: Max Krummenacher @ 2015-03-26 21:12 UTC (permalink / raw)
To: Otavio Salvador; +Cc: meta-freescale
2015-03-26 20:24 GMT+01:00 Otavio Salvador <otavio@ossystems.com.br>:
> Hello Max,
>> 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?
>
No.
This cuts of the TUNE_PKGARCH part away so that we get the e.g.
suffix="-mx6qdl" part.
MACHINE_SOCARCH_mx6q = "${TUNE_PKGARCH}-mx6qdl"
>> + # 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?
Yes. If this becomes true we have have MACHINE_SOCARCH pointing to a
thumb feed and get the arm feed name in extrasocarch.
>
>> + 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?
>
Ups, forgot about that.
>> MACHINE_ARCH_FILTER = "virtual/kernel"
>> MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
>> --
>> 1.9.3
>>
Unless you disagree I will put together a v3 which only adds mxs-base.inc.
Regards
Max
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed
2015-03-26 21:12 ` Max Krummenacher
@ 2015-03-27 0:21 ` Otavio Salvador
0 siblings, 0 replies; 4+ messages in thread
From: Otavio Salvador @ 2015-03-27 0:21 UTC (permalink / raw)
To: Max Krummenacher; +Cc: meta-freescale
On Thu, Mar 26, 2015 at 6:12 PM, Max Krummenacher <max.oss.09@gmail.com> wrote:
> 2015-03-26 20:24 GMT+01:00 Otavio Salvador <otavio@ossystems.com.br>:
>> Hello Max,
>>> 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?
>>
>
> No.
> This cuts of the TUNE_PKGARCH part away so that we get the e.g.
> suffix="-mx6qdl" part.
> MACHINE_SOCARCH_mx6q = "${TUNE_PKGARCH}-mx6qdl"
>
>
>>> + # 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?
>
> Yes. If this becomes true we have have MACHINE_SOCARCH pointing to a
> thumb feed and get the arm feed name in extrasocarch.
>
>>
>>> + 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?
>>
> Ups, forgot about that.
>
>>> MACHINE_ARCH_FILTER = "virtual/kernel"
>>> MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
>>> --
>>> 1.9.3
>>>
>
> Unless you disagree I will put together a v3 which only adds mxs-base.inc.
Please preare a v3 and I will play locally with it. How I can easily
reproduce a failing case?
--
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-27 0:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2015-03-26 21:12 ` Max Krummenacher
2015-03-27 0:21 ` Otavio Salvador
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.