假设我们有一个名为CYGPKG_FOO的软件包,它有一个cdl_option“CYGPKG_FOO_FEATURE_A_ENABLE”。我希望在启用此cdl_option时,将特定的gcc标志(例如“-DFEATURE_A = 1”)添加到此包的CFLAGS中。
但“eCos组件编写指南”说:
http://ecos.sourceware.org/docs-3.0/cdl-guide/build.make.html#BUILD.FLAGS
从上面的链接看,我们无法根据cdl_option选择添加/删除CFLAGS ......
所以我的问题是:我可以做第一段所描述的内容,如果是,怎么做?
谢谢!
答案 0 :(得分:0)
-DFEATURE_A=1
与在源文件或头文件中编写#define FEATURE_A 1
相同。
设置CYGPKG_FOO_FEATURE_A_ENABLE
时,会导致在自动生成的包含文件中设置一些预处理器符号。运行install/include/pkgconf/
后,请查看ecosconfig
目录。如果默认值不符合您的喜好,您可以在CDL中添加更多define
行以进一步定义符号。
如果您想要精确控制这些符号所采用的值,您可以使用cdl_option
,可能使用legal_values
或calculated
指令来执行此操作;如果没有,您可以在包内的头文件中添加合适的定义,这将打开是否存在预处理器符号。