启用cdl_option后,我们可以在eCos包中添加特定的CFLAG吗?

时间:2010-11-10 09:44:05

标签: ecos

假设我们有一个名为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 ......

所以我的问题是:我可以做第一段所描述的内容,如果是,怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

-DFEATURE_A=1与在源文件或头文件中编写#define FEATURE_A 1相同。

设置CYGPKG_FOO_FEATURE_A_ENABLE时,会导致在自动生成的包含文件中设置一些预处理器符号。运行install/include/pkgconf/后,请查看ecosconfig目录。如果默认值不符合您的喜好,您可以在CDL中添加更多define行以进一步定义符号。

如果您想要精确控制这些符号所采用的值,您可以使用cdl_option,可能使用legal_valuescalculated指令来执行此操作;如果没有,您可以在包内的头文件中添加合适的定义,这将打开是否存在预处理器符号。