mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-25 07:42:19 +08:00
74 lines
2.8 KiB
Markdown
74 lines
2.8 KiB
Markdown
|
<package-info :package="package" showsbu2></package-info>
|
|||
|
|
|||
|
<script>
|
|||
|
new Vue({
|
|||
|
el: '#main',
|
|||
|
data: { package: {} },
|
|||
|
mounted: function () {
|
|||
|
this.getPackage('ninja');
|
|||
|
},
|
|||
|
methods: {
|
|||
|
getPackage: function(name) {
|
|||
|
getPackage(name)
|
|||
|
.then(response => this.package = response);
|
|||
|
},
|
|||
|
}
|
|||
|
})
|
|||
|
</script>
|
|||
|
|
|||
|
## Подготовка
|
|||
|
|
|||
|
?> Хотя данный пакет предлагается использовать при установке SystemD, однако он может понадобиться при установке многих других пакетов, за пределами создания базовой системы. Вернитесь к этой инструкции по мере необходимости.
|
|||
|
|
|||
|
?> `ninja` запускает максимальное количество процессов параллельно. По умолчанию это количество ядер в системе плюс два. В некоторых случаях это может привести к перегреву ЦП или нехватке памяти в системе. При запуске из командной строки передача параметра ``-jN`` ограничит количество параллельных процессов, но некоторые пакеты могут не передавать параметр ``-j``.
|
|||
|
|
|||
|
Использование переменной окружения `NINJAJOBS` гарантирует ограничение на количество параллельных процессов.
|
|||
|
|
|||
|
Экспортируя эту переменую, укажите требуемое количество процессов, в соответствии с возможностями:
|
|||
|
|
|||
|
```bash
|
|||
|
export NINJAJOBS=4
|
|||
|
```
|
|||
|
|
|||
|
Для того, чтобы задействовать значение переменной `NINJAJOBS`, выполните корректировку:
|
|||
|
|
|||
|
```bash
|
|||
|
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
|
|||
|
```
|
|||
|
|
|||
|
## Сборка
|
|||
|
|
|||
|
```bash
|
|||
|
python3 configure.py --bootstrap
|
|||
|
```
|
|||
|
|
|||
|
### Объяснение параметров
|
|||
|
|
|||
|
`--bootstrap` - параметр определяет что необходимо выполнить сборку для данной системы.
|
|||
|
|
|||
|
|
|||
|
## Тестирование
|
|||
|
|
|||
|
```bash
|
|||
|
./ninja ninja_test
|
|||
|
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
|
|||
|
```
|
|||
|
|
|||
|
## Установка
|
|||
|
|
|||
|
```bash
|
|||
|
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
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
## Установленные файлы
|
|||
|
|
|||
|
Программы: ``ninja``
|