Platform list
From Free Pascal wiki
Jump to navigationJump to search
│
العربية (ar) │
Deutsch (de) │
English (en) │
français (fr) │
Bahasa Indonesia (id) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Supported architectures
SVN trunk contains support at various levels of completeness for the following architectures:
- i386
- AMD64 (x86-64)
- i8086
- ARM
- AArch64
- PowerPC
- PowerPC64
- m68k
- SPARC
- SPARC64
- MIPS
- AVR
- JVM bytecode
- LLVM IR
Other architectures and their status
- RISC-V: separate branch
- Z80: separate branch, initial implementation only
- Webassembly: separate branch, initial implementation only
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
- Win32 for i386
- Linux for i386
- Target Darwin (macOS) for i386 (2.1.x and later)
- FreeBSD/ELF for i386
- Android for i386
- OpenBSD for i386 (under development, currently maintainerless)
- OS/2 / eComStation
- GO32V2 DOS extender
- SunOS/ELF for i386 (under development)
- BeOS port for i386 (under development)
- NetBSD for i386 (under development, currently maintainerless)
- Netware for i386 (clib and libc)
- WDOSX DOS extender
- OS/2 via EMX (equal to OS/2 target in 1.0.x and earlier; RTL based on EMX runtime library allows building applications running under DOS with EMX extender; currently not completely up to date)
- Watcom compatible DOS extenders
- BeOS/Zeta/Haiku for i386
- Target NativeNT for i386 (under development)
- AROS for i386
Supported targets for AMD64 (x86-64)
- Linux for AMD64
- Win64 for AMD64
- Target Darwin (macOS) (2.3.x and later)
- FreeBSD for AMD64 (2.4.2 and later)
Supported targets for i8086
- DOS
- Windows 16bit
- Embedded
Supported targets for ARM
- Linux for ARM
- Android for ARM
- Target Darwin (iOS) (2.3.x and later)
- Windows CE/Windows Mobile/Pocket PC
- GameBoy Advance (under development)
- Nintendo DS (under development)
- PalmOS port (under development)
- SymbianOS (development abandoned)
- Native ARM Systems (not cross-development)
- Embedded
Supported targets for AArch64
- Linux for AArch64
- Target Darwin (iOS 64bit)
Supported targets for PowerPC
- Linux for PowerPC
- Darwin (macOS)
- 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 (macOS) (2.3.x and later)
Supported targets for m68k
- 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 (planned)
- Embedded (planned)
See page m68k for details.
Supported targets for SPARC
- SunOS/ELF 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.
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")
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.