[Lazarus] Cross compile

Antonio Fortuny a.fortuny at sitasoftware.lu
Mon Jun 11 16:19:31 CEST 2012

Hi all.

I've just installed onto a W7-win32 Lazarus 1.1 from daily snapshots.
After installation I downloaded  
Lazarus-1.1-37612-fpc-2.6.1-20120611-cross-arm-wince-win32.exe and ran it.
in .\fpc\2.61.1\bin\i386-win32\ I find:
06/11/2012  05:15 AM           387,086 arm-wince-ar.exe
06/11/2012  05:16 AM           775,182 arm-wince-as.exe
06/11/2012  05:16 AM           421,390 arm-wince-dlltool.exe
06/11/2012  05:16 AM         2,099,712 arm-wince-gdb.exe
06/11/2012  05:16 AM           621,582 arm-wince-ld.exe
06/11/2012  05:16 AM           662,542 arm-wince-objdump.exe
06/11/2012  05:16 AM            11,264 arm-wince-pe-stub.exe
06/11/2012  05:16 AM           518,158 arm-wince-strip.exe
06/11/2012  05:16 AM           469,518 arm-wince-windres.exe
plus a ppccrossarm.exe
and a new folder in C:\lazarus\fpc\2.6.1\units\arm-wince\ parallel to 
So far, so good.

Now I want to compile a package for both targets WIN32 and WINCE
I change the options for the package and set
output directory for units: ..\lib\$(TargetCPU)-$(TargetOS)
code genereation set
     target OS: WinCE
     target CPU: arm
disable optimizations
and do a clean compile
As a matter of result, the package is compiled without errors BUT:
1. the output units folder is .\i386-win32 and NOT arm-wince =-O     
looks like macros didn't work and win32 is still assumed
2. reverting to Win32 compilation I change the code generation options to
     target OS: Win32
     target CPU: (default value)
leaving all other options as is.
Do a clean compile and :
the same output directory has been used,
the ouput objects avec been replaced
AND all have the same size >:o     as for the compilation for WinCE
It appears that compiling options to wince do not work as the only 
result I get is win32 target.

What did I miss ?


More information about the Lazarus mailing list