Добавлен README.md с требованиями и порядком сборки
This commit is contained in:
65
README.md
Normal file
65
README.md
Normal 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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user