FreePascal Details
Contents
- FreePascal Team announces FPC version 1.9.6 (1/3/05)
- Mac OS X pre-release (1/4/04)
The Free Pascal Team is pleased to announce that FPC version 1.9.6 (or 2.0.0-RC1) is available andready for download.
This is a pre-release of version 2.0. As such, it is considered a beta of the upcoming 2.0 release, which is expected to be released in one or two months from here.
While this is officially a beta, we believe that this version is release quality. We would very much like you download and install this version, and give any feedback regarding bugs and other issues.
If no major bugs are found, version 2.0 will be released in a short timeframe.
Highlights in this version:
Compiler:
New platforms:
Linux: x86_64, amd64, sparc, PowerPC architectures.Mac OS and Mac OS X (Darwin).Netware Libc.MorphOS.Code generation improvements:
Register variable support (-Or) for all targets, better inlining support.MacPas compiler mode (-Mmacpas).
RTL/FCL/FV:
New heap manager that releases memory back to the OS.TThread.Synchronize support.Further additions for improved Delphi compatibility.Many other additions (RTTIUtils, new Datasets, FPCUnit test framework).Free Vision Updated to fvision implementation, first official release.
IDE:
Lots of improvements and stability fixes.Support latest gdb 6.2.x and 6.3.x releases.
Docs:
Lots of updates.Easier to navigate html documentation.fpDoc is used to generate all unit documentation.
And of course many many bugfixes.
A complete list of changes can be found in the whatsnew.txt file in the distribution.
Downloads are available from the website for the following platforms:
Darwin (Mac OS X)Dos (Go32V2)FreeBSDLinux (I386/Sparc/PPC/x86_64 (amd64))Mac OSNetware (clib and libc)OS/2 (native)Win32
To download, go tohttp://www.freepascal.org/sdown.htmland select a mirror near you. Look in the section 'official beta releases' and select the platform of your choice; then follow the download instructions.
If you choose the SourceForge mirror, the download instructions are different. Also note that sourceforge mirrors are not immediatly up-to-date.
Enjoy it, and a Happy New Year from
The Free Pascal team.
--- What is ready?
The basic units required to cycle the compiler (mostly file-system and exception handling related)The PPC code generator is in quite good shape (correctness-wise). On Linux/PPC, our regression test suite currently shows 17 errors (on 2185 tests), versus 10 for the 80x86 version. I have not yet run the test suite under Mac OS X, and some OS-specific things will probably still need fixing
--- What is still left to do?
Mac OS (X) specific:
Port the missing RTL units (mainly text console handling)Create a Mac OS X installer package definitionTry to create some kind of plug-in so the compiler can be called from XCode and Project BuilderRun the test suite and fix bugsFix support for importing global variables from shared librariesReplace as many of my handwritten assembler routines with calls to libc versions, as Apple is much better at writing fast ppc assembler code that I am :) Do the same for the generic math routines.Support the Apple dialect so we can use the Universal InterfacesFinish Classic Mac OS support...
PPC-specific:
improve AIX abi-compatibility (e.g., we don't pass records as the AIX abi prescribes)create a PPC-optimizer (if only a peephole optimizer for starters)re-enable support for register variables (that's not really PPC-specific, but the PPC will benefit a *lot* of that)
--- System requirements
The Darwin RTL is based on libc and uses only a few basic library calls. Therefore, even though I compiled the binary below on Mac OS X 10.3.2, it should theoretically run on everything, even the Mac OS X Public Beta :) The BSD subsystem and the Developer Tools (or XCode) must be installed, though. There are no further requirements.
--- Where to get it
* The sourceYou can get the source code of the compiler and rtl by following the instructions at <http://www.freepascal.org/develop.html#cvs>. To recompile the compiler and rtl, first download and install the binary snapshot as indicated below, then go in the fpc/compiler directory you checked out from cvs and type "make cycle".
* The binary snapshotYou can download a minimal binary snapshot fromhttp://jonagold.elis.ugent.be/~jonas/fpc/fpc-darwinppc-20040104.tar.bz2. I would suggest not unpacking it with Stuffit Expander, but on the command line. Use
gnutar xjvf fpc-darwinppc-20040104.tar.bz2
and it will expand the file in the current directory. You'll get one directory (fpc) with two subdirectories: bin and rtl. The bin directory contains the two program files, ppcppc (the actual compiler) and fpc (the compiler front-end). The rtl directory contains a darwin subdirectory with all units.
The easiest will be if you put this fpc directory in your home directory, then create a file called ".fpc.cfg" (note the extra "." at the start) in your home directory with as contents (replace <your_short_name> with your short login name)
-Fu/Users/<your_short_name>/fpc/rtl/darwin
-O1
-vei
Next, if your shell is bash, add the following to the file .bash_profile in your home directory (create the file if it doesn't exist yet):
export PATH=~/fpc/bin:"$PATH"
If your shell is tcsh, add the following to the file .tcshrc in your home directory:
setenv PATH ~/fpc/bin:{$PATH}
Type 'exit' in the Terminal window, and then open a new one. From now on, you can compile programs by going to the directory with your source files and typing e.g.
fpc helloword.pas
Run the result by typing
./helloworld