[fpc-devel] Compiling fpc subversion on a AMD64 box with Win 7 64 bit OS

Jonas Maebe jonas.maebe at elis.ugent.be
Fri Oct 30 15:38:25 CET 2009


On 30 Oct 2009, at 15:28, Dimitrios Chr. Ioannidis wrote:

>> * native x86_64 compiler (assuming your fpc.exe in the path is an  
>> x86_64 version)
>> * 'native' i386 compiler
>> * ARM/wince cross-compiler
>
> In the above case i will end up with two dir's in fpc\bin. One i386- 
> win32 and one x86_64-win64. How can i use that schema with Lazarus  
> and fpc.exe ?

You can use fpc's -P option to select the target cpu, e.g. "fpc -P  
arm" will make fpc execute "ppcarm.exe" if fpc's native architecture  
is ARM, and ppcrossarm.exe if it's native architecture is something  
different (except on Mac OS X, because there this scheme is not  
required due to the concept of fat binaries -- although we don't make  
active use of that yet). I have no idea which directories fpc.exe  
searches by default under Windows for these compiler binaries. It  
should at least look in the same directory as where fpc.exe is  
located. On Unix, we put symlinks to the other compiler binaries in  
that same directory. You can try looking at the source of compiler/ 
utils/fpc.pp, it shouldn't be very complex.

> It's more user friendly to change the project compiler options for  
> different os/cpu compination than to have to do it in lazarus options.

I think working around the IDE's internal configuration can lead to  
hidden problems (since the IDE assumes that you are still compiling  
for a different architecture). I would strongly recommend against  
doing that, and if you still do it I would always test with a "proper"  
configuration before reporting any bugs.

> PS: In case you missed it i had to add the path of the fpcm util  
> cause the build process required it but couldn't find it.

The build process always assumes that you have a full FPC install of  
the previous release available.


Jonas



More information about the fpc-devel mailing list