[fpc-devel] Windows for AArch64

J. Gareth Moreton gareth at moreton-family.com
Sat May 25 10:49:34 CEST 2024


Thought I'd give a small update.

I was distracted over the past month with work, the arm-linux blocking 
bug and a couple of merge requests which were much easier to develop!  
I'm now having a solid bash at getting Windows on ARM64 working.  It's 
proving harder than anticipated because I can't install common helper 
tools like Cygwin because there isn't a native AArch64 version available 
(and x64 is not supported for emulation, it seems... only x86), and 
Microsoft Visual Studio (which contains a working assembler) absolutely 
refuses to install because Windows 10 on ARM64 is not supported, only 
Windows 11 (and my Raspberry Pi is not "ready" to upgrade to Windows 11).

I did manage to get the make process to complete with the options that 
Sven listed, but despite all of the packages building, the resultant 
"ppca64" executable immediately exited with no messages or anything, 
even if I specified "ppca64 -i" to display supported information.  I'm 
not sure if this is due to the bugs regarding exceptions and case 
blocks, or some other reason.

Nevertheless, it is a problem I am determined to solve.  I hope I'm not 
acting too greedy with the bounty, but one of my contracts is extremely 
late in paying me and it's left me in a dire financial position... 
hunger can be a good motivator sometimes! Also I figured since I have 
some experience with AArch64, this is something I should be able to handle.

Gareth aka. Kit

On 29/04/2024 21:31, Sven Barth via fpc-devel wrote:
> Am 29.04.2024 um 08:42 schrieb J. Gareth Moreton via fpc-devel:
>> Aah, partially answered.  It's not supported in 3.2.2, but there is 
>> better support for it in the trunk.
>
> You had me worried there for a moment that someone regenerated the 
> makefiles with an older version of fpcmake... ^^'
>
> Anyway, aside from using main you need to make sure that you have a 
> current version of clang installed and preferrably in PATH, because 
> FPC uses it as assembler.
>
> You then call make like this (adding parallelisation options as 
> desired of course):
>
> make all OS_TARGET=win64 CPU_TARGET=aarch64 BINUTILSPREFIX=
>
> (note that there is a space between the last "=" and the end of the 
> command line)
>
> Regards,
> Sven
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


More information about the fpc-devel mailing list