<p>Am 19.02.2012 07:23 schrieb "Reinier Olislagers" <<a href="mailto:reinierolislagers@gmail.com">reinierolislagers@gmail.com</a>>:<br>
><br>
> Hi list,<br>
><br>
> I'm trying to cross compile LCL to win64 so users of fpcup can generate<br>
> both x86 and x64 binaries.<br>
><br>
> The wiki [1] says to check your compiler, e.g. with fpc -Twin64 -Px86_64<br>
> test.pas. This works.<br>
> Then: using the IDE:<br>
> Open Tools / Configure Build Lazarus / Advanced Build Options.<br>
> Set Target OS and Target CPU.<br>
> Set LCL and Package registration to Build (the middle radio button)<br>
> and all other to None (left radio buttons).<br>
> Click the Build button.</p>
<p>Note: this doesn't describe the situation in trunk anymore.</p>
<p>> The Build FAQ says that make clean/distclean only works for the<br>
> architecture you indicate. So a make clean or distclean for win64/x86_64<br>
> seems advisable in order to clean up anything left over from previous<br>
> attempts.<br>
><br>
> 1) Does the above translate in a makefile like this:<br>
> make distclean LCL_PLATFORM=win64 CPU_TARGET=x86_64 OS_TARGET=win64<br>
> (this wouldn't interfere with my existing 32 bit LCL and IDE, would it?)<br>
><br>
> make packager/registration lazutils lcl LCL_PLATFORM=win64<br>
> CPU_TARGET=x86_64 OS_TARGET=win64<br>
></p>
<p>AFAIK this should be LCL_PLATFORM=win32 as the code is shared with the win32 platform (and no, they won't interfere with eachother)</p>
<p>> 3) Unrelated... I can take this to the FPC list as well..<br>
> The FPC manual, chapter 5 on -Txxx, says you can find out supported<br>
> compilers using -i; for me (FPC 2.7.1):<br>
> cd \development\fpc<br>
> fpc -i<br>
> it shows e.g. Win32 for i386, but not win64.<br>
> However, calling ppcrossx64 -i does show Win64 for x64.<br>
> 2 questions:<br>
> 3.1) Am I interpreting the docs incorrectly? I thought fpc would spit<br>
> out the info for all compilers it has in its directory.</p>
<p>You are interpreting this correctly. Using -P you tell the fpc binary which compiler to call which will inturn print it's info (it's the same output you'd achieve if you'd call the ppc* binary with -i yourself). This is by design (note: calling fpc without -P will simply call the default compiler binary for the platform fpc was compiled for)<br>
<br>
> 3.2) How do I go from the description, e.g. "OS/2 via EMX" to the<br>
> required -T setting, e.g. -Tos2?</p>
<p>It might be better to call FPC with -h then and fetch all lines starting with -T (this has the same platform restrictions as the -i variant)</p>
<p>Regards,<br>
Sven<br>
</p>