Platform list
From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
العربية (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 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OS Processor |
ZX Spectrum | MSX | 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 |
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 |
+: 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
- JVM bytecode
- Xtensa
- WebAssembly
Other architectures and their status
Webassembly: separate branch, initial implementation onlymerged to trunk.
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)
- DragonFlyBSD for AMD64
- FreeBSD 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
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
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.