Nikolay Nikolov nickysn1983 at netscape.net
Fri Aug 1 21:45:00 CEST 2003

James Mills wrote:

>How are you guys goins with crosscompiling ?
>I'd like to be able to cross compile from Debian/Linux to various other
>platforms... Or have you been crosscompiling the other way ?
First of all, you need binutils, compiled with support for the targets 
you want. Get the source, read the docs, and enable the targets you 
want, then compile it. It's C, so you need gcc environment.


If you manage to compile the binutils successfully you should end up 
having as, ld, strip, etc... that support your target os & cpu.

You could also try looking for some precompiled binaries of the 
binutils, for the target you want.

After that you can do: ppc386 -Tyour_target_os 
-FD/path_to_cross_binutils yourfile.pas

You also need the Free Pascal RTL (and other OS-specific units), you can 
get them precompiled from the fpc website. They are part of the fpc 
binary distribution for your target os.

... or you can compile them yourself using the fpc source, but that's 
somewhat more complicated.

If you want to compile for another cpu (fpc 1.0.10 supports i386 and 
m68k; fpc 1.1 currently supports i386, powerpc and sparc) then you 
*must* compile the compiler. You can read the fpc docs, for compiling 
the compiler... :)

IIRC it was something like "make CPU_TARGET=m68k" in the compiler dir 
for the motorola 680x0 (ppc for powerpc, i386 for i386, sparc for sparc 
:) )... You end up having a ppc68k executable. Then you go to the rtl 
directory and compile the rtl using this new ppc68k "make PP=ppc68k 
OPT=-FD/path_to_cross_binutils" Perhaps you also need to add 
OPT=-Tyour_target_os... I did it 2 weeks ago (I compiled a crosscompiler 
for m68k amiga), and this is what I remember... There might be some 
mistakes here... just read the docs, read the fpc compiler options and 
play with it, until you get it working... :)

And you're done.

More information about the fpc-pascal mailing list