Difference between revisions of "Platform list"
From Free Pascal wiki
Jump to navigationJump to searchPascalDragon (talk | contribs) (RISC-V has been reintegrated some time ago) |
PascalDragon (talk | contribs) (Z80 has been merged) |
||
Line 17: | Line 17: | ||
* [[AVR]] | * [[AVR]] | ||
* RISC-V | * RISC-V | ||
+ | * [[Z80]] | ||
* JVM bytecode | * JVM bytecode | ||
* LLVM IR | * LLVM IR | ||
== Other architectures and their status == | == Other architectures and their status == | ||
− | |||
* Webassembly: separate branch, initial implementation only | * Webassembly: separate branch, initial implementation only | ||
Line 128: | Line 128: | ||
Both 32- and 64-bit are supported. | Both 32- and 64-bit are supported. | ||
+ | |||
+ | == Supported targets for Z80 == | ||
+ | * SpectrumZX | ||
+ | * Embedded | ||
== Unofficial 3rd party ports == | == Unofficial 3rd party ports == |
Revision as of 21:18, 28 April 2020
│
العربية (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
- RISC-V
- Z80
- JVM bytecode
- LLVM IR
Other architectures and their status
- 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)
- 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
- 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.
Supported targets for RISC-V
- Linux
- Embedded
Both 32- and 64-bit are supported.
Supported targets for Z80
- SpectrumZX
- 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")
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.