如何在waf中指定库安装路径后缀?

时间:2012-02-08 08:48:54

标签: waf

我想将使用命令bld.shlib(...)构建的库安装到<prefix>/lib<arch_suffix>中,其中arch_suffix可以是64或根据体系结构为空。

我该怎么做?

如果不可能,那么我该如何明确指定这个后缀?

1 个答案:

答案 0 :(得分:2)

这是一个可以帮助您的简单示例。更改安装路径非常容易。在此示例中,我将“后缀”选项添加到选项上下文中的“配置选项”组。然后在configure上下文中,我设置了一个名为SUFFIX的环境变量。在构建上下文中,我在“install_path”关键字参数中使用环境变量。这里的导入是您可以引用已设置的任何环境变量。

def options(opt):
    opt.load('compiler_cxx')
    grp = opt.get_option_group('configure options')
    grp.add_option('--suffix',default='',dest='suffix')

def configure(cfg):
    cfg.load('compiler_cxx')
    cfg.env.SUFFIX = cfg.options.suffix

def build(bld):
    src=['example.cpp']
    inc=['.']
    libs=['']
    bld(features=['cxx','cxxprogram'],
        source=src,
        includes=inc,
        target='example',
        name='example',
        use=libs,
        install_path='${PREFIX}/lib${SUFFIX}'
        )

waf distclean configure build install --prefix=/tmp --suffix=64