Linux From Scratch(LFS11.0)构建 LFS 系统 - Ninja-1.10.2

Posted Lucifer三思而后行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux From Scratch(LFS11.0)构建 LFS 系统 - Ninja-1.10.2相关的知识,希望对你有一定的参考价值。

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

安装 Ninja

解压软件包:

cd /sources
tar -xf ninja-1.10.2.tar.gz
cd ninja-1.10.2

在运行时,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

运行以下命令以测试编译结果:

./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

安装完成后清理工作:

cd ..
rm -rf ninja-1.10.2

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

以上是关于Linux From Scratch(LFS11.0)构建 LFS 系统 - Ninja-1.10.2的主要内容,如果未能解决你的问题,请参考以下文章

Linux From Scratch(LFS11.0)构建 LFS 系统 - 清理系统

Linux From Scratch(LFS11.0)构建 LFS 系统 - GCC-11.2.0

Linux From Scratch(LFS11.0)收尾工作

Linux From Scratch(LFS11.0)收尾工作

Linux From Scratch(LFS11.0)构建 LFS 系统 - Diffutils-3.8

Linux From Scratch(LFS11.0)构建 LFS 系统 - Inetutils-2.1