2

bld.shlib(...)コマンドでビルドされたライブラリを にインストールしたいのですが<prefix>/lib<arch_suffix>、arch_suffix はアーキテクチャに応じて 64 または空にすることができます。

これどうやってするの?

それが不可能な場合、このサフィックスを明示的に指定するにはどうすればよいですか?

4

1 に答える 1

3

これは、役立つはずの簡単な例です。インストールパスを変更するのは本当に簡単です。この例では、オプション コンテキストの「configure options」グループに「suffix」オプションを追加します。次に、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

于 2012-02-08T15:24:36.887 に答える