Files
build-toolchain/README.md

67 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# build-toolchain
Сборка кросс-компилятора `arm-uclinuxfdpiceabi` (ARMv7-M, Thumb, FDPIC) на базе
binutils + GCC + uClibc-ng, а также набора статических библиотек под него.
## Состав
| Компонент | Версия |
|---------------|----------|
| binutils | 2.42 |
| GCC | 13.4.0 |
| Linux headers | 4.9.224 |
| uClibc-ng | 1.0.34 |
## Требования (Ubuntu/Debian)
Для `build-toolchain.sh` (сборка самого компилятора):
```
sudo apt install build-essential bison flex texinfo gawk bc m4 wget python3 perl
```
Для `build-libraries.sh` (сборка zlib/OpenSSL/LibVNCServer/freetype под целевую
платформу) дополнительно нужен `cmake`:
```
sudo apt install cmake pkg-config
```
Библиотеки gmp/mpfr/mpc/isl отдельно ставить не нужно — `contrib/download_prerequisites`
сам скачивает их исходники внутрь дерева GCC (нужен доступ в интернет).
## Исходники
В корень репозитория нужно положить архивы (не входят в git, см. `.gitignore`):
```
binutils-2.42.tar.xz
gcc-13.4.0.tar.xz
linux-4.9.224.tar.xz
uClibc-ng-1.0.34.tar.xz
```
Для `build-libraries.sh` — архивы библиотек в подпапку `lib/`:
```
lib/zlib-1.2.13.tar.xz (или .tar.gz)
lib/openssl-3.0.13.tar.xz (или .tar.gz)
lib/LibVNCServer-0.9.14.tar.xz (или .tar.gz)
lib/freetype-2.13.2.tar.xz (или .tar.gz)
lib/libnl-3.9.0.tar.xz (или .tar.gz)
```
## Сборка
```
./build-toolchain.sh # компилятор + libc -> install/, архив toolset-jlv-*.tar.xz
./build-libraries.sh # статические библиотеки -> install/sysroot
```
Компилятор ставится в `install/bin` (`arm-uclinuxfdpiceabi-gcc` и т.д.).
Для сборки чего-либо этим компилятором подключить окружение:
```
. ./env.sh install/bin
```