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

69 lines
1.7 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-25 21:11:03 +08:00
2021-06-28 07:13:28 +08:00
!> **Пакет binutils должен быть установлен раньше GCC и libc**.
2021-04-25 21:11:03 +08:00
Пакет {{package.name}} требует использовать отдельную директорию для сборки. Создайте её:
2021-04-25 21:11:03 +08:00
```bash
2021-06-29 20:47:08 +08:00
mkdir -v build
cd build
2021-04-25 21:11:03 +08:00
```
2021-06-28 07:13:28 +08:00
?> 1 SBU равен времени сборки данного пакета.
2021-04-25 21:11:03 +08:00
2021-06-10 21:28:16 +08:00
Запустим скрипт `configure`:
2021-04-25 21:11:03 +08:00
```bash
../configure --prefix=$LIN/tools \
--with-sysroot=$LIN \
--target=$LIN_TGT \
--disable-nls \
--disable-werror
2021-04-25 21:11:03 +08:00
```
2021-05-07 20:20:16 +08:00
### Для multilib
2021-04-25 21:11:03 +08:00
Добавьте параметр`--enable-multilib`
### Значения параметров
2021-04-25 21:11:03 +08:00
`--with-sysroot=$LIN` `--target=$LIN_TGT` - необходимо для кросс-компиляции.
2021-04-25 21:11:03 +08:00
`--disable-nls` - Для кросс-компилятора не требуется локализация.
2021-07-20 15:37:42 +08:00
`--disable-werror` - отключает остановку сборки при предупреждениях.
2021-04-25 21:11:03 +08:00
## Сборка
2021-04-25 21:11:03 +08:00
```bash
make
```
## Установка
```bash
make install -j1
```
2021-06-28 07:13:28 +08:00
`-j1` предотвращает возможную ошибку установки.
2021-04-27 13:17:51 +08:00
2021-07-20 01:41:10 +08:00
Дополнительную информацию о компиляции пакетов смотрите [здесь](additional/src-compiling).