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)

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:

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

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

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.