Target Darwin

From Free Pascal wiki

This article applies to macOS only.

See also: Multiplatform Programming Guide

Apple iOS new.svg

This article applies to iOS only.

See also: Multiplatform Programming Guide

English (en)


Darwin is the target for macOS and iOS, both PowerPC, ARM, i386 and X86_64. Programs may also be run on a machine with only Darwin installed.


There are two possibilities:

1) Download the disk image with the installer from the download page.

2) Use fink (

In addition, daily snapshots of the development powerpc and i386 versions of fpc and lazarus are available at (usage at own risk):


1) Any Editor (AlphaX, BBedit, ...) and command line (fpc your_pascal_program.pas)

2) Xcode

The FPC installer disk images contain installers with Xcode templates.

3) Lightweight IDE

An free IDE in the classic Mac style:

4) PascalGladiator

A free graphical IDE for FPC and debugger front-end for GDB:

5) DOS-like IDE

A description of how to get the IDE running is here: How to get the fpc ide running under Mac OS X

6) Lazarus

Lazarus is a Delphi-style RAD environment:

Universal binaries

Normally for each processor - operating system combination there is one executable, but in Mac OS X you can combine a PowerPC and a x86 binary into a so called "Universal Binary". To do this the PowerPC and i386 executables have to be compiled separately and then combined using the lipo command line tool.

The Free Pascal installer for x86 already installs a PowerPC cross-compiler so you only need to use ppcppc instead of fpc to build your project to have the PowerPC binary. If have a PowerPC computer, then the simplest solution is to build the x86 binary in a different computer with x86 architecture, or use an emulator to run Mac OS X running in x86 architecture.


  • Mac OS Pascal universal interfaces are part of the fpc packages: check packages/univint
  • IDE already works, except for some graphic glitches on the user output screen,
  • Can mouse events be supported with and how?
    • It is not possible to support the mouse in In xterm (X11) it should be possible.