[fpc-pascal] Building a i686-pc-mingw32 crosscompiler from i686-darwin

Adriaan van Os fpc at microbizz.nl
Mon Jul 16 12:57:24 CEST 2007


Daniƫl Mantione wrote:
> 
> Op Mon, 16 Jul 2007, schreef Adriaan van Os:
> 
>> Has anyone tried to build a Free Pascal Windows crosscompiler on an Intel Mac
>> ? Is this supported ?
> 
> Yes, you don't need a cross-compiler to cross-compile to different 
> operating systems. With FPC 2.1.4+ you don't need binutils either to 
> cross-compile to Win32.

Ah, thanks for your reply.

> Simply make the rtl:
> 
> cd /path/to/fpc/rtl/win32
> make

I did that and it works. However, it doesn't seem to copy any files to 
usr/local/lib/fpc/2.3.1/units/i386-win32/. I tried

[p17:fpc/rtl/win32] adriaan% sudo make install
Password:
/usr/bin/install -m 755 -d /usr/local/lib/fpc/2.3.1/units/i386-win32/rtl
/usr/bin/install -c -m 644 ../../rtl/units/i386-win32/system.ppu 
../../rtl/units/i386-win32/objpas.ppu ../../rtl/units/i386-win32/macpas.ppu 
../../rtl/units/i386-win32/buildrtl.ppu ../../rtl/units/i386-win32/sysinitpas.ppu 
../../rtl/units/i386-win32/sysinitcyg.ppu ../../rtl/units/i386-win32/sysinitgprof.ppu 
../../rtl/units/i386-win32/ctypes.ppu ../../rtl/units/i386-win32/strings.ppu 
../../rtl/units/i386-win32/lineinfo.ppu ../../rtl/units/i386-win32/lnfodwrf.ppu 
../../rtl/units/i386-win32/heaptrc.ppu ../../rtl/units/i386-win32/matrix.ppu 
../../rtl/units/i386-win32/windows.ppu ../../rtl/units/i386-win32/winsock.ppu 
../../rtl/units/i386-win32/winsock2.ppu ../../rtl/units/i386-win32/initc.ppu 
../../rtl/units/i386-win32/cmem.ppu ../../rtl/units/i386-win32/dynlibs.ppu 
../../rtl/units/i386-win32/signals.ppu ../../rtl/units/i386-win32/dos.ppu 
../../rtl/units/i386-win32/crt.ppu ../../rtl/units/i386-win32/objects.ppu 
../../rtl/units/i386-win32/messages.ppu ../../rtl/units/i386-win32/rtlconsts.ppu 
../../rtl/units/i386-win32/sysconst.ppu ../../rtl/units/i386-win32/sysutils.ppu 
../../rtl/units/i386-win32/math.ppu ../../rtl/units/i386-win32/types.ppu 
../../rtl/units/i386-win32/strutils.ppu ../../rtl/units/i386-win32/dateutils.ppu 
../../rtl/units/i386-win32/varutils.ppu ../../rtl/units/i386-win32/variants.ppu 
../../rtl/units/i386-win32/typinfo.ppu ../../rtl/units/i386-win32/fgl.ppu 
../../rtl/units/i386-win32/classes.ppu ../../rtl/units/i386-win32/convutils.ppu 
../../rtl/units/i386-win32/stdconvs.ppu ../../rtl/units/i386-win32/cpu.ppu 
../../rtl/units/i386-win32/mmx.ppu ../../rtl/units/i386-win32/charset.ppu 
../../rtl/units/i386-win32/ucomplex.ppu ../../rtl/units/i386-win32/getopts.ppu 
../../rtl/units/i386-win32/winevent.ppu ../../rtl/units/i386-win32/sockets.ppu 
../../rtl/units/i386-win32/printer.ppu ../../rtl/units/i386-win32/video.ppu 
../../rtl/units/i386-win32/mouse.ppu ../../rtl/units/i386-win32/keyboard.ppu 
../../rtl/units/i386-win32/fmtbcd.ppu ../../rtl/units/i386-win32/winsysut.ppu 
../../rtl/units/i386-win32/sharemem.ppu /usr/local/lib/fpc/2.3.1/units/i386-win32/rtl
install: ../../rtl/units/i386-win32/rtlconsts.ppu: No such file or directory
make: *** [fpc_install] Error 71

> Then simply compile your program:
> 
> fpc -Fu/path/to/fpc/rtl/units/i386-win32 -Twin32 myprogram.pas
> 
> Happy crosscompiling!

When I copy some of the .o and .ppu files by hand to /usr/local/lib/fpc/2.3.1/units/i386-win32, 
crosscompiling hello.pas works.

[p17:~/fpc/testfpc] adriaan% fpc -Fu/path/to/fpc/rtl/units/i386-win32 -Twin32 hello.pas
Free Pascal Compiler version 2.3.1 [2007/07/14] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Win32 for i386
Compiling hello.pas
Linking hello.exe
9 lines compiled, 0.1 sec, 27504 bytes code, 1144 bytes data

and hello.exe actually runs at the other side of the fence.

Regards,

Adriaan van Os




More information about the fpc-pascal mailing list