我想了解菜单配置是如何完成的,例如:对于linux内核或Buildroot。我所知道的是,它使用lxdialog作为GUI, kconfig以某种方式携带逻辑部分(如选择,依赖等)。
但是对话框在哪里或如何从kconfig文件中获取信息?网上似乎没有多少信息。
感谢您的支持
[What i found out:]
我相信kconfiglib是用来加载菜单的,但是没有给出例子,这是如何完成的:/
Kconfig包含:
- Kconfig文件的解析器,由flex/bison生成;
- 解析文件的内部模型+依赖项的业务逻辑等,您可以在symbol.c, expr.c等中找到。
- 使用多个UI库的多个前端,每个库都有自己的源文件,例如lxdialog前端的mconf.c;
- lxdialog库本身是作为kconfig的一部分分发的。
kconfiglib.py是解析器、内部模型和业务逻辑的另一种实现,它使得从python读取Kconfig文件和读写.config文件成为可能。然而,据我所知,没有基于kconfiglib的前端。它也不是作为内核的一部分分发的。
最后,Kconfig -frontend是Kconfig实现的独立克隆,它是内核的一部分。它使得在其他项目中使用Kconfig成为可能,而不必单独复制和维护它。