2012-01-23 5 views
4

wafのビルディングライブラリはいいですし、lib<targetname>という命名体系が好きです。しかし、私がboost :: pythonを使っているとき、私はそれを取り除きたいと思います。私は、librarieの名前をターゲット名のようにしたいと思います。これはちょうど単純な名前変更ですが、私は知っていますが、:libをターゲット名の前に置いてwafに伝えることはできますか?(代わりに、そのままの名前を指定してください)?Waf:Python拡張のライブラリ名を指定する

答えて

3

[OK]を取得します。この機能はpythonツールを使用して有効にすることができ、ここで見つける:http://docs.waf.googlecode.com/git/apidocs_16/tools/python.html#module-waflib.Tools.python

主なポイントはconf.init_pyext()を呼び出し、共有ライブラリのビルドディレクティブでfeatures='pyext'を指定されています

def options(opt): 
     opt.load('python') 

def configure(conf): 
    conf.load('python') 
    conf.check_python_version((2,4,2)) 
    conf.check_python_headers() 

def build(bld): 

    bld.shlib(
     features = 'pyext', 
     source = "mymodule.cpp", 
     target = "myfoo", 
     use = "PYTHON BOOST_PYTHON") 

を今、ビルドディレクトリに直接importにすることができるmyfoo.soと呼ばれる共有ライブラリがあります。

関連する問題