Boostをソースからビルドする

ソースコードからBoostをビルドする方法。
B2という独特のビルドツールが出てきて少しハマったのでメモ。

ソースコードの取得

Officialサイトより。

1
2
3
4
wget https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.gz

tar xzf boost_1_74_0.tar.gz
cd boost_1_74_0

B2のビルド

BoostのビルドにはB2というビルドツールを使用する。
B2はBoostに同梱されているが、Boost以外のプロジェクトにも使用できるビルドツールである。
詳しくはないが、CMakeBazelの類と思っておけばよい。

まずはbootstrap.shでB2そのものをビルドする。

1
./bootstrap.sh

Boostのビルド

あとは./b2 installとすれば基本的にはOKだが、以下のようなオプションがある。

ヘルプ表示

1
./b2 --help

ビルド時のマルチコア化

たとえば8コア使用する場合。

1
./b2 -j8

ビルドできるライブラリ一覧

1
./b2 --show-libraries

ビルドするライブラリを限定する

例えばfilesystemthreadのみを8コアでビルドしてインストールする場合。
--with-<library>で指定する。

1
./b2 --with-filesystem --with-thread -j8 install

逆にビルドしないものを--without-<library>で指定もできる。

インストール先の変更

同梱のproject-config.jamを変更しても良いし、以下のようにコマンドラインで上書きしてもよい。

1
./b2 --libdir=/usr/lib/x86_64-linux-gnu install