8.52. Ninja-1.11.0

Ninja - небольшая система сборки ориентированная на скорость.

Приблизительное время сборки: 0.6 SBU
Требуемое дисковое пространство: 79 MB
[Подсказка]

Подсказка

Этот раздел необязателен, если LFS не использует systemd. С другой стороны, связка ninja/meson - это мощная система сборки, которая, скорее всего, будет использоваться все чаще и чаще. Она необходима для нескольких пакетов из книги BLFS.

8.52.1. Установка пакета Ninja

При работе ninja обычно запускает максимальное количество процессов параллельно. По умолчанию это количество ядер в системе плюс два. В некоторых случаях это может привести к перегреву процессора или к нехватке памяти в системе. При запуске из командной строки передача параметра -jN ограничит количество параллельных процессов, у некоторых пакетов запуск ninja встроен и параметр -j не передается.

Использование приведенной ниже необязательной процедуры позволяет пользователю ограничить количество параллельных процессов с помощью переменной окружения NINJAJOBS. Пример, настройки:

export NINJAJOBS=4

ограничит ninja четырьмя параллельными процессами.

По желанию добавьте возможность использовать переменную окружения 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

8.52.2. Содержимое пакета Ninja

Установленная программа: ninja

Краткое описание

ninja

это система сборки Ninja