Ninja er et lite byggesystem med fokus på hastighet.
Denne delen er strengt tatt ikke nødvendig for LFS hvis det ikke brukes systemd. På den annen side, ninja knyttet til meson gir et kraftig byggesystemkombinasjon, som forventes å bli brukt stadig oftere. Det kreves for flere pakker i BLFS boken.
Når den kjøres, kjører ninja normalt et maksimalt antall prosesser parallelt. Som standard er dette antall kjerner på systemet pluss to. I noen tilfeller kan dette overopphete en CPU eller bruke opp systemets minne. Når ninja påkalles fra kommandolinjen, å sende parameteren -jN vil begrense antall parallelle prosesser. Noen pakker legger inn utførelsen av ninja, og gir ikke parameteren -j videre til den.
Ved å bruke den valgfrie prosedyren nedenfor lar en bruker begrense antall parallelle prosesser via en miljøvariabel, NINJAJOBS. For eksempe, å sette:
export NINJAJOBS=4
vil begrense ninja til fire parallelle prosesser.
Om ønskelig, la ninja gjenkjenne miljøvariabelen NINJAJOBS ved å kjøre strømredigeringsprogrammet:
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
Bygg Ninja med:
python3 configure.py --bootstrap
Betydningen av byggealternativet:
--bootstrap
Denne parameteren tvinger ninja til å gjenoppbygge seg selv for gjeldene system.
For å teste resultatene, utsted:
./ninja ninja_test ./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
Installer pakken:
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