목차

Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전 위로 / 처음으로 다음
Setuptools-69.1.0 Meson-1.3.2

8.55. Ninja-1.11.1

Ninja는 속도에 중점을 둔 소형 빌드 시스템입니다.


8.55.1 Ninja 설치

ninja는 실행 시 일반적으로 가능한 한 많은 수의 프로세스를 병렬로 사용합니다. 기본적으로 이 수는 시스템의 코어 수에 2개를 더한 수입니다. 이로 인해 CPU가 과열되거나 시스템의 메모리가 부족해질 수 있습니다. 명령줄에서 ninja를 호출할 때 -jN 매개변수를 전달하면 병렬 프로세스 수가 제한됩니다. 일부 패키지는 ninja 실행을 포함하고 있어 -j 매개변수를 전달하지 않습니다.

아래의 선택적 절차를 진행하면 환경 변수인 NINJAJOBS를 통해 병렬 프로세스 수를 제한할 수 있습니다. 예를 들어 아래의 설정은 ninja의 병렬 프로세스를 4개로 제한합니다.

export NINJAJOBS=4

원하는 경우 다음과 같이 Steam EDitor를 실행해서 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


8.55.2 패키지 구성

간략한 설명