[meta-freescale] [meta-fsl-arm][PATCH v2] fsl-dynamic-packagearch: on thumb builds, add MACHINE_SOCARCH arm feed

Max Krummenacher max.oss.09 at gmail.com
Thu Mar 26 14:12:36 PDT 2015


2015-03-26 20:24 GMT+01:00 Otavio Salvador <otavio at 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


More information about the meta-freescale mailing list