8.52. Ninja-1.11.1

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

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

Подсказка

Этот раздел не обязателен, если LFS не использует systemd. С другой стороны, Ninja вместе с Meson составляет мощную комбинацию систем сборки, которая, вероятно, будет использоваться все чаще и чаще. Ninja требуется для нескольких пакетов в книге BLFS.

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

При запуске 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