NOTE: If there is any progress on either the FreePascal or GNU projects, please contact me with the information. Thanks!



FreePascal 1/3/05 [OLLE]
The Free Pascal Team is pleased to announce that FPC version 1.9.6 (or 2.0.0-RC1) is available and
ready 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.

For more details, as well as links to the download, go to the
FreePascal page.
FreePascal 5/4/04 [JONAS]
You can now download a full Mac OS X installer package for the Free Pascal Compiler from

Please test it, if no bugs are found then we will release 1.9.4 soon. The documentation is installed in /Developer/Documentation/Free Pascal Compiler, but is not really adapted to Mac OS X.

Olle has also made a lot of progress with the classic Mac port lately and has added several Mac Pascal dialect features. He can compile most of the Universal Interfaces already. Some more info can be found at
GNU Pascal 10/26/03 [ADRIAAN]
1. The GNU Pascal command-line compiler is updated regularly and can be downloaded from my

2. It should be able to optimize for G5, but I don't have the hardware to test.

3. Thanks to the work of Peter N Lewis (and contributions by Gale Paeper), the Apple Universal Pascal Interfaces have been ported to GNU Pascal. They will be updated regularly at

4. I have been working hard on GNU Pascal plug-ins for CodeWarrior. The current status is that I have plug-ins ready that work well with CW Pro 8. To make them work with CW Pro 7 and CW Pro 9, I have to write a Mach-O linker plug-in (based on Apple ld), which is not too difficult. Also, work has still to be done on documentation and project stationeries.

I haven't release anything yet, but screendumps can be viewed at I regret that the plug-ins will not be free software, I simply cannot afford it.

Current limitations are that source level debugging and browser symbols don't work. I can invest the time to make these work, if the plug-ins inspire enough interest.


[OLLE] There is a new web page describing the Mac project on FreePascal:

Suggestions to the web page are welcome.

GNU Pascal


[PETER] GNU Pascal seems now to be at a stage that you can build full Mac OS X MachO applications. It'd be really nice if some folks could put together some demos for this (or even start using it for real, though it may be early for that).

Mac OS X GPC and more info:
GPC binary:
GPC source:

In general, GPC is much more powerful and supports many more standards than traditional Mac compilers. However there are a fair number of differences which can trip up Mac programmers, but once you get in to it you will probably never look back.

The differences:
GNU Pascal


[BILL] Adriaan van Os put together some information on GNU Pascal for Mac OS X, and that is now available at Pascal Central.

GNU Pascal


[ADRIAAN] The second prerelease of GNU Pascal for Mac OS X can be downloaded from:

GNU Pascal


[BOB] GNU Pascal announced for Mac OS X. (GNU Pascal) (OS X port)

It can't do anything with the GUI libraries yet, but it should work great for straight Pascal.



  • All "math" nodes have been ported to the PowerPC code generator (mod, div, shl, shr, not, neg), including handling of 64 bit operations on 32bit processors
  • I'm almost finished making the register and temporary location allocation (to store e.g. certain intermediate results of expressions such as string concatenations) logic processor independent
  • Range checking code generation is now processor independent
  • Some parts the PowerPC code generator can already be compiled (do they can't be used yet)


[FLORIAN] I already implemented parts of the following, but don't know if I commited it:

  • "load" nodes (load a global/local variable, load a parameter, load a variable from a shared library etc)
  • assignments (put the result of an expression in its destination)

[JONAS] The parts of the code generator that are already completely processor independent and for which the powerpc support is already implemented (ppc implementations not tested yet though), are:

  • basic flow control structures (,, goto/label, if..then..else, exit, break, continue)
  • type conversions (all)
  • constant handling (all)
  • some memory handling related stuff (loadvmtnode, new/dispose, address-operator, dereferencing pointer, record subscript, self,
  • most things which require compiler magic (read(ln)/write(ln), str, val, rewrite)
  • 64bit arithmetics on 32bit processors
  • most string operations
  • most set operations

NOTE: The parts of the code generator that are generic, are also already tested because every time something like that was implemented, the i386-specific code was removed at the same time.

In addition, most powerpc-specific RTL routines are already finished (some of them also tested).

So what's still left to do?


  • handling of calls and parameters
  • basic mathematical operations (add/sub/mul/xor/or/not and comparisons on ordinals and/or enumeration types)
  • shr/shl for ordinal types
  • div/mod for ordinal types
  • "load" nodes (load a global/local variable, load a parameter, load a variable from a shared library etc)
  • assignments (put the result of an expression in its destination)
  • function result handling
  • creation of "array of const" parameters
  • handling of interfaces etc
  • handling of case..of, .. in ..
  • handling of array indexes
  • lots of small helper routines for the code generator


  • finish ppc specific things and test them
  • create at least a system and "dos" (= unit containing basic file access routines) units for the OS'es you want to support


[JONAS] I've already written most PowerPC support routines for the RTL (string handling, set handling, general procedures such as move and index*). Most aren't tested yet though, so if some people could do that it would help a lot. You can get them by downloading the 1.1 RTL sources from FreePascal RTL and by looking in the powerpc subdirectory.