Platform list
│
العربية (ar) │
Deutsch (de) │
English (en) │
français (fr) │
Bahasa Indonesia (id) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
This list presents all processor architectures and operating system platforms supported by Free Pascal (including experimental implementations).
Classic home computers | Gaming consoles | Mobile systems | Desktop | Universal systems (desktop, workstation, server etc.) | Embedded | Mainframe | Virtual machines | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OS Processor |
ZX Spectrum | MSX | Play Station 1 | GameBoy Advance | Nintendo DS | Nintendo Wii | Android | iOS | Palm OS / Garnet OS | Symbian OS | DOS / Go32 | AmigaOS | AROS | Haiku | MorphOS | TOS | BeOS | FreeBSD | NetBSD | OpenBSD | Solaris | Mac OS Classic | macOS (OS X) | AIX | Linux | Win16 | Win32 | Win64 | OS/2 | Netware | FreeRTOS | Embedded | z/OS | WASI | Java |
i386 | + | + | + | + | + | + | + | + | + | + | + | + | + | ||||||||||||||||||||||
x86-64 | O | + | + | + | + | + | + | + | + | ||||||||||||||||||||||||||
i8086 | + | + | + | ||||||||||||||||||||||||||||||||
ARM (AArch32) | O | O | + | + | O | O | + | + | + | + | |||||||||||||||||||||||||
ARM (AArch64) | + | + | + | + | |||||||||||||||||||||||||||||||
PowerPC32 | O | + | + | + | + | + | + | + | |||||||||||||||||||||||||||
PowerPC64 | + | + | + | ||||||||||||||||||||||||||||||||
m68k | + | + | + | + | + | + | |||||||||||||||||||||||||||||
SPARC32 | + | + | |||||||||||||||||||||||||||||||||
SPARC64 | + | ||||||||||||||||||||||||||||||||||
MIPS | + | + | |||||||||||||||||||||||||||||||||
PIC | + | ||||||||||||||||||||||||||||||||||
AVR | + | ||||||||||||||||||||||||||||||||||
RISC-V | + | + | |||||||||||||||||||||||||||||||||
Xtensa | + | + | + | ||||||||||||||||||||||||||||||||
Z80 | + | + | + | ||||||||||||||||||||||||||||||||
WebAssembly 32-bit | + | + | |||||||||||||||||||||||||||||||||
Z Systems | O | ||||||||||||||||||||||||||||||||||
Java bytecode | + | + |
+: supported; O: under development.
Supported architectures
SVN trunk contains support at various levels of completeness for the following architectures:
- i386
- i8086
- ARM
- ARM64 (AArch64)
- AMD64 (x86_64)
- AVR
- LLVM IR
- m68k
- MIPS
- PowerPC
- PowerPC64
- SPARC
- SPARC64
- RISC-V
- Z80
- Java bytecode
- Xtensa
- WebAssembly
Former ports which were removed
- iA64/Itanium:
- Non-compiling compiler, only some basic units for the compiler were implemented
- Itanium has been officially discontinued as of January 30th, 2019
- Alpha:
- Non-compiling compiler, only some basic units for the compiler were implemented
Supported targets for i386
- Android for i386
- AROS for i386
- BeOS, Zeta and Haiku for i386
- FreeBSD for i386
- GO32V2 DOS extender
- Linux for i386
- macOS for i386
- NetBSD for i386
- Netware for i386 (clib and libc)
- OpenBSD for i386
- OS/2 / eComStation
- OS/2 and DOS via EMX (currently not completely up to date)
- Solaris for i386
- Watcom compatible DOS extenders
- WDOSX DOS extender
- Win32 for i386
Supported targets for AMD64 (x86-64)
- AROS for AMD64 (experimental)
- FreeBSD for AMD64
- OpenBSD for AMD64
- NetBSD for AMD64
- DragonFlyBSD for AMD64
- Solaris for AMD64
- Haiku for AMD64
- Linux for AMD64
- macOS for AMD64
- Win64 for AMD64
Supported targets for i8086
- DOS
- Windows 16 bit
- Embedded
Supported targets for ARM
- Android
- AROS
- Embedded
- FreeRTOS
- GameBoy Advance (under development)
- Target Darwin (iOS) (2.3.x and later)
- Linux
- Native ARM Systems (not cross-development)
- Nintendo DS (under development)
- PalmOS port (under development)
- SymbianOS (development abandoned)
Supported targets for AArch64
- Linux for AArch64
- Target Darwin (iOS 64bit, macOS 64 bit)
- Windows for ARM64
Supported targets for PowerPC
- Linux for PowerPC
- Darwin (Mac OS X)
- NetBSD (core done, but not kept up to speed)
- MacOS (classic)
- MorphOS
- AmigaOS 4.x (maintainerless, but kept in a buildable state)
- Nintendo Wii (under development)
Supported targets for PowerPC64
- Linux (2.1.x and later)
- Target Darwin (Mac OS X) (2.3.x and later)
Supported targets for m68k
- Commodore Amiga
- Linux for m68k
- NetBSD (ELF only)
- Atari TOS (compiler itself works, but it's still in early stage)
- MacOS (classic, planned)
- Palm OS / Garnet OS (works, but experimental)
- Embedded (planned)
See page m68k for details.
Supported targets for SPARC
- Solaris for SPARC (in maintenance mode)
- Linux for SPARC
Supported targets for SPARC64
- Linux for SPARC64
Supported targets for MIPS
- Linux for MIPS
- PlayStation 1 for MIPSEL
Supported targets for PIC
- Embedded
See MIPSEL page for details
Supported targets for AVR
- Embedded
See AVR page for details.
Supported targets for RISC-V
- Linux
- Embedded
Both 32- and 64-bit are supported.
Supported targets for Xtensa
- Linux
- FreeRTOS
- Embedded
Supported targets for Z80
- ZX Spectrum
- MSX-DOS
- Embedded
Supported targets for WebAssembly 32-bit
- WASI
- Embedded
See the WebAssembly/Compiler page for details.
Unofficial 3rd party ports
- GP2X (under development)
- UEFI Unified Extensible Firmware Interface (under early development)
- ZSeries IBM System/370, S/390 and zSeries mainframes (under development as "i370")
Stalled ports
Unlikely to be ported
- Sanos Win32-compatible console-mode operating system
- MUSIC/SP OS-compatible IBM mainframe operating system, using EBCDIC. Qemu and other emulators#MUSIC/SP using Sim/390 or Hercules
Resources for porting to new platforms...
... and keeping existing ones up to date.
- FPC HowToDo - new additions requiring attention of platform maintainers
- System unit structure - (work in progress - only skeleton finished) description of System unit internals
Cross compilation
Information about compilation for a different platform as the one running the compiler may be found in Cross compiling.