6.52. Ninja-1.10.0

Ninja는 속도에 초점을 맞춘 작은 빌드 시스템이다.

예상 빌드 시간: 0.3 SBU
필요 디스크 공간: 89 MB

6.52.1. Ninja 설치

ninja는 실행될 때 보통 최대한의 프로세스를 병렬로 실행한다. 기본값은 시스템의 코어 수 +2이다. 경우에 따라 CPU를 과열시키거나 시스템 메모리가 부족해질 수 있다. 명령줄에서 실행할 경우 -jN 매개 변수를 전달하면 병렬 프로세스 수가 제한되지만 일부 패키지는 ninja를 내부적으로 실행해서 -j 매개 변수를 전달하지 않는다.

아래의 선택적 절차를 따르면 사용자가 환경 변수인 NINJAJOBS를 통해 병렬 프로세스 수를 제한할 수 있다. 예를 들면:

export NINJAJOBS=4

명령은 병렬 프로세스를 4개로 제한한다.

원한다면 다음을 실행하여 환경 변수 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

6.52.2. Ninja의 내용

설치된 프로그램들: ninja

요약

ninja

Ninja 빌드 시스템.