Hello,
sorry for posting in german.
[making Win32 programs under Linux]
Sebastian Günther wrote 34 lines
(sorry, ich kann derzeit nicht direkt an die Mailing-Liste schreiben,
wegen etwas bescheuerter Anti-Spam-Filterregeln dort. Hat aber auch den
Vorteil daß ich nicht auf Englisch schreiben brauche ;) )
Cross-Compiling ist durchaus möglich, erfordert aber etwas Handarbeit.
Zunächst muß man die binutils für das Zielsystem kompilieren: Also
binutils-Sources installieren, und dann folgendermaßen konfigurieren:
./configure --target=i686-pc-cygwin
dann entsprechend 'make' und so weiter aufrufen. (aber nicht "make
install"!)
Es entstehen ein paar Binaries im Source-Verzeichnis, die man dann
umbenennen muß. Folgende Tools werden von FPC benötigt:
gas/as-new -> asw
ld/ld-new -> ldw
binutils/dlltool -> dlltool
binutils/strip-new -> stripw
binutils/ar -> arw
windres -> (bleibt "windres")
asw, ldw, dlltool, stripw, arw und windres würde ich dann nach
/usr/local/bin kopieren.
Der FPC-Compiler selbst kann in der Linux-Version standardmäßig keine
Windoof-Programme erstellen, dazu muß er mit den Optionen "-uNOAG386INT
-uNOAG386BIN" kompiliert werden. (evtl. ist auch "-dnotargetsolaris"
noch immer notwendig, einfach mal ausprobieren...).
Das wäre es dann auch fast: Um nun von Linux aus Windows-Programme zu
erzeugen, muß man bei direkten ppc386-Aufruf die Option "-TWin32"
angeben, oder bei Verwendung von Makefiles "OS_TARGET=win32".
So, das sollte doch erstmal ausreichen. Das Erstellen eines eigenen
Compilers ist vielleicht etwas mühselig, wenn man das noch nie vorher
gemacht hat, aber da muß man durch ;)
Uff, das ist doch wesentlich komplizierter, als ich dachte. Da bleib ich lieber beim neu booten.
P.S.: Auch mein Versuch mit wine war zum weinen. Der Compiler lief zwar, aber der Linker war das "missing link".