Am 24.07.2013 14:12, schrieb Bernd Oppolzer:
Sorry, I'm sure, this is a very basic question,
just to speed up things a little ...
when I run the compiler on Windows on my test sources,
everythings works fine.
Now I wanted to build executables for OS/2 and Linux-386,
just to learn more about cross-compile. But the installed compiler-exe
(which came with Lazarus) only supports the win32 target.
The compiler message is as follows:
C:\fpc_test>ppc386 -Tos2 pasform.pas
Free Pascal Compiler version 2.6.2 [2013/06/09] for i386
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: OS/2
Compiling pasform.pas
Fatal: Can't find unit system used by PASFORM
Fatal: Compilation aborted
Same goes for -Tlinux
Of course, I have to build a new compiler. Or: do I misinterpret
the error message?
I downloaded the development tree using svn.
What is the easiest way to build a new compiler, and:
will it be possible to build a compiler that is able to build
different targets at the same time?
The problem is not the compiler. Each compiler can compile for each
target of the supported platform. E.g. an i386-win32 compiler can also
compile for i386-os2 and i386-linux. It can not however compile for e.g.
x86_64-win64 or powerpc-linux.
What is not provided by default for other targets is the RTL (and FCL
and packages) which the compiler needs to compile programs. These you
need to create by yourself, but for this you'll also need the according
binutils and depending on the target platform and your program also
libraries from the platform (e.g. when you compile for Linux systems).
Cross compiling for different combinations is described here:
http://wiki.freepascal.org/Cross_compiling
In the simplest cases the approach mentioned for Win32 -> Win64 is
sufficient, but you should also take a look at the BuildFAQ:
http://wiki.freepascal.org/buildfaq
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel