Red añade enlazado estático en su toolchain y presenta CherryTracker como demostración

Fuentes: Static linking support

Red ha ampliado su toolchain con soporte para enlazado estático de bibliotecas escritas en C, lo que permite distribuir ejecutables autosuficientes que llevan empaquetadas todas sus dependencias. El trabajo se ha desarrollado con asistencia intensiva de modelos de frontera y harnesses locales como Claude Code y Codex.

La novedad afecta a los principales destinos nativos de Red: Windows x86 con objetos y bibliotecas COFF, Linux x86 y Linux ARM (incluido Raspberry Pi, con soporte para ARM y Thumb-2) y macOS en Intel con objetos y archivos Mach-O. La compilación cruzada funciona como en el resto del toolchain, de modo que un comando como -t RPi -s produce directamente un binario ARM autónomo listo para copiar a una Raspberry Pi.

El enlazador lee los formatos de objeto nativos —COFF, ELF y Mach-O— mediante una interfaz común y resuelve internamente las piezas críticas: carga selectiva de archivos, deduplicación de secciones COMDAT y símbolos débiles, relocalizaciones completas por formato (incluidos los casos complejos de ARM Thumb-2 y Mach-O) y resolución de símbolos del sistema y de intrínsecos del compilador. Como resultado, vincular contra una biblioteca grande no produce un ejecutable grande: solo se incorporan los miembros que cierran la cadena de dependencias.

En el uso cotidiano, basta con añadir el flag -s (o --static) para que las importaciones sin extensión pasen de la biblioteca compartida a la estática, mientras que los #import que ya declaran .dll, .so o .dylib conservan su comportamiento y la mezcla de ambos modos es posible. El cambio es retrocompatible con las bases de código existentes.

Como caso real, el equipo muestra CherryTracker, un reproductor de módulos MOD construido con ayuda de agentes de código, con binarios precompilados para Windows y Linux y bibliotecas estáticas de 32 bits para libxmp y SDL3. El flujo combina el modo de desarrollo -c con bibliotecas compartidas para iterar rápido y -r -s para generar versiones finales estáticas.