Free Pascal is a professional 32 and 64-bit Pascal compiler. Free Pascal Team. Pascal compiler that integrates with Xcode. For OS X 10.4 or later. Mac users with machines running PPC (10.2.8 or later) should download this version of Free Pascal 2.2. I'm a beginner Pascal programmer and I recently migrated to the Mac OS X. Today I spent many hours searching for a good Pascal IDE for this OS and found nothing. I used to write code with Geany on Windows and it worked like a charm, I also enjoyed the compiling and running capacity of Geany. There are two methods to install Free Pascal for Mac OS X. 1) Download and install the Mac OS X installer package 2) Install fpc using fink This second method additionally includes a text mode IDE, which partly works using XQuartz xterm. Files from Free Pascal Compiler A 32/64/16-bit Pascal compiler for Win32/64/CE, Linux, Mac OS X/iOS, Android, FreeBSD, OS/2, Game Boy Advance, Nintendo NDS and DOS; semantically compatible with Delphi, Borland Pascal and Mac Pascal (partially) with extra features, e.g. Operator overloading. The 'classic' Mac OS is the original Macintosh operating system that was introduced in 1984 alongside the first Macintosh and remained in primary use on Macs until the introduction of Mac OS X in 2001. Apple released the original Macintosh on January 24, 1984; its early system software was partially based on the Lisa OS and the Xerox PARC Alto computer, which former Apple CEO Steve Jobs.
Welcome to the FreePascal on the Macintosh page. Here is informationespecially for you who want to write a program for the Macintosh.
News:
2005-12-18:2005-07-23:
Lazarus Pascal Mac Os X
The 2.1.1 snapshot that was here is no longer available.
If you really need to be up to date with FPC,please consider using Subversion, and build the compiler by your self.
Some changes:
- No more '_main' symbol in the system unit (so can link with C main programs)
- Shared library creation support under Mac OS X
- Several bugfixes related to overflow checking on PPC
There is now awiki page covering porting issues, from traditional macpascals to FPC.
2005-06-21:
A FPC 2.1.1 snapshot is availablehere(10.8 MB, does not include the PDF documentation). It includes:
- Support for Macintosh Object Pascal in Macpas mode (includes support for mixing in Delphi-style OOP programming in Macpas mode, except that you have to use 'object' instead of 'class' everywhere -- all occurrences of 'class' are simply internally replaced by the OBJECT compiler token)
- Fixed bug which caused stack corruption in procedures receiving floating point parameters and parameters on the stack (only if the caller side was compiled by FPC)
- Fixed bug in overflow checking of integer operations (some calculations were buggy if overflow checking is turned on, which is the case in the default development building style of Xcode if you use the integration kit)
- Fixed bug in division of unsigned numbers > $7fffffff by a power of 2
2005-05-15:
At last !!!!! Free Pascal 2.0 is released for Mac OS X and classic Mac OS,as well as for other targets.
This means Free Pascal for the mac is not considered beta anymore.Get it on one of the mirror download sites.
Targets on the Macintosh:
Target / Processor | Status | Remark | Contact |
---|---|---|---|
final | For Mac OS X | ||
final | Target MacOS means classic Mac OS, up to System 9.x.Although it of course also work in the classicenvironment in Mac OS X | ||
MacOS on M68K | not planned | If someone is interrested to contribute, there is apossiblity to implement this target. There is support forMC68000 in the FPC source code, although not updated for a while. |
Mac Pascal dialect
The dialect of Pascal supported by popular Pascals on Macintosh is supported in part.Read more here.Free Pascal 2.0 for Mac OS X is the current release. It should at least work on Mac OS X 10.1 and higher. It requires that you have installedXCode from Apple, to have assembler, linker and make tools available to fpc.For older versions of Mac OS X you should install Apple Development Tools instead.Both can be downloaded for free from Apple, but requires that youregister yourself as a member of Apple Developer Connection.Both are also included in the Mac OS X bundle.
To download, go to the Download page,and choose a mirror site near you (to limit net traffic).The documentation is included, but can also be downloaded separatelly. If you want the source code, it has to be downloaded separatelly.
There most recent FPC 2.1.1 snapshot is availablehere (10.4 MB)with, among others, support for mac style object pascal. See above under NEWS.Note that the compiler is a unix style program and is run from theTerminal on MacOS X.
Please report any bugs encountered.
Using FPC from XCode
It is possible to use Free Pascal from within XCode (Mac OS X 10.3 is required).Look at the step-by-step instruction of how to download and install theXCode Integration Kit.Thanks to Rolf Jansen for this contribution.Free Pascal 2.0 for Mac OS is the current release. It will work on latest classic Mac OS (that is 9.2.2) and below, probably down to 7.1.2 (the firstMac OS for PowerPC), and also in the classic compatibility environment on Mac OS X.However it has only been tested on Mac OS 9 and Mac OS X classic environment.
It requires that you have installed Macinstosh Programmers Workshop (MPW)which can be downloaded for free from Apple.
To download, go to the Download page,and choose a mirror site near you (to limit net traffic).The documentation, as well as the source code (if you need it), has to be downloaded separatelly.
Note that the compiler is an MPW tool.
Please report any bugs encountered.
Current status of classic Mac OS
Native FPC compiler (as an MPW tool) | Almost complete | |
Unit System.pp | Complete | The system unit is implicitly used by every program. Contains basic file andmemory handling among others. |
Unit Dos.pp | Complete | Contrary to what its name suggests, the DOS unit is crossplattfrom and contains utility routines for file and datehandling, beyond that in System.pp. It is reminiscent fromTurbo Pascal. |
Unit Sysutils.pp | Planned | A moderner alternative to unit DOS, compatible withDelphi. |
Unit MacOS | Complete | API to the Macintosh Toolbox |
Units strings objpas heaptrc getopts etc | Implemented. | They are target independent. |
Other units | Non-existent. Some will be implemented. | Implementation will depend on how important the unit isand if difficulties arise. |
Debugging
There is some limited possibilities to debug programs in classic MacOS. SeeMPW debuggingin the wiki.
As an alternative, you might do the main debugging in a MacOSX/Darwinversion of your program.
There are three major Pascal dialects: Turbo Pascal (extended toDelphi, supported by FreePascal, and partially by Gnu Pascal),Extended Pascal (an ISO standard, supported by Gnu Pascal, DECPascal, Prospero Pascal), and the dialect originating from Apple(commonly used in the Mac community, supported by MPW Pascal,Metrowerks Pascal and Think Pascal). We call this dialect Mac Pascaland there is a special language mode for it: MacPas.
Mode MacPas is a compatibility mode. It is probably notpossible to mimic the Mac Pascal dialect in detail. So the goal is toimplement often used constructs, if this doesn't require too mucheffort, as well as easy-to-implement constructs.
To use MacPas, add -Mmacpas to the command line or insert thecompiler directive {$MODE MACPAS} in the source code.
Note that the mac pascal dialect and mac targets are notinterrelated. It is thus possible to write a mac program with theturbo dialect and to write a Windows program with the mac dialect.
The following are supported:Mac compiler directives like $SETC, $IFC, $ELSEC, $ENDC, $J, $Z.Most of the constructs found in interface files, especiallyApples Universal Interfaces. Cycle, Leave, Otherwise. More is planned.
More updated info on the Wiki page.
By Olle Raab
For questions and suggestions, we suggest subscribing on our mailing lists , in particular FPC-pascal for questions about using Free Pascal.
Or write toolle.raab@freepascal.org
Latest modified 2005-07-28
Download Turbo Pascal For Mac Os X
Welcome to the FreePascal on the Macintosh page. Here is information especially for you who want to write a program for the Macintosh.
News:
2009-02-09:The download statistics indicate that the snapshots below are still downloaded a lot. Note that all fixes from those snapshots are also in the official release of FPC 2.2.2 (and will be also in later versions, when they become available), which was released in August 2008. Since FPC 2.2.2 also contains many additional fixes, we recommend you to use that version. It is available from the regular download pages.
2007-11-14:There are some errors in the new linker shipped with Xcode 3.0/Mac OS X 10.5. A detailed overview was posted to the fpc-pascal mailing list. We have worked around most of those issues and created (stable) development snapshots for both PowerPC and Intel. These are intended to be installed on top of the 2.2.0 release version. Future releases will have these fixes incorporated.
One linker bug cannot be completely worked around in the compiler, which is related to the Stabs debugging format. For this reason, we recommend to switch to the Dwarf debugging format on Mac OS X 10.5. On the command line, you can do this by using -gw instead of -g to generate debugging information. In the Xcode projects, add -gw at the end of the FPC_SPECIFIC_OPTIONS project setting for the Debug configuration.
2006-08-27:Regular snapshots of FPC 2.1.1 (both for PowerPC and for Intel - the latterdenoted as i386) are now generated by and available from the Lazarus team.
If you only need the compiler (to either use it from the command line or from Xcode),you only have to download and install the 'fpc' package.
2005-12-18:
Version 2.0.2 that was released a few weeks ago has all fixes and improvements of the 2.1.1 snapshot that was here (like Mac Pascal style objects and creationof dynamic libraries). Additionally, it doesn't suffer from the installationproblems the 2.1.1 snapshot installer had. Get the release here.
2005-07-23:
The 2.1.1 snapshot that was here is no longer available.
If you really need to be up to date with FPC,please consider using Subversion, and build the compiler by your self.
Some changes:
- No more '_main' symbol in the system unit (so can link with C main programs)
- Shared library creation support under Mac OS X
- Several bugfixes related to overflow checking on PPC
There is now a wiki page covering porting issues, from traditional mac pascals to FPC.
2005-06-21:
A FPC 2.1.1 snapshot is available here (10.8 MB, does not include the PDF documentation). It includes:
- Support for Macintosh Object Pascal in Macpas mode (includes support for mixing in Delphi-style OOP programming in Macpas mode, except that you have to use 'object' instead of 'class' everywhere -- all occurrences of 'class' are simply internally replaced by the _OBJECT compiler token)
- Fixed bug which caused stack corruption in procedures receiving floating point parameters and parameters on the stack (only if the caller side was compiled by FPC)
- Fixed bug in overflow checking of integer operations (some calculations were buggy if overflow checking is turned on, which is the case in the default development building style of Xcode if you use the integration kit)
- Fixed bug in division of unsigned numbers > $7fffffff by a power of 2
2005-07-23:
Lazarus Pascal Mac Os X
The 2.1.1 snapshot that was here is no longer available.
If you really need to be up to date with FPC,please consider using Subversion, and build the compiler by your self.
Some changes:
- No more '_main' symbol in the system unit (so can link with C main programs)
- Shared library creation support under Mac OS X
- Several bugfixes related to overflow checking on PPC
There is now awiki page covering porting issues, from traditional macpascals to FPC.
2005-06-21:
A FPC 2.1.1 snapshot is availablehere(10.8 MB, does not include the PDF documentation). It includes:
- Support for Macintosh Object Pascal in Macpas mode (includes support for mixing in Delphi-style OOP programming in Macpas mode, except that you have to use 'object' instead of 'class' everywhere -- all occurrences of 'class' are simply internally replaced by the OBJECT compiler token)
- Fixed bug which caused stack corruption in procedures receiving floating point parameters and parameters on the stack (only if the caller side was compiled by FPC)
- Fixed bug in overflow checking of integer operations (some calculations were buggy if overflow checking is turned on, which is the case in the default development building style of Xcode if you use the integration kit)
- Fixed bug in division of unsigned numbers > $7fffffff by a power of 2
2005-05-15:
At last !!!!! Free Pascal 2.0 is released for Mac OS X and classic Mac OS,as well as for other targets.
This means Free Pascal for the mac is not considered beta anymore.Get it on one of the mirror download sites.
Targets on the Macintosh:
Target / Processor | Status | Remark | Contact |
---|---|---|---|
final | For Mac OS X | ||
final | Target MacOS means classic Mac OS, up to System 9.x.Although it of course also work in the classicenvironment in Mac OS X | ||
MacOS on M68K | not planned | If someone is interrested to contribute, there is apossiblity to implement this target. There is support forMC68000 in the FPC source code, although not updated for a while. |
Mac Pascal dialect
The dialect of Pascal supported by popular Pascals on Macintosh is supported in part.Read more here.Free Pascal 2.0 for Mac OS X is the current release. It should at least work on Mac OS X 10.1 and higher. It requires that you have installedXCode from Apple, to have assembler, linker and make tools available to fpc.For older versions of Mac OS X you should install Apple Development Tools instead.Both can be downloaded for free from Apple, but requires that youregister yourself as a member of Apple Developer Connection.Both are also included in the Mac OS X bundle.
To download, go to the Download page,and choose a mirror site near you (to limit net traffic).The documentation is included, but can also be downloaded separatelly. If you want the source code, it has to be downloaded separatelly.
There most recent FPC 2.1.1 snapshot is availablehere (10.4 MB)with, among others, support for mac style object pascal. See above under NEWS.Note that the compiler is a unix style program and is run from theTerminal on MacOS X.
Please report any bugs encountered.
Using FPC from XCode
It is possible to use Free Pascal from within XCode (Mac OS X 10.3 is required).Look at the step-by-step instruction of how to download and install theXCode Integration Kit.Thanks to Rolf Jansen for this contribution.Free Pascal 2.0 for Mac OS is the current release. It will work on latest classic Mac OS (that is 9.2.2) and below, probably down to 7.1.2 (the firstMac OS for PowerPC), and also in the classic compatibility environment on Mac OS X.However it has only been tested on Mac OS 9 and Mac OS X classic environment.
It requires that you have installed Macinstosh Programmers Workshop (MPW)which can be downloaded for free from Apple.
To download, go to the Download page,and choose a mirror site near you (to limit net traffic).The documentation, as well as the source code (if you need it), has to be downloaded separatelly.
Note that the compiler is an MPW tool.
Please report any bugs encountered.
Current status of classic Mac OS
Native FPC compiler (as an MPW tool) | Almost complete | |
Unit System.pp | Complete | The system unit is implicitly used by every program. Contains basic file andmemory handling among others. |
Unit Dos.pp | Complete | Contrary to what its name suggests, the DOS unit is crossplattfrom and contains utility routines for file and datehandling, beyond that in System.pp. It is reminiscent fromTurbo Pascal. |
Unit Sysutils.pp | Planned | A moderner alternative to unit DOS, compatible withDelphi. |
Unit MacOS | Complete | API to the Macintosh Toolbox |
Units strings objpas heaptrc getopts etc | Implemented. | They are target independent. |
Other units | Non-existent. Some will be implemented. | Implementation will depend on how important the unit isand if difficulties arise. |
Debugging
There is some limited possibilities to debug programs in classic MacOS. SeeMPW debuggingin the wiki.
As an alternative, you might do the main debugging in a MacOSX/Darwinversion of your program.
There are three major Pascal dialects: Turbo Pascal (extended toDelphi, supported by FreePascal, and partially by Gnu Pascal),Extended Pascal (an ISO standard, supported by Gnu Pascal, DECPascal, Prospero Pascal), and the dialect originating from Apple(commonly used in the Mac community, supported by MPW Pascal,Metrowerks Pascal and Think Pascal). We call this dialect Mac Pascaland there is a special language mode for it: MacPas.
Mode MacPas is a compatibility mode. It is probably notpossible to mimic the Mac Pascal dialect in detail. So the goal is toimplement often used constructs, if this doesn't require too mucheffort, as well as easy-to-implement constructs.
To use MacPas, add -Mmacpas to the command line or insert thecompiler directive {$MODE MACPAS} in the source code.
Note that the mac pascal dialect and mac targets are notinterrelated. It is thus possible to write a mac program with theturbo dialect and to write a Windows program with the mac dialect.
The following are supported:Mac compiler directives like $SETC, $IFC, $ELSEC, $ENDC, $J, $Z.Most of the constructs found in interface files, especiallyApples Universal Interfaces. Cycle, Leave, Otherwise. More is planned.
More updated info on the Wiki page.
By Olle Raab
For questions and suggestions, we suggest subscribing on our mailing lists , in particular FPC-pascal for questions about using Free Pascal.
Or write toolle.raab@freepascal.org
Latest modified 2005-07-28
Download Turbo Pascal For Mac Os X
Welcome to the FreePascal on the Macintosh page. Here is information especially for you who want to write a program for the Macintosh.
News:
2009-02-09:The download statistics indicate that the snapshots below are still downloaded a lot. Note that all fixes from those snapshots are also in the official release of FPC 2.2.2 (and will be also in later versions, when they become available), which was released in August 2008. Since FPC 2.2.2 also contains many additional fixes, we recommend you to use that version. It is available from the regular download pages.
2007-11-14:There are some errors in the new linker shipped with Xcode 3.0/Mac OS X 10.5. A detailed overview was posted to the fpc-pascal mailing list. We have worked around most of those issues and created (stable) development snapshots for both PowerPC and Intel. These are intended to be installed on top of the 2.2.0 release version. Future releases will have these fixes incorporated.
One linker bug cannot be completely worked around in the compiler, which is related to the Stabs debugging format. For this reason, we recommend to switch to the Dwarf debugging format on Mac OS X 10.5. On the command line, you can do this by using -gw instead of -g to generate debugging information. In the Xcode projects, add -gw at the end of the FPC_SPECIFIC_OPTIONS project setting for the Debug configuration.
2006-08-27:Regular snapshots of FPC 2.1.1 (both for PowerPC and for Intel - the latterdenoted as i386) are now generated by and available from the Lazarus team.
If you only need the compiler (to either use it from the command line or from Xcode),you only have to download and install the 'fpc' package.
2005-12-18:
Version 2.0.2 that was released a few weeks ago has all fixes and improvements of the 2.1.1 snapshot that was here (like Mac Pascal style objects and creationof dynamic libraries). Additionally, it doesn't suffer from the installationproblems the 2.1.1 snapshot installer had. Get the release here.
2005-07-23:
The 2.1.1 snapshot that was here is no longer available.
If you really need to be up to date with FPC,please consider using Subversion, and build the compiler by your self.
Some changes:
- No more '_main' symbol in the system unit (so can link with C main programs)
- Shared library creation support under Mac OS X
- Several bugfixes related to overflow checking on PPC
There is now a wiki page covering porting issues, from traditional mac pascals to FPC.
2005-06-21:
A FPC 2.1.1 snapshot is available here (10.8 MB, does not include the PDF documentation). It includes:
- Support for Macintosh Object Pascal in Macpas mode (includes support for mixing in Delphi-style OOP programming in Macpas mode, except that you have to use 'object' instead of 'class' everywhere -- all occurrences of 'class' are simply internally replaced by the _OBJECT compiler token)
- Fixed bug which caused stack corruption in procedures receiving floating point parameters and parameters on the stack (only if the caller side was compiled by FPC)
- Fixed bug in overflow checking of integer operations (some calculations were buggy if overflow checking is turned on, which is the case in the default development building style of Xcode if you use the integration kit)
- Fixed bug in division of unsigned numbers > $7fffffff by a power of 2
2005-05-15:
Pascal Abc Mac Os X
At last !!!!! Free Pascal 2.0 is released for Mac OS X and classic Mac OS,as well as for other targets.
This means Free Pascal for the mac is not considered beta anymore.Get it on one of the mirror download sites.
Targets on the Macintosh:
Target / Processor | Status | Remark | Contact The lord of the rings the battle for middle earth 2 mac os. |
---|---|---|---|
final | For Mac OS X | ||
final | Target Mac OS means classic Mac OS, up to System 9.x. Although it of course also work in the classic environment in Mac OS X | ||
Mac OS on M68K | not planned | If someone is interrested to contribute, there is a possiblity to implement this target. There is support for MC68000 in the FPC source code, although not updated for a while. |
Mac Pascal dialect
The dialect of Pascal supported by popular Pascals on Macintosh is supported in part. Read more here.Free Pascal 2.0 for Mac OS X is the current release. It should at least work on Mac OS X 10.1 and higher. It requires that you have installed XCode from Apple, to have assembler, linker and make tools available to fpc. For older versions of Mac OS X you should install Apple Development Tools instead. Both can be downloaded for free from Apple, but requires that you register yourself as a member of Apple Developer Connection. Both are also included in the Mac OS X bundle.
To download, go to the Download page, and choose a mirror site near you (to limit net traffic). The documentation is included, but can also be downloaded separatelly. If you want the source code, it has to be downloaded separatelly.
There most recent FPC 2.1.1 snapshot is available here (10.4 MB)with, among others, support for mac style object pascal. See above under NEWS.Note that the compiler is a unix style program and is run from the Terminal on Mac OS X.
Please report any bugs encountered.
Using FPC from XCode
It is possible to use Free Pascal from within XCode (Mac OS X 10.3 is required).Look at the step-by-step instruction of how to download and install the XCode Integration Kit. Thanks to Rolf Jansen for this contribution.Free Pascal 2.0 for Mac OS is the current release. It will work on latest classic Mac OS (that is 9.2.2) and below, probably down to 7.1.2 (the first Mac OS for PowerPC), and also in the classic compatibility environment on Mac OS X. However it has only been tested on Mac OS 9 and Mac OS X classic environment.
It requires that you have installed Macinstosh Programmers Workshop (MPW) which can be downloaded for free from Apple.
To download, go to the Download page, and choose a mirror site near you (to limit net traffic). The documentation, as well as the source code (if you need it), has to be downloaded separatelly.
Note that the compiler is an MPW tool.
Please report any bugs encountered.
Current status of classic Mac OS
Native FPC compiler (as an MPW tool) | Almost complete | |
Unit System.pp | Complete | The system unit is implicitly used by every program. Contains basic file and memory handling among others. |
Unit Dos.pp | Complete | Contrary to what its name suggests, the DOS unit is cross plattfrom and contains utility routines for file and date handling, beyond that in System.pp. It is reminiscent from Turbo Pascal. |
Unit Sysutils.pp | Planned | A moderner alternative to unit DOS, compatible with Delphi. |
Unit MacOS | Complete | API to the Macintosh Toolbox |
Units strings objpas heaptrc getopts etc | Implemented. | They are target independent. |
Other units | Non-existent. Some will be implemented. | Implementation will depend on how important the unit is and if difficulties arise. |
Debugging
There is some limited possibilities to debug programs in classic Mac OS. See MPW debugging in the wiki.
As an alternative, you might do the main debugging in a Mac OS X/Darwin version of your program.
There are three major Pascal dialects: Turbo Pascal (extended to Delphi, supported by FreePascal, and partially by Gnu Pascal), Extended Pascal (an ISO standard, supported by Gnu Pascal, DEC Pascal, Prospero Pascal), and the dialect originating from Apple (commonly used in the Mac community, supported by MPW Pascal, Metrowerks Pascal and Think Pascal). We call this dialect Mac Pascal and there is a special language mode for it: MacPas.
Pascal Programming Mac Os X
Mode MacPas is a compatibility mode. It is probably not possible to mimic the Mac Pascal dialect in detail. So the goal is to implement often used constructs, if this doesn't require too much effort, as well as easy-to-implement constructs.
To use MacPas, add -Mmacpas to the command line or insert the compiler directive {$MODE MACPAS} in the source code.
Note that the mac pascal dialect and mac targets are not interrelated. It is thus possible to write a mac program with the turbo dialect and to write a Windows program with the mac dialect.
The following are supported: Mac compiler directives like $SETC, $IFC, $ELSEC, $ENDC, $J, $Z. Most of the constructs found in interface files, especially Apples Universal Interfaces. Cycle, Leave, Otherwise. More is planned.
Pascal For Mac Os X 10.7
More updated info on the Wiki page.
Pascal For Mac Os X 10.10
By Olle Raab
For questions and suggestions, we suggest subscribing on our mailing lists , in particular FPC-pascal for questions about using Free Pascal.
Or write to olle.raab@freepascal.org
Latest modified 2005-07-28