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