BBv1とBBv2
今日はドキュメント書きしかしてないので、引き続きBoostBuildネタを。
BBv1を採用していたHamigakiライブラリですが、ドキュメントにBootBookを採用するにあたり、BBv2を混在させることになりました。Boostパッケージもv1/v2混在の状態なので、まずこれが何をしているのか調べてみました。
BoostでBBv2を使用する場合はbjamに--v2オプションを付けることになっています。このオプションはboost-build.jamの動作に影響を及ぼします。
#~ Copyright (C) 2002-2003, David Abrahams. #~ Copyright (C) 2002-2003, Vladimir Prus. #~ Copyright (C) 2003, Rene Rivera. #~ Use, modification and distribution are subject to the #~ Boost Software License, Version 1.0. (See accompanying file #~ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) BOOST_ROOT = $(.boost-build-file:D) ; if --v2 in $(ARGV) { JAMFILE = [Jj]amfile.v2 ; boost-build tools/build/v2 ; } else { boost-build tools/build/v1 ; }
要するに、bjamに--v2というオプションがあるのではなく、boost-build.jamで引数を見て場合分けしているだけです。boost-build.jamの読み込みはbjamに組み込まれているJambaseファイルで行われています。これによるとboost-build.jamのサーチは、
の順です。
Hamigakiライブラリではドキュメント以外にBBv2を使っていないので、docディレクトリに専用のboost-build.jamを置いて、BBv2に切り替えることにしました。なので、ドキュメントを作成する場合は、docディレクトリで、
bjam
とするだけでOKです。(--v2はいらない)
Jamfileも拡張子.v2を付ける必要はないんですが、なんとなく付けてます。