如何避免库中的多重检查?
问题描述:
我试图在多个项目中使用不同的模块(包含独立的wscript文件),以便模块可以在一个地方开发,并且可以在很多地方检出。如何避免库中的多重检查?
我有一个项目的顶级WScript的是这样的:
def configure(cfg):
...
cfg.recurse('a')
cfg.recurse('b')
...
而WScript的的模块从子目录 './a' 和 './b':
def configure(cfg):
...
cfg.check_cxx(lib='z')
...
所以,有没有办法告诉waf只检查一次libz?
答
不,没有内置的东西可以做到这一点。 我只是建议解决办法: - 让你知道会被check_cxx 如果“LIB_Z”不cfg.env定义的东西:cfg.check_cxx(...) - 如果cfg或者添加化妆check_cxx定义的东西 。 get_define(“HAVE_ZLIB”)不是无:cfg.check_cxx(lib ='z',define_name =“HAVE_ZLIB”)
我怀疑可以在check_cxx等方法中执行任何缓存,他们可以做很多事情并由关键字控制...