Template:macOS FPC Source Installation
Installing from source
There are two current non-release branches of the Free Pascal Compiler: the development (trunk) branch and the Fixes 3.2 branch which includes additional fixes to the released 3.2.2 version. Developers, and those who like living on the bleeding edge and testing new features and fixes, will choose the development version; more normal users, who wish to use a stable branch with some additional fixes since the latest release version, will choose the Fixes branch. The instructions below cover both these branches.
The source code is kept in a version control system called git:
- macOS 10.5 and higher already contain a command line git client if you have installed the Xcode command line utilities.
- You also need the latest released Free Pascal Compiler version (3.2.2 as of March 2022) installed in order to be able to successfully compile the development (trunk) version.
FPC development version
- FPC New Features in development
- FPC User Changes in development - may break existing code.
Note that since the development version of FPC (was known as "trunk" in SVN; now known as "main" in GIT) is by definition still under development, some of the features may still change before they end up in a release version.
Create a directory where you would like to put the source (eg fpc_main in your home directory). You don't need to be root to do this. Any normal user can do this. Open an Applications > Utilities > Terminal and do the following:
[]$ git clone -b main https://gitlab.com/freepascal.org/fpc/source.git fpc_main
This will create a directory called fpc_main and download the FPC main source to it.
To subsequently update your local source repository with the latest source changes you can simply do:
[]$ cd
[]$ cd fpc_main
[]$ git clean -f -d
[]$ git pull
To build and install FPC (the highlighted text should be all on one line):
[]$ cd
[]$ cd fpc_main
[]$ make distclean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
[]$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
You will also need to update the links for the compiler in /usr/local/bin which will be pointing to the previous FPC version. For example:
[]$ cd /usr/local/bin
[]$ sudo rm ppc386
[]$ sudo rm ppcx64
[]$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppc386
[]$ sudo ln -s /usr/local/lib/fpc/3.3.1/ppcx64
Note that you will need to build a new ppc386
compiler if you want to continue to compile 32 bit applications by replacing these lines (this is not be possible after Xcode 11.3.1 and macOS 10.14.6 Mojave because of Apple's removal of the 32 bit frameworks):
[]$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
[]$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
with these two lines:
[]$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppc386 OS_TARGET=darwin CPU_TARGET=i386 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
[]$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386
FPC Fixes 3.2
Create a directory where you would like to put the source (eg fpc_fixes32 in your home directory). You don't need to be root to do this. Any normal user can do this. Open an Applications > Utilities > Terminal and do the following:
[]$ git clone -b fixes_3_2 https://gitlab.com/freepascal.org/fpc/source.git fpc_fixes32
This will create a directory called fpc_fixes32 and download the FPC source to it.
To subsequently update your local copy of the repository source with the latest source changes you can simply do:
[]$ cd fpc_fixes32
[]$ git clean -f -d
[]$ git pull
To build and install FPC (the highlighted text should be all on one line):
[]$ cd
[]$ cd fpc_fixes32
[]$ make distclean all FPC=/usr/local/lib/fpc/3.2.2/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
[]$ sudo make install FPC=$PWD/compiler/ppcx64 OS_TARGET=darwin CPU_TARGET=x86_64
You will also need to update the links for the compiler in /usr/local/bin which will be pointing to the previous FPC version. For example:
[]$ cd /usr/local/bin
[]$ sudo rm ppc386
[]$ sudo rm ppcx64
[]$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppc386
[]$ sudo ln -s /usr/local/lib/fpc/fixes-3.2/ppcx64
Note that you will need to build a new ppc386
compiler if you want to continue to compile 32 bit applications by replacing these lines (this may not be possible after Xcode 11.3.1 and macOS 10.14.6 Mojave because of Apple's removal of the 32 bit frameworks):
[]$ make clean all FPC=/usr/local/lib/fpc/3.2.2/ppc386 OS_TARGET=darwin CPU_TARGET=i386 OPT="-XR/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/"
[]$ sudo make install FPC=$PWD/compiler/ppc386 OS_TARGET=darwin CPU_TARGET=i386