Am 06.12.2010 14:54, schrieb Marco van de Voort:
On Sun, Nov 28, 2010 at 10:45:59AM +0100, Sven Barth wrote:
On 27.11.2010 22:35, Florian Kl?mpfl wrote:
Am 27.11.2010 22:11, schrieb Sven Barth:
[OT]Can I cross compile FPC for another target using the Makefile?
e.g.
make clean all OS_TARGET=linux
?
Would this create a compiler that can run on Linux if I do this on
Windows? That's what I'm unsure about.
It will. You can even add CPU targets. I generated an entire lazarus for Mac
OS X/PowerPC on Windows.
I have confirmed that by myself yesterday as well. :D
But there are caveats:
- you must have suitable crossbinutils on Windows.
Some are available on ftp in the /pub/fpc/contrib and
/pub/fpc/contrib/cross directory
- non windows systems typically need any needed libraries on the compiling
system. Simple programs for Linux and FreeBSD excluded.
The buildfaq contains a lot of background info on this.
As my NativeNT target is quite similar to Win32 (in terms what the
compiler needs, not in terms of the RTL ^^), I don't need any
crossbinutils or libraries.
Does FPC use units (outside of compiler) that aren't part of the
RTL?[/OT]
No.
Nice :)
Not units, but on e.g. BeOS and OS X, it might use libraries. (like libc).
The rtl of these interfaces libc.
For me it was important to know whether I need to implement some stuff
in packages (fcl-base, etc) as well or whether RTL is sufficient.
I was already able to successfully compile FPC for NativeNT, but for
profiling the process start up time I'll need to implement
ExecuteProcess and let me say that Win32's CreateProcess is a big beast
to translate ^^
(also I'll need to test StdIO as well...)
Regards,
Sven
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus