Skip to content

Platform support

This table describes the development checkout. It does not claim complete ANSI conformance, full FFI parity, or equivalent performance across targets. Tiers are defined in How Lisp runs.

Runtime target Native compilation Distribution / validation
Linux x86-64 T1 and T2, OSR and deoptimization Static musl build or dynamic glibc RPM; host tests
Linux s390x T1 and T2, OSR and deoptimization Fedora target RPM; QEMU JIT, image, and GC stress checks
Linux AArch64 T1 for supported opcode shapes; no AArch64 T2 backend Fedora target RPM; baseline backend is under development
Linux ppc64le T1 and T2 for supported shapes Fedora target RPM; QEMU image and GC stress checks
Windows x86-64 T1 and T2 for supported shapes Target RPM runs via Wine; native OS validation remains distinct
Android ARM64 CLI Static runtime; current source includes partial AArch64 T1 egcl-android; QEMU image checks
Android ARM64 APK Dynamic NativeActivity runtime EGL demo checked on an ARM64 phone
Android x86-64 APK Dynamic NativeActivity runtime APK and native-library checks; emulator execution not yet verified

An older installed RPM may predate backend additions in this checkout. Unsupported native compilation shapes remain in a supported lower tier. Stackful fibers support Unix x86-64 and AArch64 (including Android), Linux ppc64le and s390x, and Windows x86-64. This is not full architecture parity.

Fedora package commands

Package Command Host execution
egcl egcl Native x86-64
egcl-target-s390x-linux egcl-s390x-linux QEMU s390x
egcl-target-aarch64-linux egcl-aarch64-linux QEMU AArch64
egcl-target-ppc64le-linux egcl-ppc64le-linux QEMU little-endian POWER
egcl-target-windows egcl-windows Wine
egcl-target-android egcl-android QEMU ARM64 CLI
egcl-target-android egcl-android-new Native Python project generator

The initial RPM baseline is Fedora 44. Target packages require the exact version and release of the base package. The Android APK libraries target API 28 or newer; new project manifests currently target API 34.

Binary compatibility

Heap images are architecture-specific. Linux target executables require compatible glibc/libgcc on the destination. A static CLI's library-loading limits differ from a dynamic runtime's. Android native-library alignment has been checked for 16 KiB pages, but that check does not establish full behavior on a 16 KiB device.