我有一些这样的代码需要跨平台:
int __attribute__((noinline)) fn() { return 0; }
我想用 Waf 写一个 config.h 包含
#define ATTRIBUTE(attr) __attribute__((attr))
如果编译器支持这个扩展,并且
#define ATTRIBUTE(attr)
否则,我可以像这样重写函数:
int ATTRIBUTE(noinline) fn() { return 0; }
查看配置文档,我没有看到明显的方法来做到这一点。HAS_ATTRIBUTES
如果使用此功能的代码片段无法编译,我能做的最好的事情就是定义一些宏。
waf 是否支持以这种方式配置项目,还是我必须手动编写第二个配置头?
(我正在专门寻找一个 waf 答案。如果我可以使用其他东西,我会的。)