Ninja é um sistema de construção pequeno com um foco em velocidade.
Quando executado, ninja normalmente utiliza o maior número possível de processos em paralelo. Por padrão, esse é o número de núcleos no sistema, mais dois. Isso possivelmente superaqueça a CPU ou faça o sistema ficar sem memória. Quando ninja é invocado a partir da linha de comando, passar o parâmetro -jN limitará o número de processos paralelos. Alguns pacotes embutem a execução do ninja e não passam o parâmetro -j para ele.
Usar o procedimento opcional abaixo permite que um(a) usuário(a) limite o número de processos paralelos via uma variável de ambiente, NINJAJOBS. Por exemplo, configurar:
export NINJAJOBS=4
limitará ninja a quatro processos paralelos.
Se desejado, [então] faça o ninja reconhecer a variável de ambiente NINJAJOBS executando o editor de fluxo:
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
Construa Ninja com:
python3 configure.py --bootstrap
O significado da opção de construção:
--bootstrap
Esse parâmetro força Ninja a reconstruir ele próprio para o sistema atual.
Para testar os resultados, emita:
./ninja ninja_test ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
Instale o pacote:
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