我看到waf在其环境中读取了一些shell变量并将其保存(https://code.google.com/p/waf/wiki/EnvironmentVariables)。但是从Waf书中,我无法找到,我怎么能……
是的,这是waf在Python中的优势,因此您可以从任何地方获取数据,以便您可以使用Python库进行读取。
然而,waf已经完成了你的工作 ApiDocs Configure对象上有add_os_flags,它将一个OS环境变量读入Configure对象的env字典中
例如
def configure(conf): conf.add_os_flags('CFLAGS')
我会注意到,在构建中而不是在外部变量中使用数据并使用命令行选项可能会更好。这样做的原因是允许项目轻松移动到另一个环境,它将工作,而不必设置可能被遗忘的额外的东西。换句话说,将配置保持在一个地方,而不是分散在几个地方。