Hi everyone, again with the BSP work. So I’ve been reading through the Software Engineering documentation and it has this great topic on build items here If you look at the example the value changes based on different BSPs being built.
So far, great. So in my BSP I want to have a BSP option that lets me select the ‘flavor’ of this BSP (flavor here being a slight variation for generally the same BSP like where the console is, as an example) So I thought I would have a option in optflavor.yml that could be set by the user or by the BSP being build so lets say it set ICECREAM_BSP_FLAVOR to one of vanilla, chocolate, or strawberry. If I dump the BSP options using WAF it shows I’ve selected strawberry. Now I want an option that changes based on what the ICECREAM_BSP_FLAVOR option is set to, so I have an opttastes.yml that does something like:
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
actions:
- get-string: null
- define: null
build-type: option
copyrights:
- Copyright (C) 2026 me
define:
- enabled-by: vanilla
value: "bland"
- enabled-by: chocolate
value: "tasty"
- enabled-by: strawberry
value: "fabulous"
- enabled-by: true
value: "not specified"
format: '{}'
name: ICE_CREAM_TASTE_OPINION
But no matter what I set the flavor to the only thing it ever sets it to is not specified (the default true value) rather than an actual value.
I verified (by putting another - enabled-by: true item at the top that as the manual suggests the first one to evaluate to true is used. While I might have YAML syntax errors in my example here I have a syntax checker that I use with these files and the actual code is fine.
The RTEMS Software Engineering manuals say “if the value is in the enable set (emphasis in the manual) then it returns true” But it never actually defines what the ‘enable set’ is other than saying “Its the things that are enabled” and how I might add to it in my YAML option files.
–Chuck