Buildroot配置中rrdtool注释后!BR2_USE_WCHAR否定标记作用问询
Buildroot中rrdtool Kconfig注释否定依赖的设计作用
首先对应Kconfig配置代码如下:
config BR2_PACKAGE_RRDTOOL bool "rrdtool" depends on BR2_USE_WCHAR select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBART select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_ZLIB help RRDtool是行业标准的开源高性能时间序列数据记录、绘图系统。 comment "rrdtool需要带宽字符(wchar)支持的工具链" depends on !BR2_USE_WCHAR
这个否定依赖的设计作用非常明确:
- 首先
BR2_PACKAGE_RRDTOOL配置项本身设置了depends on BR2_USE_WCHAR,意味着只有当Buildroot工具链开启了宽字符支持时,rrdtool的编译选项才会在make menuconfig的可选列表中显示,否则这个选项会被直接隐藏,用户无法选中编译。 - 后面的注释加上
!BR2_USE_WCHAR依赖,就是为了在工具链未开启宽字符支持(也就是用户看不到rrdtool选项)的场景下,主动在菜单中显示提示文本,告诉用户找不到rrdtool配置项的原因是工具链缺少宽字符特性,避免用户产生疑惑。 - 如果这里不使用否定依赖,直接用和配置项一致的
BR2_USE_WCHAR依赖,就会出现「开了宽字符能看到rrdtool选项时才显示提示」的反向效果,完全失去了缺失依赖提示的意义。
内容的提问来源于stack exchange,提问作者Z-Buffer
相关产品推荐
相关产品推荐

