Introduction
Overview
Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal compiler. It can target multiple processor architectures: Intel x86, AMD64/x86-64, PowerPC, PowerPC64, SPARC, and ARM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS, Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and Nintendo Wii. Additionally, JVM, MIPS (big and little endian variants) and Motorola 68k architecture targets are available in the development versions.
Latest News
February 23rd, 2013
FPC 2.6.2 has been released! 2.6.2 is a fixes update from the 2.6.x branch
The new features include, amongst others:
- Compiler:
- Improvements and fixes for the ARM architecture
- Packages:
- New package fpindexer (indexing engine)
- Support for observer pattern added to fcl-base (and base classes in RTL)
- Lots and lots fixes and improvements for fcl-db
- Support for JSON dataset added among others
- Fixes and improvements for fcl-passrc (and fpdoc)
- Updates for PTCPas and gtk2
- fpmkunit improvements (better support for future switch to fpmake)
- Several fixes for x11
- Several fixes for winunits (and winceunits)
- Platforms:
- Improvements to the NativeNT target (newly introduced as alpha in 2.6.0)
- Many fixes for OpenBSD and NetBSD (considered in beta state now)
- Internal ELF writer supported for more BSD targets
- Fixes and improvements for gba and nds
See the changelog for the list of reported bugs which have been fixed in this release.
Downloads are available from the download page (mirrors should follow soon).
Some archives are still being uploaded
A list of changes that may require changes to existing code is also available.
February 13th, 2013
The FreePascal team is pleased to announce official support for native Android targets in the trunk SVN repository.
In addition to the existing Android support using the Java VM target, you can now use the FreePascal compiler to generate native executables and libraries. You can now speed up your performance critical code on x86 and ARM CPUs writing in Object Pascal.
We hope that the Android target will attract new and old developers. It may still be a little rough on the edges. We appreciate your feedback and further contributions.
Read more about how to use native Android support at Android Wiki page
October 21st, 2012
Recently, considerable progress has been reached with regard to support of new CPU architectures. This includes not only new support for MIPS processors running in both little endian and big endian modes (contributed mostly by Florian, Pierre and external contributors like Fuxin Zhang), but most notably also revived support for Motorola 68000 family. M68k was originally the second architecture supported by FPC even before release 1.0, but this target has been dormant since the transition to FPC 2.x and now is resurrected mostly by Sven. The compiler can be natively compiled for M68000 and M68020 (although not necessarily fully working there yet) and support for modern Coldfire CPUs is now in mostly working state too. Some functionality still needs finishing (e.g. threadvars which impacts StdIO among others), but created binaries already run successfully in QEMU. As of now, the goal is to support m68k-linux and maybe also m68k-embedded. Contributors for any other operating systems like Amiga, AROS or even classic Mac OS are - as usual - welcome.
Current Version
Version 2.6.2 is the latest stable version the Free Pascal. Hit the download link and select a mirror close to you to download your copy. The development releases have version numbers 2.7.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.
