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 (trunk)
You can download todays development (trunk - currently v2.3.x) sources in form of a packed snapshot from our FTP server (and its mirrors). These snapshots are updated on a daily basis, and reflect the state of the source repository.
Entire fpc sources archive of trunk: fpc.zip (24 MB).
Furthermore, there is an even larger archive including the fpc sources together with docs sources and release building related files in the same directory - fpcbuild.zip.
Download Daily Source Snapshot of the Fixes Tree
You can download todays fixes branch (currently v2.2.x) sources which will lead to the next stable (fixes) release in form of a packed snapshot from our FTP server (and its mirrors). These snapshots are updated on a daily basis, and reflect the state of the source repository.
Entire fpc sources archive of the fixes branch: fpc.zip (24 MB)
Furthermore, there is an even larger archive including the fpc sources together with docs sources and release building related files in the same directory - fpcbuild.zip.
Download Daily Update of Development Tree (trunk)
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 our ftp site and mirrors.
Download Daily Update of the Fixes Tree
These snapshots contain the latest bug fixes, without major new features. 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 our ftp site and mirrors.
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).
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.)
- 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.
svn checkout http://svn.freepascal.org/svn/fpc/trunk/rtl fpc/rtl
Normally, you should perform this step just once.
- To update the sources which were downloaded (checkout) above
svn update fpc
orsvn 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.2.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_2:
cd mysvn/fixes svn checkout http://svn.freepascal.org/svn/fpc/branches/fixes_2_2 fpcand 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_2_0 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
In case you have trouble with the default server, you can use http://svn2.freepascal.org as alternative svn server. Furthermore, this server listens also at port 8080, so if you can not access svn on the default port 80, you might use http://svn2.freepascal.org:8080 instead.
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.
