OS / platform targets

Where a pxx binary runs — the operating-system / runtime environment, distinct from the CPU it's compiled for.

Platform Status Notes
Linux (ELF), any distro* Full Primary target across every CPU arch; static and libc-free by default.
Bare metal (ESP) Full --esp-profile=bare: a self-contained ELF linked at the SoC SRAM map — own startup, no ESP-IDF, no FreeRTOS, no external linker. The full managed runtime (64 KiB heap, ref-counted AnsiString, exceptions) fits in ~20–26 KB of code.
ESP-IDF component Full --emit-obj: a relocatable object exporting app_main, called by ESP-IDF's startup task. FreeRTOS, Wi-Fi and the vendor peripheral drivers stay available at link time.
BSD (variants) Maybe planned Same static/syscall approach should port; not yet on the roadmap.
macOS Not planned No Mac workstation here to build and test on — open for another developer to pick up.
Windows Not planned No Windows workstation here to build and test on — open for another developer to pick up.

* Any Linux distribution, regardless of its userland: pxx needs no GNU/userland tooling to compile itself — it emits static, libc-free binaries directly. The surrounding make/bash/python scripts are convenience for the test harness and dev workflow, not a requirement to produce the compiler.

ESP32 — between CPU and OS

ESP32 straddles both axes: two CPU variants (RISC-V ESP32-C3 — full; Xtensa ESP32-S2/S3 — partial) × two integration modes:

See ESP32 / microcontrollers and the CPU targets page for the per-chip breakdown.