Difference between revisions of "Platform list"

From Lazarus wiki
Jump to navigationJump to search
(148 intermediate revisions by 27 users not shown)
Line 1: Line 1:
== Supported architectures: ==
+
{{Platform list}}
* I386
 
* PowerPC
 
* Sparc (initially working, lots of additional work done)
 
* AMD64  (experimentally working)
 
* m68k  (1.0.x only)
 
* [[ARM]] (under development)
 
  
== Supported targets for i386: ==
+
This list presents all processor architectures and operating system platforms supported by [[Free Pascal]] (including experimental implementations).
* GO32 V2 DOS extender
+
 
 +
__TOC__
 +
 
 +
{| class="wikitable" style="font-size:85%;"
 +
!  !! colspan = "2" | Classic home computers !! colspan = "3" | Gaming consoles !! colspan = "4" | Mobile systems !! Desktop !! colspan = "19" | Universal systems (desktop, workstation, server etc.) !!  colspan = "2" | Embedded !! Mainframe !! colspan = "2" | Virtual machines
 +
|-
 +
| style="text-align:center;" | OS<br/>Processor || style="writing-mode: sideways-lr; width:20px; text-align:center;" | ZX Spectrum || style="writing-mode: sideways-lr; width:20px; text-align:center;" | MSX || style="writing-mode: sideways-lr; width:20px; text-align:center;" | GameBoy Advance || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Nintendo DS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Nintendo Wii || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Android || style="writing-mode: sideways-lr; width:20px; text-align:center;" | iOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Palm OS / Garnet OS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Symbian OS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | DOS / Go32 || style="writing-mode: sideways-lr; width:20px; text-align:center;" | AmigaOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | AROS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Haiku || style="writing-mode: sideways-lr; width:20px; text-align:center;" | MorphOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | TOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | BeOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | FreeBSD || style="writing-mode: sideways-lr; width:20px; text-align:center;" | NetBSD || style="writing-mode: sideways-lr; width:20px; text-align:center;" | OpenBSD || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Solaris || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Mac OS Classic || style="writing-mode: sideways-lr; width:20px; text-align:center;" | macOS (OS X) || style="writing-mode: sideways-lr; width:20px; text-align:center;" | [[FPC AIX Port|AIX]] || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Linux || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Win16 || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Win32 || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Win64 || style="writing-mode: sideways-lr; width:20px; text-align:center;" | OS/2 ||style="writing-mode: sideways-lr; width:20px; text-align:center;" | Netware || style="writing-mode: sideways-lr; width:20px; text-align:center;" | FreeRTOS || style="writing-mode: sideways-lr; width:20px; text-align:center;" | Embedded || style="text-align:center; writing-mode: sideways-lr; width:20px;" | [[ZSeries|z/OS]] || style="text-align:center; writing-mode: sideways-lr; width:20px;" | WASI || style="text-align:center; writing-mode: sideways-lr; width:20px;" | Java
 +
|-
 +
| i386 || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |  || bgcolor="lightgray" |
 +
|-
 +
| x86-64 || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:gold" | O || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| i8086 || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[ARM]] (AArch32) || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:gold" | O || style="text-align:center; background-color:gold" | O || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:gold" | O || style="text-align:center; background-color:gold" | O || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| ARM (AArch64) || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[PowerPC|PowerPC32]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:gold" | O || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[PowerPC64 Port|PowerPC64]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + ||  style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[m68k]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| SPARC32 || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| SPARC64 || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[MIPS port|MIPS]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| PIC || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[AVR]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| RISC-V || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[Xtensa]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[Z80]] || style="text-align:center; background-color:lightgreen" | + || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[WebAssembly|WebAssembly 32-bit]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" |
 +
|-
 +
| [[ZSeries|Z Systems]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:gold" | O || bgcolor="lightgray" | || bgcolor="lightgray" |
 +
|-
 +
| [[FPC_JVM|Java bytecode]] || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | + || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || bgcolor="lightgray" | || style="text-align:center; background-color:lightgreen" | +
 +
|}
 +
 
 +
+: 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 port|MIPS]]
 +
* [[PowerPC]]
 +
* [[PowerPC64 Port|PowerPC64]]
 +
* SPARC
 +
* SPARC64
 +
* RISC-V
 +
* [[Z80]]
 +
* [[FPC_JVM|Java bytecode]]
 +
* [[Xtensa]]
 +
* [[WebAssembly]]
 +
 
 +
== Other architectures and their status ==
 +
* <del>Webassembly: separate branch, initial implementation only</del> merged 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 port|BeOS, Zeta and Haiku]] for i386
 +
* [[FreeBSD]] for i386
 +
* [[GO32V2]] DOS extender
 
* Linux for i386
 
* Linux for i386
* OS/2
+
* [[Target Darwin|macOS]] for i386
* Win32 for i386
+
* NetBSD for i386
* [[FreeBSD]]/ELF for i386
 
* SunOS/ELF for i386 (under development)
 
* Beos for i386 (under development)
 
* NetBSD for i386 (under development, currently maintainerless)
 
 
* [[Netware]] for i386 (clib and libc)
 
* [[Netware]] for i386 (clib and libc)
 +
* OpenBSD for i386
 +
* [[Target OS2|OS/2]] / eComStation
 +
* OS/2 and DOS via EMX (currently not completely up to date)
 +
* [[Solaris Port|Solaris for i386]]
 +
* Watcom compatible DOS extenders
 
* WDOSX DOS extender
 
* WDOSX DOS extender
* OpenBSD for i386 (under development, currently maintainerless)
+
* [[Win32/64 Interface|Win32 for i386]]
* [[Target OS2]] via EMX
+
 
* Watcom compatible DOS extenders
+
== Supported targets for AMD64 (x86-64) ==
 +
 
 +
* [[AROS]] for AMD64 (experimental)
 +
* DragonFlyBSD for AMD64
 +
* [[FreeBSD|FreeBSD for AMD64]]
 +
* [[Installing Lazarus on Haiku|Haiku for AMD64]]
 +
* [[Linux for AMD64]]
 +
* [[Target Darwin|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)
 +
* [[iPhone/iPod_development|Target Darwin]] (iOS) (2.3.x and later)
 +
* [[Linux for ARM|Linux]]
 +
* [[Native ARM Systems]] (not cross-development)
 +
* [[Nintendo DS]] (under development)
 +
* [[PalmOS port]] (under development)
 +
* [[SymbianOS]] (development abandoned)
 +
 
 +
== Supported targets for AArch64 ==
  
== Supported targets for SPARC: ==
+
* Linux for AArch64
* SunOS/ELF for SPARC (under development)
+
* [[Target Darwin]] (iOS 64bit, macOS 64 bit)
* Linux for SPARC
+
* Windows for ARM64
  
 
== Supported targets for PowerPC ==
 
== Supported targets for PowerPC ==
 
* Linux for PowerPC
 
* Linux for PowerPC
* [[Target Darwin]] (Mac OS X) (linking to external variables (cvar) not yet working)
+
* [[Target Darwin|Darwin]] (Mac OS X)
* NetBSD (core done, but not kept up to speed)
+
* NetBSD (core done, but not kept up to speed)
* [[Target MacOS]] (classic)
+
* [[Target MacOS|MacOS]] (classic)
* [[MorphOS]] (basic units implemented, make cycle working)
+
* [[MorphOS]]
 +
* [[AmigaOS|AmigaOS 4.x]] (maintainerless, but kept in a buildable state)
 +
* [[Wii|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 [[AMD64]] ([[x86-64]]) ==  
+
== Supported targets for m68k ==
* [[Linux for AMD64]]
+
* [[Amiga|Commodore Amiga]]
* [[Win64 for AMD64]] (under investigation)
+
* [[Portal:Linux|Linux]] for m68k
 +
* NetBSD (ELF only)
 +
* [[Atari|Atari TOS]] (compiler itself works, but it's still in early stage)
 +
* [[Target MacOS|MacOS]] (classic, planned)
 +
* [[PalmOS port|Palm OS / Garnet OS]] (works, but experimental)
 +
* [[Embedded]] (planned)
 +
 
 +
See page [[m68k]] for details.
 +
 
 +
== Supported targets for SPARC ==
 +
* [[SunOS/ELF|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 [[TARGET Embedded Mipsel|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 ==
 +
 
 +
* [[GameCube]]
 +
* [[xbox|Xbox]]
 +
 
 +
== 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]].
  
== Supported targets for ARM ==
+
[[Category: Operating Systems and Platforms]]
* [[Linux for ARM]]
+
[[Category:FPC]]
* [[WinCE port|WinCE]] (early alpha stage, under development)
 

Revision as of 02:21, 25 June 2021

العربية (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 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:

Other architectures and their status

  • Webassembly: separate branch, initial implementation only merged 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

Supported targets for AMD64 (x86-64)

Supported targets for i8086

  • DOS
  • Windows 16 bit
  • Embedded

Supported targets for ARM

Supported targets for AArch64

  • Linux for AArch64
  • Target Darwin (iOS 64bit, macOS 64 bit)
  • Windows for ARM64

Supported targets for PowerPC

Supported targets for PowerPC64

  • Linux (2.1.x and later)
  • Target Darwin (Mac OS X) (2.3.x and later)

Supported targets for m68k

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

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.