[Lazarus] How to build FPC/Lazarus from sources on Windows?

Bo Berglund bo.berglund at gmail.com
Thu Nov 8 13:23:28 CET 2018


On Wed, 7 Nov 2018 18:39:59 -0700 (MST), leledumbo via lazarus
<lazarus at lists.lazarus-ide.org> wrote:

>> If I want to build the 64 bit version, where should I then put the 64 bit
>binutils? 
>
>Wherever -FD in your fpc.cfg points to (remember, fpc.cfg supports
>conditionals).
>
>> The suggested path c:\freepascal\binutils\i386-win32\ seems incorrect.
>
>Why not? The binutils itself could still be 32-bit while generating 64-bit
>binaries. Native 64-bit shouldn't be there, of course.

So in fact I don't really need the 64 bit versions of the binutil
files?

I looked further down on the page I found and noted this regarding
creation of the bat file used to build fpc:

For crosscompiler to x86_64 add the following after the first make:

make all OS_TARGET=win64 CPU_TARGET=x86_64 INSTALL_PREFIX=%myFPC%
PP=%mybinutils%\ppc386.exe DATA2INC=%myFPC%\utils\data2inc.exe
make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64
INSTALL_PREFIX=%myFPC% PP=%mybinutils%\ppc386.exe
DATA2INC=%myFPC%\utils\data2inc.exe

It rather looks like I don't need two different Lazarus installations
in order to build for both 32 and 64 bit windows, right?
In that case should I not focus on the 64 bit version and have 32 bit
as a crosscompile target?

I.e. Use Lazarus 64 bit to sometimes create a 32 bit program through
cross-compile.

Now I am unsure of what kind of Lazaruses I really do have (4 versions
at the moment). Is there a simple way to check if lazaus itself is 32
or 64 bit?

For Lazarus the bat file looks like this:

set myroot=c:\freepascal
set myFPC=%myroot%\fpc\3.0.4
set mybinutils=%myroot%\binutils
set PATH=%mybinutils%\i386-win32;%myFPC%\bin\i386-win32;%PATH%
cd %myroot%\laz
make clean all OPT="-glw2 -Xg"

Will it build a 64 or 32 bit version of Lazarus?
Looks like it uses 32 bit paths...


-- 
Bo Berglund
Developer in Sweden



More information about the Lazarus mailing list