8.55. Ninja-1.11.1

このパッケージは、処理速度を重視した軽量なビルドシステムを提供します。

概算ビルド時間: 0.3 SBU
必要ディスク容量: 75 MB

8.55.1. Ninja のインストール

ninja は、可能な限り最大数のプロセスを使って並行処理により実行します。 そのプロセス数はデフォルトでは、システムのコア数に 2 を加えたものとなります。 このことが CPU をオーバーヒートさせたり、out of memory を引き起こす場合があります。 ninja をコマンドラインから実行する場合には -jN パラメーターを使って、並行プロセスの数を制御することもできます。 ただ ninja の実行を組み込んでいるパッケージの場合は -j パラメーターを与えることができません。

以降に示す 任意 の手順を用いると、並行プロセス数を環境変数 NINJAJOBS から制御できるようになります。 たとえば 以下のように設定します。

export NINJAJOBS=4

こうすると ninja の並行プロセスを 4 つに制限できます。

必要な場合は、以下のようにストリームエディターを実行して、ninja が環境変数 NINJAJOBS を認識するようにします。

sed -i '/int Guess/a \
  int   j = 0;\
  char* jobs = getenv( "NINJAJOBS" );\
  if ( jobs != NULL ) j = atoi( jobs );\
  if ( j > 0 ) return j;\
' src/ninja.cc

以下を実行して ninja をビルドします。

python3 configure.py --bootstrap

build オプションの意味

--bootstrap

本パラメーターは、この時点でのシステムに対して Ninja 自身を再ビルドすることを指示します。

ビルド結果をテストする場合は、以下を実行します。

./ninja ninja_test
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots

パッケージをインストールします。

install -vm755 ninja /usr/bin/
install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja
install -vDm644 misc/zsh-completion  /usr/share/zsh/site-functions/_ninja

8.55.2. Ninja の構成

インストールプログラム: ninja

概略説明

ninja

Ninja ビルドシステム。