Files
build-toolchain/README.md

2.1 KiB
Raw Permalink Blame History

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