Parrot-Developers/alchemy

lack of support for "depends on" kconfig semantic

jbmaillet opened this issue · 0 comments

The "depends on" feature of the kconfig language:
https://github.com/Parrot-Developers/alchemy/blob/master/kconfig/kconfig-language.txt#L85
...is not supported in the Config.in generation (only "select" is), as can be seen here:
https://github.com/Parrot-Developers/alchemy/blob/master/scripts/confwrapper.py#L395

Appart for the partial support of the kconfig language, there are 2 negative side effects with that:

  • kconfig-aware package developers may use "depends on" in their atom.mk, not knowing the fact that it is not actually supported and changed to a "select" (it occurred at Parrot).
  • Not so kconfig-aware package developers use "select" everywhere, which can result in spurious circular dependencies (it also occurred at Parrot).

Side note:
I stumbled on the issue parsing Alchemy's generated configuration file with kconfiglib, which is pleasantly picky compared to the vanilla C parser - it could be used as a linter!
https://pypi.org/project/kconfiglib/