wafでライブラリをビルドしたいのですが、ターゲット名とは別の名前でインストールしてしまいます。できるらしい
bld.shlib(..., install_path='${PREFIX}/lib')
しかし、私は次のようなことができる必要があります:
bld.shlib(..., install_as='${PREFIX}/lib/xyz')
また、 bld.install_as() は、タスクをターゲットとして受け入れないように見えるため、機能しません。また、タスクをターゲットを表すノードに変換する方法がわからないため、次のいずれも機能しません。
tgt = bld.shlib(...)
bld.install_as('foo', tgt)
または、ライブラリ名に自動的に追加される「lib」プレフィックスを無効にできるようにする必要がありますが、ビルド中にすべてのライブラリではなく、この 1 つのライブラリに対してのみです。
bld.shlib(..., libprefix='', install_path="${PREFIX}/lib/")
shlib_PATTERN も設定できることは知っていますが、それは現在の環境のすべてのライブラリに影響するようです。デバッグ/リリースを同時にビルドするために多くの異なる環境を使用するかなり複雑なビルドがあるため、現在の環境を複製してフラグを変更するだけでは機能しません。これは、ターゲットが最終的にビルドされる環境ではなく、デフォルトの環境を複製するためです。 (ビルド時に各環境のターゲットを複製するため)。
何かご意見は?ありがとう!