Would it be possible to add additional architectures for embedded microcontrollers to the default settings.yml file? This would make it possible to support CI in Conan Center for recipe's targeting microcontrollers such as conan-io/conan-center-index#17528.
This particular recipe is focused on the Arm embedded architectures, which are almost always actually the thumb variations of the ISA instead of the arm forms.
Rust has some helpful naming conventions for these: thumbv6m, thumbv7m, and thumbv7em, thumbv8m.base, and thumbv8m.main documented here.
It's also possible to use GCC's naming conventions described here: armv6-m, armv7-m, armv7e-m, armv8.1-m.main, and armv8-m.main.
Note that it is probably important to make the distinction between the thumb format and the arm format, though in practice the thumb format is used for microcontrollers.
Of course, the ISA's for microcontrollers have a lot more configurability, so properly defining everything would require a lot of subsettings to define the FPU, floating-point ABI, and extensions, though many of these could alternatively be defined by consumers directly via compiler and linker flags through the conf options for tools.build.*flags.
What is your suggestion?
Would it be possible to add additional architectures for embedded microcontrollers to the default
settings.yml
file? This would make it possible to support CI in Conan Center for recipe's targeting microcontrollers such as conan-io/conan-center-index#17528.This particular recipe is focused on the Arm embedded architectures, which are almost always actually the thumb variations of the ISA instead of the
arm
forms. Rust has some helpful naming conventions for these:thumbv6m
,thumbv7m
, andthumbv7em
,thumbv8m.base
, andthumbv8m.main
documented here. It's also possible to use GCC's naming conventions described here:armv6-m
,armv7-m
,armv7e-m
,armv8.1-m.main
, andarmv8-m.main
. Note that it is probably important to make the distinction between thethumb
format and thearm
format, though in practice thethumb
format is used for microcontrollers.Of course, the ISA's for microcontrollers have a lot more configurability, so properly defining everything would require a lot of subsettings to define the FPU, floating-point ABI, and extensions, though many of these could alternatively be defined by consumers directly via compiler and linker flags through the
conf
options fortools.build.*flags
.Have you read the CONTRIBUTING guide?