Development

Free Pascal is always under development. When you want to see how the development is progressing you can take a peek at the developer versions.

Note: There is no support for the development versions.

You have the following options:


Download Daily Source Snapshot of Development Tree (version 2.1.x)

You can download todays development (v2.1.x) sources in form of a packed snapshot from the SVN source repository: these snapshots are updated on a daily basis, and reflect the state of the source repository. The files are kept at the site which has the SVN archive.

Entire public sources archive of v2.1.x: fpc.zip (24 MB)

Download Daily Source Snapshot of Release Tree (version 2.0.x)

You can download todays development (v2.0.x) sources that will lead to the next stable release in form of a packed snapshot from the SVN source repository: these snapshots are updated on a daily basis, and reflect the state of the source repository. The files are kept at the site which has the SVN archive.

Entire public sources archive of v2.0.x: fpc.zip (24 MB)



Download Daily Update of Development Tree (version 2.1.x)

These snapshots contain the latest development updates and bug fixes. There is no guarantee that the new development updates are fully working and that the snapshot is bugfree.

The files are available from the Freepascal ftp site.

Download Daily Update of Release Tree (version 2.0.x)

These snapshots contain the latest bug fixes, without any major new feature. This should be more stable than the development snapshots (and even the last official release), but there is still no guarantee that these snapshots are bugfree.

The files are available from the Freepascal ftp site.



Connect to Source Repository with SVN

As an alternative to the daily zip files of the SVN sources, the SVN repository has been made accessible for everyone, with read-only access. This means that you can directly access the code, and you will have really the last-minute sources available. It is also a method which requires less bandwidth once you have done the first download (checkout in SVN lingo).

Together with the release of version 2.0, FPC has migrated to SVN. For now, there is no CVS mirror yet, so you've to use SVN to get the FPC sources.

Development snapshots

How to do this? Generally, you need 3 steps:
(If you have SVN installed, of course. Look here for instructions on how to do that.)

  1. To retrieve the full fpc source repository, type
    svn checkout http://svn.freepascal.org/svn/fpc/trunk fpc
    
    This will create a directory fpc in your SVN repository directory, containing subdirectories with the following packages:
    • rtl, the RunTime Library source for all platforms.
    • compiler, the compiler source.
    • fcl, the Free Component Library source.
    • packages, Packages source (contains gtk, ncurses, mysql and many more)
    • utils, the utils sources.
    • fv, Free Vision
    • tests, the compiler and RTL tests.
    • ide, the IDE sources.
    • installer, the text mode installer sources.

    If you don't want the entire repository, you could try to check out parts with
    svn checkout http://svn.freepascal.org/svn/fpc/trunk/rtl fpc/rtl
    

    Normally, you should perform this step just once.

  2. To update the sources which were downloaded (checkout) above
    svn update fpc
    
    or
    svn update fpc/rtl
    
    if you only downloaded some separate packages, the rtl sources in this case.
    This will retrieve patches ONLY for the files that have changed.

    This step you can repeat whenever you want to update your sources. It is by far the most economic in terms of bandwidth.

Fixes to 2.0.x

The fixes need a separate directory, create a separate directory fixes, enter it, and repeat the above checkout command with the URL http://svn.freepascal.org/svn/fpc/branches/fixes_2_0:

cd mysvn/fixes
svn checkout http://svn.freepascal.org/svn/fpc/branches/fixes_2_0 fpc
and to update:
svn update fpc

To checkout release, you've to checkout the tagged versions, e.g. svn checkout http://svn.freepascal.org/svn/fpc/tags/release_2_0_2 fpc

The sources of docs are in a separate repository called fpcdocs, so the command to get them is

svn checkout http://svn.freepascal.org/svn/fpcdocs/trunk fpcdocs

If you want to learn more about subversion, read this excellent Subversion book which is also available online in different formats for free.


Other repositories

The fpc svn server hosts more repositories than only the fpc repository, you can get them by svn co http://svn.freepascal.org/svn/<repository> where <repository> is:
fpcprojects Several fpc related projects like a converted TTT 5.10, gdbpas or the FPC irc bot.
lazarus Lazarus.
fpcdocs The fpc documentation sources.
html The sources of the fpc website you're just browsing.
fpcbuild Everything needed to build fpc releases. This links to several other repositories, so this checkout is really big.
logs Log files of the repositories mentioned above.


Browse the Source Repository with a Web Browser

The contents of the SVN archive can also be browsed with your web-browser through this viewcvs interface.


Bugs and the Future

A list of known bugs is available here.
And the future plans of Free Pascal can be viewed here.
If you're interested in FPC development, you might be also interested in the wiki.