Open
Description
This issue keeps track of Compile-time configurations for the Configurations TF.
Motivation
Currently there are several compile-time configurations scattered throughout the code. With the current approach it is hard to know beforehand what can be configured and also there's no systematic way to retrieve these configurations and override them.
Additionally there's no encapsulation, in the sense that modules can freely access other modules' configuration.
From a software perspective, all RIOT modules are components. We believe that the build-time configuration should be the same for any RIOT component, without making any artificial distinctions. So, we would like to keep the same spirit as the current configuration macros.
Per-module configurations declaration
Expected outcomes
- Configurations and defaults defined per module.
- Configurations documented and grouped in Doxygen
- Override configurations via CFLAGS or extra header files.
Roadmap
- Identify configurations for each module (see [CTF-tracker] List of identified compile time configurations #10566)
- Add doxygen group to all configurations (first we will start with a common
@configurations
@config
group.Then comes the sub-groupingSub-grouping is being done on the fly). - Add CONFIG prefix (e.g 10077: Initial header file config and Doxygen group)