Introduction
Overview
Free Pascal is a mature, versatile, open source Pascal compiler. It can target many processor architectures: Intel x86 (16 and 32 bit), AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, Motorola 68k, AVR, and the JVM. Supported operating systems include Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16 bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. Additionally, support for RISC-V (32/64), Xtensa, and Z80 architectures, and for the LLVM compiler infrastructure is available in the development version. Additionally, the Free Pascal team maintains a transpiler for pascal to Javascript called pas2js.
Latest News
-
The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st. Free Pascal would not have existed without the work of Niklaus Wirth. We mourn a pioneer and a source of inspiration.
-
FPC has moved to Gitlab!
All SVN repositories have been converted to git and moved to gitlab. The Mantis bugtracker has also been converted to gitlab.
You can find instructions in the Development page or in the Wiki.
Bugs can be reported here.
-
FPC version 3.2.2 has been released!
This version is a point update to 3.2.0 and contains bugfixes and updated packages, some of which are high priority. In this case a new target was also backported from trunk.
There is a list of changes that may break backward compatibility. You can also have a look at the FPC 3.2.2 documentation.
Downloads are available at the download section. Some links might be stale but will be updated in the coming days. If you have trouble using FTP due to recent browser updates, try the sourceforge mirror.
-
FPC version 3.2.0 has been released!
This version is a major new release and contains bugfixes and updates packages, new features and new targets. Due to the age of the FPC 3.0 branch (5 years!) it is recommended to upgrade as soon as possible.
There is a list of changes that may break backward compatibility. You can also have a look at the FPC 3.2.0 documentation.
Downloads are available at the download section. Some links might be stale but will be updated in the coming days.
-
FPC has gained several new features lately in trunk (which will not be in the upcoming FPC 3.2.0 release):
- Multiple helper types can now be active at the same time
- Support has been added for custom attributes
- The compiler can now generate LLVM bitcode for select platforms (Darwin/x86-64, Linux/x86-64, Linux/AArch64, Linux/ARMHF)
While FPC 3.2.0 will not have support for the above list, it will have its own collection of new features and fixes!
-
Today FPC celebrates its 25th birthday !
25 years have passed since 8 june 1993, and FPC still does not only exists, but is more alive and kicking than ever!
-
As required by the European GDPR, we have published a privacy statement
Current Version
Version 3.2.2 is the latest stable version of Free Pascal. Hit the download link and select a mirror close to you to download your copy. The development releases have version numbers 3.3.x. See the development page how to obtain the latest sources and support development.
Features
The language syntax has excellent compatibility with TP 7.0 as well as with most versions of Delphi (classes, rtti, exceptions, ansistrings, widestrings, interfaces). A Mac Pascal mode, largely compatible with Think Pascal and MetroWerks Pascal, is also available. Furthermore Free Pascal supports function overloading, operator overloading, global properties and several other extra features.
Requirements
x86 architecture:For the 80x86 version at least a 386 processor is required, but a 486 is recommended. The Mac OS X version requires Mac OS X 10.4 or later, with the developer tools installed.PowerPC architecture:
Any PowerPC processor will do. 16 MB of RAM is required. The Mac OS classic version is expected to work System 7.5.3 and later. The Mac OS X version requires Mac OS X 10.3 or later (can compile for 10.2.8 or later), with the developer tools installed. On other operating systems Free Pascal runs on any system that can run the operating system.ARM architecture
16 MB of RAM is required. Runs on any ARM Linux installation.Sparc architecture
16 MB of RAM is required. Runs on any Sparc Linux installation (solaris is experimental).
License
The packages and runtime library come under a modified Library GNU Public License to allow the use of static libraries when creating applications. The compiler source itself comes under the GNU General Public License. The sources for both the compiler and runtime library are available; the complete compiler is written in Pascal.