Supported Platforms
Free Pascal Compiler (FPC) is renowned for its exceptional cross-platform capabilities. It is designed around a write once, compile anywhere philosophy, allowing developers to target a massive array of hardware architectures and operating systems from a single codebase.
Below is the full list of platforms officially supported by Free Pascal.
Note that support for a platform or operating systems can be through cross-compilation, native compilation or both: the compiler itself may not run on all platforms.
🖥️ Operating Systems
Desktop & Server
- Windows: Windows 32-bit (Win32), Windows 64-bit (Win64), Windows on ARM64, Windows CE, and legacy 16-bit Windows.
- Linux: Supported across all major architectures including x86, x86_64, ARM, AArch64, PowerPC, MIPS, SPARC, m68k, and RISC-V.
- macOS: Intel (32-bit and 64-bit), Apple Silicon (ARM64), and legacy PowerPC.
BSD & Unix-like Systems
- BSD Family: FreeBSD, NetBSD, OpenBSD, and DragonFly BSD.
- Unix: Solaris, AIX.
- Other unix-like: Haiku, BeOS.
Mobile Operating Systems
- Android: Native compilation for ARM, AArch64, i386, and x86_64 architectures.
- iOS & iPadOS: Native compilation for ARM64 and iPhone Simulator targets.
Alternative & Amiga-like Systems
- Amiga Family: AmigaOS, AROS, MorphOS.
- The OS/2 family: OS/2, eComStation, ArcaOS.
Web, Virtual & Embedded
- Web: WebAssembly 32-bit via WASI (alongside client-side JavaScript translation via
pas2js). - Virtual Machines: Java Virtual Machine (JVM) bytecode, LLVM IR.
- Embedded / RTOS: Bare metal microcontroller targets, FreeRTOS.
Legacy & Retro Systems
- DOS: MS-DOS (16-bit via i8086), GO32v2 (32-bit protected mode), Watcom extenders.
- Classic Apple: Classic Mac OS.
- Retro Consoles & Home Computers: GameBoy Advance, Nintendo DS, Nintendo Wii, PlayStation 1, ZX Spectrum (Z80), MSX-DOS.
- Legacy Mobile: Symbian OS, Palm OS.
⚙️ Processor Architectures
FPC generates optimized, native machine code for the following instruction set architectures (ISAs):
- x86 Family:
- i386 (32-bit)
- x86_64 / AMD64 (64-bit)
- legacy i8086 (16-bit)
- ARM Family:
- ARM32 (AArch32, including softfp and hardfloat)
- ARM64 (AArch64)
- PowerPC:
- PowerPC (32-bit)
- PowerPC64 (64-bit)
- MIPS:
- MIPS32 / MIPS64
- MIPSEL
- SPARC:
- SPARC32
- SPARC64
- Motorola:
- m68k (68020+ and ColdFire)
- Microcontrollers & Others:
- AVR (Arduino-compatible)
- RISC-V
- Xtensa
- Z80
- PIC
Platform support is continuously evolving within the open-source community. Core platforms (Windows, macOS, Linux, BSD) receive Tier 1 support, while specialized and legacy architectures are maintained by dedicated community contributors.