[riot-notifications] [RIOT-OS/RIOT] Define requirements for configuration in the build system (#14027)

Leandro Lanzieri notifications at github.com
Wed May 6 10:19:03 CEST 2020

> > * a clear view of the possible configurations for the target hardware
> I guess this means "configuration options". I don't think it is possible to actually show all configurations in a clear way.

With this I mean that the user should be provided with the information of which modules are selectable and which configuration options are available given the target hardware and currently active modules.

> > Must not allow circular dependencies
> Please elaborate. Module A might not work without Module B and vice versa.

AFAIK circular dependencies are in most cases not a good practice, and as such something we would like to move away from. This type of dependency makes modules harder to understand, test and it is not in line with our modular design.

A different thing is that, for a certain feature one needs Module A and Module B to be present. But if both modules need each other, are they actually well modeled? Usually on those cases it is possible to split modules into a finer granularity in order to get the correct dependencies.

> Dependency types:
> * "provides" (if selected, also satisfies dependency FOO)
> * "conflicts" (cannot be selected together with BAR)
> * "one of" (depend on A|B|C, if available, in that order)
> * "if module A is available, depend on B"
> * "if module A is not available, depend on B"

Ok. I think this is something like what I had in mind with:
>Must allow to define module dependencies to:
>   - other modules
>   - hardware features
>   - software features (e.g. a feature that can have different backends)

But I guess we can list which relationships we want to be able to express. This means, among others, that modules should also be able to provide 'features'.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20200506/de0c1c35/attachment.htm>

More information about the notifications mailing list