8.50. Ninja-1.10.0

Ninja 是一个注重速度的小型构建系统。

估计构建时间: 0.2 SBU
需要硬盘空间: 78 MB

8.50.1. 安装 Ninja

在运行时,ninja 一般尽量并行运行更多进程。默认情况下最大进程数是系统 CPU 核心数加 2 得到的值。某些情况下,这样会导致 CPU 过热,或者耗尽系统内存。如果使用命令行执行 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

构建选项的含义:

--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.50.2. Ninja 的内容

安装的程序: ninja

简要描述

ninja

是 ninja 构建系统。