Platform_Toolchain_Linux 0.1.0 build 872efa0
Native cross-compilers for Linux ARM/x86 targets, no Docker/emulation
Loading...
Searching...
No Matches
Platform_Toolchain_Linux

Product: Platform_Toolchain_Linux, Linux (ARM/x86, glibc and musl) cross-compilers (repository Platform_Toolchain_Linux). Layer: build infrastructure, not linked into any product and not safety-rated.

Real cross-compilers for building Linux (ARM/x86) targets natively — no Docker, no emulation. Fast local iteration (compile-test-compile) against one target architecture without needing the Docker daemon running; complements, doesn't replace, the Docker buildx+QEMU multi-platform path (RBC_Test_Env/etc/scripts/build_multiarch.sh), which is better for producing container images across many architectures at once.

Despite the name (kept for continuity), setup.sh also supports a native Linux host (via apt/dnf), not just macOS.

Usage

./setup.sh # once — on macOS/Homebrew-on-Linux, installs prebuilt cross-gcc via the
# messense/macos-cross-toolchains Homebrew tap; on a bare Linux host, prints
# the apt-get/dnf command to run yourself, then re-run setup.sh
./verify.sh # cross-compiles a trivial hello-world for every bin/<arch>/<distro>/ target
# and confirms the ELF header's target architecture (can't execute foreign-arch
# binaries on this host)
PATH="$(pwd)/bin/aarch64/ubuntu:$PATH" cmake -S ../../Platform_RTE -B build-linux-aarch64 \
-DCMAKE_TOOLCHAIN_FILE=../../Platform_RTE/cmake/Toolchain-Linux.cmake \
-DLINUX_CROSS_COMPILE=aarch64-linux-gnu
cmake --build build-linux-aarch64

Interface exposed to other products

Interface Form Consumed by
Toolchain: Platform_RTE cmake/Toolchain-Linux.cmake plus the wrappers in bin/<arch>/<distro>/ placed on PATH -DCMAKE_TOOLCHAIN_FILE=<path> passed to any CMake build Every C product that needs a cross-build for Linux targets

Nothing links against this project. It is consumed only by CMake and by the RBC_Test_Env build scripts (build_toolchains.sh).

Related products

Sibling toolchains: Platform_Toolchain_MacOS, Platform_Toolchain_QNX, Platform_Toolchain_FreeRTOS. Working notes: CLAUDE.md.