prebuiltの選択

HamigakiライブラリのビルドをBoostのビルド済みライブラリに対応させています。
今のところ、user-config.jamで次のように設定する感じです。

# boost-libモジュールのためにBOOST_BUILD_PATHを追加
module
{
    BOOST_BUILD_PATH += C:/hamigaki/tools/build ;
    modules.poke .ENVIRON : BOOST_BUILD_PATH : $(BOOST_BUILD_PATH) ;
}

make-project boost-lib ;
module boost-lib
{
    import boost-prebuilt ;

    alias headers : : : : <include>C:/Boost/boost ;

    local requirements =
        <search>C:/Boost/stage/lib
        <link>shared:<dll-path>C:/Boost/stage/lib
        ;

    boost-prebuilt boost_filesystem : $(requirements) ;
    boost-prebuilt boost_iostreams : $(requirements) ;
    boost-prebuilt boost_regex : $(requirements) ;
    boost-prebuilt boost_thread : $(requirements) ;
    boost-prebuilt boost_unit_test_framework : $(requirements) ;
}

プロジェクト名をboostにするとBoost自体をビルドする場合に困るので、boost-libという名前にしました。
このままだとuser-config.jamのカスタマイズが必須になってしまうので、project-root.jamに既定の設定としてソースからビルドするものも用意しました。

# /boost-libプロジェクトが登録されているかチェック
if ! [ project.find /boost-lib : . ]
{
    # これは今まで通り
    use-project /boost : $(BOOST_ROOT) ;

    # カレントプロジェクトを保存
    project.push-current [ project.current ] ;

    module boost-lib
    {
        __name__ = boost-lib ;

        import project ;
        project.initialize $(__name__) ;
        project $(__name__) ;

        alias headers : /boost//headers ;
        alias boost_filesystem : /boost/filesystem//boost_filesystem ;
        alias boost_iostreams : /boost/iostreams//boost_iostreams ;
        alias boost_regex : /boost/regex//boost_regex ;
        alias boost_thread : /boost/thread//boost_thread ;
        alias boost_unit_test_framework : /boost/test//boost_unit_test_framework ;
    }

    # カレントプロジェクトを復帰
    project.pop-current ;
}

これで上手くいくはずなんですが、まだリンクエラーで引っかかっています。
なんか、Boost.Testのビルドに失敗している気がします。
変な設定を混ぜてしまったみたいですね。

(7/9追記: boost-prebuiltがスタティックリンクに対応していないだけでした。修正済みです。)