6.52. Ninja-1.9.0

Ninja 是一个专注于速度的小型构件系统。

大致构建用时: 0.2 SBU
所需磁盘空间: 65 MB

6.52.1. 安装 Ninja

在运行时,ninja 通常会并行最大数量的进程。默认值是系统的核心数乘以二。有些时候会导致 CPU 过热,或者内存容量不足。如果是命令行运行,通过传递 -jN 参数可以限制并行的进程数,但是有些软件包虽然潜入了 ninja 的执行却不会传递 -j 参数。

通过使用下方 可选 过程,让用户能够通过环境变量 NINJAJOBS 来限制并行进程的数量。例如, 设定:

export NINJAJOBS=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 重新构建自身以适应当前系统。

查看测试结果,输入:

python3 configure.py
./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

6.52.2. Ninja 软件包内容

安装的程序: ninja

简要介绍

ninja

Ninja 构件系统。