Ninja er et lite byggesystem med fokus på hastighet.
Denne delen er ikke strengt nødvendig for LFS hvis den 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 kjøre et system ut av minne. Hvis du kjører fra kommandolinjen, sender du en -jN-parameter vil det begrense antall parallelle prosesser, men noen pakker bygger inn utførelsen av ninja og sender ikke en -j parameter.
Ved å bruke optional prosedyren nedenfor lar en bruker begrense antall parallelle prosesser via en miljøvariabel, NINJAJOBS. For eksempel, å sette:
export NINJAJOBS=4
vil begrense ninja til fire parallelle prosesser.
Hvis ønskelig, legg til muligheten til å bruke miljøvariabelen NINJAJOBS ved å kjøre:
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