Skip to content

Commit

Permalink
onl: allow building more platforms
Browse files Browse the repository at this point in the history
Add PACKAGECOFIG[1] support for optionally building more platforms:

 - "unsupported" - buildable, but untested
 - "broken" - does not build (mostly as "known broken" list)

Due to the way getVar works, we need to define the appropriate lists
even when they are empty.

By default stay at the supported/tested level.

Broken for now also includes platforms that technically build, but
aren't handled by our recipe correctly, as it assumes all platforms have
modules and a platform library, which isn't true for some platforms.

[1] https://docs.yoctoproject.org/ref-manual/variables.html#term-PACKAGECONFIG

Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
  • Loading branch information
KanjiMonster committed Feb 1, 2024
1 parent de1cf11 commit 15779b6
Showing 1 changed file with 243 additions and 4 deletions.
247 changes: 243 additions & 4 deletions recipes-extended/onl/onl_git.bb
Original file line number Diff line number Diff line change
Expand Up @@ -80,20 +80,259 @@ FILES:${PN} = " \
${libdir}/libonlp*.so.1 \
"

ONL_PLATFORMS_BUILD:arm = " \
# Build additional platform support:
# - "unsupported" - buildable, but untested
# - "broken" - does not build (mostly as "known broken" list)
PACKAGECONFIG ??= ""

ONL_PLATFORMS_BUILD = " \
${ONL_PLATFORMS_SUPPORTED} \
${@bb.utils.contains('PACKAGECONFIG', 'unsupported', '${ONL_PLATFORMS_UNSUPPORTED}', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'broken', '${ONL_PLATFORMS_BROKEN}', '', d)} \
"

ONL_MODULE_VENDORS_BUILD = " \
${ONL_MODULE_VENDORS_SUPPORTED} \
${@bb.utils.contains('PACKAGECONFIG', 'unsupported', '${ONL_MODULE_VENDORS_UNSUPPORTED}', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'broken', '${ONL_MODULE_VENDORS_BROKEN}', '', d)} \
"

# platforms that build and are tested and verified
ONL_PLATFORMS_SUPPORTED:arm = " \
arm-accton-as4610-30-r0 \
arm-accton-as4610-54-r0 \
"

ONL_PLATFORMS_BUILD:x86-64 = " \
ONL_PLATFORMS_SUPPORTED:x86-64 = " \
x86-64-accton-as4630-54pe-r0 \
x86-64-accton-as4630-54te-r0 \
x86-64-accton-as7726-32x-r0 \
x86-64-accton-as5835-54x-r0 \
x86-64-accton-as7726-32x-r0 \
x86-64-delta-ag5648-r0 \
x86-64-delta-ag7648-r0 \
x86-64-cel-questone-2a-r0 \
"

ONL_MODULE_VENDORS_SUPPORTED:arm = " \
"

# delta-ag5648's i2c-cpld is part of delta's common vendor modules
ONL_MODULE_VENDORS_BUILD:x86-64 = "delta"
ONL_MODULE_VENDORS_SUPPORTED:x86-64 = " \
delta \
"

# platforms that do build, but are unsupported
ONL_PLATFORMS_UNSUPPORTED:arm = " \
"

ONL_PLATFORMS_UNSUPPORTED:x86-64 = " \
x86-64-accton-as4222-28pe-r0 \
x86-64-accton-as5512-54x-r0 \
x86-64-accton-as5712-54x-r0 \
x86-64-accton-as5812-54t-r0 \
x86-64-accton-as5812-54x-r0 \
x86-64-accton-as5822-54x-r0 \
x86-64-accton-as5835-54t-r0 \
x86-64-accton-as5912-54x-r0 \
x86-64-accton-as5912-54xk-r0 \
x86-64-accton-as5915-18x-r0 \
x86-64-accton-as5916-54x-r1 \
x86-64-accton-as5916-54xk-r1 \
x86-64-accton-as5916-54xm-r0 \
x86-64-accton-as7312-54x-r0 \
x86-64-accton-as7312-54xs-r0 \
x86-64-accton-as7315-30x-r0 \
x86-64-accton-as7512-32x-r0 \
x86-64-accton-as7716-24sc-r0 \
x86-64-accton-as7716-24xc-r0 \
x86-64-accton-as7816-64x-r0 \
x86-64-accton-as7926-40xfb-r0 \
x86-64-accton-as7946-74xkb-r0 \
x86-64-accton-as9926-24d-r0 \
x86-64-accton-asxvolt16-r0 \
x86-64-accton-csp9250-r0 \
x86-64-alphanetworks-snj60d0-320f-r0 \
x86-64-alphanetworks-snj61d0-320f-r2 \
"

ONL_MODULE_VENDORS_UNSUPPORTED:arm = " \
"

ONL_MODULE_VENDORS_UNSUPPORTED:x86-64 = " \
ingrasys \
inventec \
"

# platforms that do not build for various reasons, e.g:
# * they have glaring code issues gcc treats as errors
# * their kernel modules use outdated kernel APIs
# * they do not have kernel modules (currently not handled)
# * they do not have a libonlp library (currently not handled)
# * they require an older "debian" release
ONL_PLATFORMS_BROKEN:arm = " \
arm-delta-ag6248c-poe-r0 \
arm-delta-ag6248c-r0 \
arm-qemu-armv7a-r0 \
"

ONL_PLATFORMS_BROKEN:x86-64 = " \
x86-64-accton-as5916-26xb-r0 \
x86-64-accton-as5916-54xks-r0 \
x86-64-accton-as5916-54xl-r0 \
x86-64-accton-as6712-32x-r0 \
x86-64-accton-as6812-32x-r0 \
x86-64-accton-as7112-54x-r0 \
x86-64-accton-as7315-27xb-r0 \
x86-64-accton-as7316-26xb-r0 \
x86-64-accton-as7326-56x-r0 \
x86-64-accton-as7535-28xb-r0 \
x86-64-accton-as7712-32x-r0 \
x86-64-accton-as7716-32x-r0 \
x86-64-accton-as7926-40xke-r0 \
x86-64-accton-as7926-80xk-r0 \
x86-64-accton-as7936-22xke-r0 \
x86-64-accton-as9516-32d-r0 \
x86-64-accton-as9716-32d-r0 \
x86-64-accton-as9926-24db-r0 \
x86-64-accton-asgvolt64-r0 \
x86-64-accton-es7632bt3-r0 \
x86-64-accton-minipack-r0 \
x86-64-accton-wedge-16x-r0 \
x86-64-accton-wedge100-r0 \
x86-64-accton-wedge100-32x-r0 \
x86-64-accton-wedge100bf-32x-r0 \
x86-64-accton-wedge100bf-65x-r0 \
x86-64-accton-wedge100s-32x-r0 \
x86-64-alphanetworks-scg60d0-484t-r1 \
x86-64-alphanetworks-snx60a0-486f-r0 \
x86-64-alphanetworks-stx60d0-062f-r0 \
x86-64-alphanetworks-stx60d0-126f-r0 \
x86-64-cel-belgite-r0 \
x86-64-cel-redstone-xp-r0 \
x86-64-cel-seastone-r0 \
x86-64-cel-silverstone-r0 \
x86-64-delta-ag7648c-r0 \
x86-64-delta-ag8032-r0 \
x86-64-delta-ag9032v1-r0 \
x86-64-delta-ag9032v2a-r0 \
x86-64-delta-ag9032v2-r0 \
x86-64-delta-ag9064-r0 \
x86-64-delta-agc032a-r0 \
x86-64-delta-agc032-r0 \
x86-64-delta-agc5648s-r0 \
x86-64-delta-agc7008s-r0 \
x86-64-delta-agc7646slv1b-r0 \
x86-64-delta-agc7646v1-r0 \
x86-64-delta-agc7648a-r0 \
x86-64-delta-agc7648sv1-r0 \
x86-64-delta-agv424-r0 \
x86-64-delta-agv848v1-r0 \
x86-64-delta-ak7448-r0 \
x86-64-delta-wb2448-r0 \
x86-64-facebook-wedge100-r0 \
x86-64-ingrasys-s9100-r0 \
x86-64-ingrasys-s9180-32x-r0 \
x86-64-ingrasys-s9230-64x-r0 \
x86-64-ingrasys-s9280-64x-r0 \
x86-64-inventec-d10056-r0 \
x86-64-inventec-d10064-r0 \
x86-64-inventec-d3352-r0 \
x86-64-inventec-d5052-r0 \
x86-64-inventec-d5254-r0 \
x86-64-inventec-d5264q28b-r0 \
x86-64-inventec-d6254qs-r0 \
x86-64-inventec-d6332-r0 \
x86-64-inventec-d6356-r0 \
x86-64-inventec-d6432-r0 \
x86-64-inventec-d6556-r0 \
x86-64-inventec-d7054q28b-r0 \
x86-64-inventec-d7264q28b-r0 \
x86-64-inventec-d7332-r0 \
x86-64-kvm-x86-64-r0 \
x86-64-lenovo-ne10032-r0 \
x86-64-lenovo-ne2572-r0 \
x86-64-mitac-ly1200-b32h0-c3-r0 \
x86-64-mlnx-mqm8700-r0 \
x86-64-mlnx-msb7700-r0 \
x86-64-mlnx-msb7800-r0 \
x86-64-mlnx-msn2010-r0 \
x86-64-mlnx-msn2100b-r0 \
x86-64-mlnx-msn2100-r0 \
x86-64-mlnx-msn24102-r0 \
x86-64-mlnx-msn2410b-r0 \
x86-64-mlnx-msn2410-r0 \
x86-64-mlnx-msn27002-r0 \
x86-64-mlnx-msn2700b-r0 \
x86-64-mlnx-msn2700-r0 \
x86-64-mlnx-msn2740b-r0 \
x86-64-mlnx-msn2740-r0 \
x86-64-mlnx-msn3420-r0 \
x86-64-mlnx-msn3510-r0 \
x86-64-mlnx-msn3700c-r0 \
x86-64-mlnx-msn3700-r0 \
x86-64-mlnx-msn3800-r0 \
x86-64-mlnx-msn4600c-r0 \
x86-64-mlnx-msn4600-r0 \
x86-64-mlnx-msn4700-r0 \
x86-64-mlnx-mtq8100-r0 \
x86-64-mlnx-mtq8200-r0 \
x86-64-netberg-aurora-420-rangeley-r0 \
x86-64-netberg-aurora-610-r0 \
x86-64-netberg-aurora-620-rangeley-r0 \
x86-64-netberg-aurora-710-r0 \
x86-64-netberg-aurora-720-rangeley-r0 \
x86-64-netberg-aurora-750-r0 \
x86-64-netberg-aurora-820-r0 \
x86-64-quanta-ix1b-rglbmc-r0 \
x86-64-quanta-ix1-rangeley-r0 \
x86-64-quanta-ix2-rangeley-r0 \
x86-64-quanta-ix7-rglbmc-r0 \
x86-64-quanta-ix8-rglbmc-r0 \
x86-64-quanta-ly4r-r0 \
x86-64-quanta-ly6-rangeley-r0 \
x86-64-quanta-ly7-rglbmc-r0 \
x86-64-quanta-ly8-rangeley-r0 \
x86-64-quanta-ly9-rangeley-r0 \
x86-64-ufispace-s9700-23d-r0 \
x86-64-ufispace-s9700-23d-r1 \
x86-64-ufispace-s9700-23d-r2 \
x86-64-ufispace-s9700-23d-r3 \
x86-64-ufispace-s9700-23d-r4 \
x86-64-ufispace-s9700-23d-r5 \
x86-64-ufispace-s9700-23d-r6 \
x86-64-ufispace-s9700-23d-r7 \
x86-64-ufispace-s9700-23d-r8 \
x86-64-ufispace-s9700-53dx-r0 \
x86-64-ufispace-s9700-53dx-r1 \
x86-64-ufispace-s9700-53dx-r2 \
x86-64-ufispace-s9700-53dx-r3 \
x86-64-ufispace-s9700-53dx-r4 \
x86-64-ufispace-s9700-53dx-r5 \
x86-64-ufispace-s9700-53dx-r6 \
x86-64-ufispace-s9700-53dx-r7 \
x86-64-ufispace-s9700-53dx-r8 \
x86-64-ufispace-s9700-53dx-r9 \
x86-64-ufispace-s9700-53dx-r10 \
x86-64-ufispace-s9705-48d-r0 \
x86-64-ufispace-s9705-48d-r1 \
x86-64-ufispace-s9705-48d-r2 \
x86-64-ufispace-s9705-48d-r3 \
x86-64-ufispace-s9705-48d-r4 \
x86-64-ufispace-s9705-48d-r5 \
x86-64-ufispace-s9705-48d-r6 \
x86-64-ufispace-s9705-48d-r7 \
x86-64-ufispace-s9705-48d-r8 \
x86-64-ufispace-s9705-48d-r9 \
x86-64-wnc-rseb-w1-32-r0 \
"

ONL_MODULE_VENDORS_BROKEN:arm = " \
"

# technically accton builds, but conflicts with csp7550's modules
ONL_MODULE_VENDORS_BROKEN:x86-64 = " \
accton \
netberg \
quanta \
ufispace \
"

0 comments on commit 15779b6

Please sign in to comment.