8.52. Ninja-1.11.0

Ninja er et lite byggesystem med fokus på hastighet.

Omtrentlig byggetid: 0.6 SBU
Nødvendig diskplass: 79 MB
[Tip]

Tip

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.

8.52.1. Installasjon av Ninja

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

8.52.2. Innhold av Ninjainja

Installerte programmer: ninja

Korte beskrivelser

ninja

er Ninja byggesystemet