mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-20 04:30:41 +03:00
128 lines
4.7 KiB
XML
128 lines
4.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||
%general-entities;
|
||
]>
|
||
|
||
<sect1 id="ch-system-ninja" role="wrap">
|
||
<?dbhtml filename="ninja.html"?>
|
||
|
||
<sect1info condition="script">
|
||
<productname>ninja</productname>
|
||
<productnumber>&ninja-version;</productnumber>
|
||
<address>&ninja-url;</address>
|
||
</sect1info>
|
||
|
||
<title>Ninja-&ninja-version;</title>
|
||
|
||
<indexterm zone="ch-system-ninja">
|
||
<primary sortas="a-Ninja">Ninja</primary>
|
||
</indexterm>
|
||
|
||
<sect2 role="package">
|
||
<title/>
|
||
|
||
<para>Ninja - небольшая система сборки ориентированная на скорость.</para>
|
||
|
||
<segmentedlist>
|
||
<segtitle>&buildtime;</segtitle>
|
||
<segtitle>&diskspace;</segtitle>
|
||
|
||
<seglistitem>
|
||
<seg>&ninja-fin-sbu;</seg>
|
||
<seg>&ninja-fin-du;</seg>
|
||
</seglistitem>
|
||
</segmentedlist>
|
||
|
||
</sect2>
|
||
|
||
<sect2 role="installation">
|
||
<title>Установка пакета Ninja</title>
|
||
|
||
<para>При запуске <command>ninja</command> обычно использует максимальное количество
|
||
процессов параллельно. По умолчанию это количество ядер в системе плюс два. В некоторых
|
||
случаях это может привести к перегреву процессора или нехватке памяти в системе.
|
||
Когда <command>ninja</command> вызывается из командной строки, передача параметра -jN
|
||
ограничит количество параллельных процессов. Некоторые пакеты встраивают выполнение
|
||
<command>ninja</command> и параметр -j не передается.</para>
|
||
|
||
<para>Использование приведенной ниже <emphasis>необязательной</emphasis> процедуры
|
||
позволяет пользователю ограничить количество параллельных процессов с помощью переменной
|
||
окружения NINJAJOBS. <emphasis role="bold">Пример</emphasis>, настройки:
|
||
|
||
<screen>export NINJAJOBS=4</screen>
|
||
|
||
ограничит <command>ninja</command> четырьмя параллельными процессами.</para>
|
||
|
||
<para>По желанию, добавьте возможность использовать переменную окружения NINJAJOBS, выполнив
|
||
следующую команду:</para>
|
||
|
||
<screen><userinput remap="pre">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</userinput></screen>
|
||
|
||
<para>Соберите Ninja с помощью команды:</para>
|
||
|
||
<screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen>
|
||
|
||
<variablelist>
|
||
<title>Значение параметров сборки:</title>
|
||
|
||
<varlistentry>
|
||
<term><parameter>--bootstrap</parameter></term>
|
||
<listitem>
|
||
<para>Этот параметр перестраивает Ninja под текущую систему.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
</variablelist>
|
||
|
||
<para>Чтобы протестировать пакет, выполните:</para>
|
||
|
||
<screen><userinput remap="test">./ninja ninja_test
|
||
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots</userinput></screen>
|
||
|
||
<para>Установите пакет:</para>
|
||
|
||
<screen><userinput remap="install">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</userinput></screen>
|
||
|
||
</sect2>
|
||
|
||
<sect2 id="contents-ninja" role="content">
|
||
<title>Содержимое пакета Ninja</title>
|
||
|
||
<segmentedlist>
|
||
<segtitle>Установленные программы</segtitle>
|
||
|
||
<seglistitem>
|
||
<seg>ninja</seg>
|
||
</seglistitem>
|
||
</segmentedlist>
|
||
<variablelist>
|
||
<bridgehead renderas="sect3">Краткое описание</bridgehead>
|
||
<?dbfo list-presentation="list"?>
|
||
<?dbhtml list-presentation="table"?>
|
||
|
||
<varlistentry id="ninja">
|
||
<term><command>ninja</command></term>
|
||
<listitem>
|
||
<para>это система сборки Ninja</para>
|
||
<indexterm zone="ch-system-ninja ninja">
|
||
<primary sortas="b-ninja">ninja</primary>
|
||
</indexterm>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
</variablelist>
|
||
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|