Anyways, are there installation instructions for the latest version of Free Pascal/Lazarus, so we can get down and dirty testing your work thus far against our existing code base?
Download FpcupDeluxe
here and drop it into any folder.
Click the
Setup+ button, then find
Source patching – Add FPC patch and add all seven patches listed there (in the Open File dialog, choose *Patch* as the file type). Select
trunk for both FPC and Lazarus. Then simply click
Install/Update FPC and Lazarus.
Make sure the bottom log mentions the patches succesfully applied.
Once that is done, go to the
Cross tab, choose
aarch64 and
Windows, and click
Install compiler. Agree to download the cross-tools and wait. When everything is finished, you will have a full Lazarus package and three compilers (Win i386, Win x64 and Win aarch64).
Start Lazarus using the BAT file and you should be able to build for Windows on ARM by setting the target processor to
aarch64 and the target system to
Win64.
It is clear to me that Lazarus will continue to have tons of untapped potential, lagging behind in areas like GTK, Qt, on Linux as we all know - and even on Macs, falling behind in SDK support, even silly things like rounded corners on macOS Tahoe don't work months after release - thanks to policies which are primarily defensive in posture, but serving only to stunt the growth of this awesome effort.
On that point, I agree with you. Free Pascal has a number of issues in its development policies, priorities and long-term vision (>5 years between releases; these days one might reasonably assume the product is abandoned and move on). In addition, the developers tend to focus on their own areas of interest.
That said, it is free and open-source, so we cannot really blame them for this — it is their choice — even though it is clearly not good for the project’s long-term health or popularity.
Take the ARM64 exceptions issue as an example: the bug report has been sitting unresolved for years. I have customers who are increasingly asking for ARM64 builds of my products, so I took matters into my own hands and
wasted spent several days getting it done. Hopefully the developers will accept the patches, but if not, that only makes things worse for the project. In the meantime, I — and anyone else who needs this functionality — can simply use the patches and move on.