如何制作选项取决于buildroot中的库版本

时间:2016-10-08 09:38:48

标签: linux buildroot

我在buildroot菜单中有一个选项,只有当MY_LIBRARY的版本更大2.0时才能激活。

库版本在Kconfig文件中配置如下

config MY_LIBRARY_VERSION
    string "1.0"
    help
    gives the version of the library

该选项配置如下:

config MY_OPTION
    bool " My Option "
    help
    option activated only if MY_LIBRARY_VERSION > 2.0

我希望在启用MY_LIBRARY激活之前添加检查MY_OPTION版本的smth

1 个答案:

答案 0 :(得分:2)

这在Kconfig语言中是不可能的。 Kconfig仅支持相等和不相等的条件。

解决方法很麻烦。什么buildroot做的例如内核头文件版本:

  • 有一个字符串选项来指定版本。
  • 此外,还有一个选项可指定所有可能的版本(BR2_KERNEL_HEADERS_X_Y)。
  • 指定最小版本(BR2_KERNEL_HEADERS_AT_LEAST_X_Y)有不同的隐藏符号。
  • 每个BR2_KERNEL_HEADERS_X_Y选项都会选择相应的BR2_KERNEL_HEADERS_AT_LEAST_X_Y选项。
  • 每个BR2_KERNEL_HEADERS_AT_LEAST_X_Y选项都会选择之前的BR2_KERNEL_HEADERS_AT_LEAST_X_(Y-1)选项。
  • 其他配置选项取决于BR2_KERNEL_HEADERS_AT_LEAST_X_Y选项。
  • 在makefile中,检查下载的标题是否与指定的BR2_KERNEL_HEADERS_X_Y选项完全对应。

对于您的案例,一个可能更简单的解决方案是允许用户只选择预定义的一组版本而不是自由文本字符串。