[riot-devel] Upcoming `CPU` and `CPU_MODEL` definition migration.
gaetan.harter at fu-berlin.de
Tue Jul 23 18:25:03 CEST 2019
Dear RIOT developers, board contributors,
as agreed in https://github.com/RIOT-OS/RIOT/pull/11478 `CPU` and
`CPU_MODEL` variables will be moved from board `Makefile.include` to
This migration will start after 2019.07 release will have been finalized.
The tracking pull request following this is available at
Some issues/board specific handling are still unresolved and will have
to be tackled along the way. I will come to ask for help when I cannot
chose a solution myself.
I wanted to inform you of this change that will affect open pull
requests and current practices.
Please update your pull requests and take it into account during reviews
after the release.
Update of `CPU_FAM`, `CPU_ARCH` and related variables should also follow
the same migration in `cpu` in following steps.
The mid-term goal is to allow parsing dependencies in a consistent and
independent step removing the need for the current workarounds.
The long term goal, is that having a consistent state, could help trying
new ideas on how to define the dependencies with a way to verify
The reason behind this is that the board/cpu `Makefile.include` files
need to allow different configuration depending on the used modules.
However, in the current parsing, `Makefile.dep` is evaluated after
`Makefile.include` so leads to using value before being correctly defined.
The plan is to move the parsing before.
As dependencies resolution depend on the `CPU` or `CPU_MODEL` variables
they need to have the value moved out of `Makefile.include` and it will
be to `Makefile.features.
It will remove duplication as boards `Makefile.features` were already
including `CPU/Makefile.features` by hardwriting the cpu value.
`Makefie.dep` was doing it too due to the next issue.
It will fix the inconsistency that the evaluation of supported boards
used by CI was ignoring board and cpu `Makefile.include` so led to
ignoring dependencies defined in board and cpu `Makefile.include` and
also the value of `CPU` and `CPU_MODEL`.
This led to hacks to filter on `BOARD` instead of `CPU_MODEL` in the
I will do my best to prevent regressions and do a smooth transition.
As it can still happen, please notify if you find any issues caused by this.
Thank you for your comprehension
Gaëtan - @cladmi
More information about the devel