Добавлен README.md с требованиями и порядком сборки

This commit is contained in:
2026-08-26 10:01:05 +03:00
parent bfdfea7417
commit 767903d1ea

65
README.md Normal file
View File

@@ -0,0 +1,65 @@
# 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)
```
## Сборка
```
./build-toolchain.sh # компилятор + libc -> install/, архив toolset-jlv-*.tar.xz
./build-libraries.sh # статические библиотеки -> install/sysroot
```
Компилятор ставится в `install/bin` (`arm-uclinuxfdpiceabi-gcc` и т.д.).
Для сборки чего-либо этим компилятором подключить окружение:
```
. ./env.sh install/bin
```