Lx4U-book/docs/cross-toolchain/binutils.md

68 lines
1.8 KiB
Markdown
Raw Normal View History

<package-info :package="package" showsbu></package-info>
2021-04-25 21:11:03 +08:00
<script>
new Vue({
el: '#main',
data: { package: {} },
mounted: function () {
this.getPackage('binutils');
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
}
}
})
</script>
## Сборка
2021-04-27 15:06:07 +08:00
!> **Пакет binutils должен быть установлен раньше GCC и libc**
2021-04-25 21:11:03 +08:00
Документация binutils рекомендует использовать отдельную директорию для сборки:
```bash
mkdir bld
cd bld
```
2021-04-26 14:35:09 +08:00
**1 SBU равен времени сборки данного пакета**
2021-04-25 21:11:03 +08:00
Сначала запустим скрипт `configure`:
```bash
../configure --prefix=$LIN/tools \
--with-sysroot=$LIN \
--target=$LIN_TGT \
--disable-nls \
--disable-werror
```
Для MultiLib добавьте параметр --enable-multilib
### Объяснение
` --with-sysroot=$LIN ` `--target=$LIN_TGT` - необходимо для кросс-компиляции.
`--disable-nls` - Для кросс-компилятора не требуется локализация.
`--disable-werror` - Отключает остановку сборки при предупреждениях.
Далее скомпилируем пакет:
```bash
make
```
## Установка
Чтобы установить данный пакет, выполните:
```bash
make install -j1
```
2021-04-27 13:17:51 +08:00
`-j1` предотвращает возможную ошибку.
2021-04-27 13:19:40 +08:00
Дополнительную информацию о компиляции пакетов смотрите [здесь](../additional/src-compiling.md)