如何在waf脚本中指定os平台?

时间:2017-12-22 15:28:01

标签: waf

我是waf构建工具的新手,我已经搜索了答案,但很少有无用的链接。

有人知道吗?

由于wscript本质上是一个python脚本,我想我可以使用os包吗?

2 个答案:

答案 0 :(得分:2)

不要使用os模块,而是使用DEST_*变量:

ctx.load('compiler_c')
print (ctx.env.DEST_OS, ctx.env.DEST_CPU, ctx.env.DEST_BINFMT)

在我的机器上,这将打印('linux', 'x86_64', 'elf')。然后你可以发送它。

答案 1 :(得分:0)

您可以在任何可以使用任何其他python脚本的地方使用import

我更喜欢使用platform来编写函数os-agnostic,而不是评估os的某些属性。

Build-related commands os-agnostic中编写waf book示例,看起来像这样:

import platform

top = '.'
out = 'build_directory'

def configure(ctx):
    pass

def build(ctx):
    if platform.system().lower().startswith('win'):
        cp = 'copy'
    else:
        cp = 'cp'
    ctx(rule=cp+' ${SRC} ${TGT}', source='foo.txt', target='bar.txt')