Kompilieren aus dem CVS für Win32 mit MSYS
Wer die allerneueste Version
von FreeBASIC für Win32 haben möchte, kann sie selbst mit MSYS kompilieren, dem
Minimalen
SYStem herausgegeben von den MinGW-Leuten. Die Mehrheit
der Benutzer sollte jedoch bei der 'stable' Win32-Ausgabe bleiben! Aber die
neuesten Ergänzungen und Berichtigungen sind auf diesem Weg erhältlich.
Einrichten der MSYS/MinGW-Umgebung
Installieren der Pakete für MinGW und MSYS
Die nötigen Pakete lassen sich auf der folgenden Download-Seite finden:
http://www.mingw.org/∞, in der Sektion "Current". Diese sollten installiert oder
entpackt werden nach C:\MinGW
- mingw-runtime
- binutils
- gcc-core
- w32api
- mingw32-make
Auf dieser Seite ist auch ein Installer für
MSYS-1.0. Downloaden und installieren nach "C:\msys\1.0" und den 'post-install' ausführen.
Bei der Nachfrage zur MinGW-Installation: c:/MinGW eingeben
Ergänzen anderer erforderlicher Dateien und Pakete
Um den FreeBASIC-Quellcode vom CVS zu downloaden,
muß cvs.exe vorhanden sein. Zur Zeit der Erstellung diese Dokumentes kann die neueste Version von CVS.exe hier
bezogen werden:
http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/cvs-1-11-22.zip∞Downloaden und cvs.exe nach c:\MinGW\bin entpacken
Um die gfxlib2 zu erstellen, müssen die DirectX-Headerdateien installiert sein.
Momentan ist der einzig bekannte Weg, ein Paket, wie das auf folgender Web-Site, zu downloaden:
http://www.streetcds.co.uk/dx/dx80_mgw.zip∞Downloaden und entpacken nach C:\MinGW
Ergänzen des FreeBASIC-Programmes
(Die folgenden Befehle müssen in einem MSYS-Terminal eingegeben werden.)
Zum Kompilieren von fbc.exe muß die neueste FreeBASIC-Version vorhanden sein. Dieser nächste Schritt setzt voraus, daß FB
in C:\Program Files\FreeBASIC installiert ist
Ein MSYS-Terminal öffnen.
Darin die
folgenden Befehle eingeben:
mkdir /FBbin
cp -rv "/c/Program Files/FreeBASIC"/* /FBbin
So wird
FreeBASIC in die MSYS-Installation kopiert.
Damit MSYS die FreeBASIC-Dateien finden kann,
muß der Pfad(path) ergänzt werden.
Dazu folgenden Befehl
eingeben:
echo 'export PATH="$PATH:/FBbin"' >> /etc/profile
Das ergänzt
einen Befehl am Ende des Startup-Scripts, sodaß beim nächsten MSYS-Start,
/Fbbin automatisch zum Pfad ergänzt wird. Damit dies auch aktiv wird, muß MSYS neu gestartet werden.
Erstellen des FreeBASIC-Compilers und der Bibliotheken
(Die folgenden Befehle müssen in einem MSYS-Terminal eingegeben werden.)
Downloaden der FreeBASIC-Quellen
Der neueste Quellcode muß mit CVS von SourceForge gedownloadet werden.
MSYS rxvt I/O ist oft fehlerhaft. Also, wenn das System stoppt(hängt), nachdem ENTER gedrückt wurde,
hilft ein Ctrl-C zum Weitermachen.
Es können auch ein paar Fehlermeldungen über eine Datei ~/.cvspass erscheinen; diese können
beruhigt übergangen werden.
mkdir ~/fbccvs
cd ~/fbccvs
cvs -z3 -d:pserver:anonymous@fbc.cvs.sourceforge.net:/cvsroot/fbc co FreeBASIC
Bei diesem
Schritt kann eine Meldung wie "dying gasps" vom SourceForge-Server kommen.
Diese kann wahrscheinlich beruhigt übergangen werden, aber wenn das passiert, ist es ratsam, diesen Schritt zu
wiederholen und sicherzustellen, daß alle Dateien überprüft sind. Wenn es bis zum
FreeBASIC/tests/wstring Ordner klappt, sollte alles OK sein.
Erstellen von rtlib
cd ~/fbccvs/FreeBASIC/src/rtlib/obj/win32
../../configure
make CFLAGS=-O2 && make CFLAGS=-O2 MULTITHREADED=1
Erstellen von gfxlib
cd ~/fbccvs/FreeBASIC/src/gfxlib2/obj/win32
../../configure
make CFLAGS=-O2
Erstellen von fbc
cd ~/fbccvs/FreeBASIC/src/compiler/obj/win32
../../configure
make
Updaten der in MSYS installierten FreeBASIC-Software
Die folgenden Schritte werden die FreeBASIC-Kopie in
/FBbin updaten
(Nochmal, die folgenden Befehle müssen in einem MSYS-Terminal eingegeben werden.)
Ersetzen alter Dateien durch neue aus dem Quell-Ordner
cp -fv ~/fbccvs/FreeBASIC/bin/win32/* /FBbin/bin/win32
cp -rfv ~/fbccvs/FreeBASIC/inc/* /FBbin/inc
Ersetzen der alten Compiler- und Bibliotheks-Dateien durch die dann erstellten
cp -fv ~/fbccvs/FreeBASIC/src/compiler/obj/win32/fbc_new.exe /FBbin/fbc.exe
cp -fv ~/fbccvs/FreeBASIC/src/rtlib/obj/win32/*.a /FBbin/lib/win32
cp -fv ~/fbccvs/FreeBASIC/src/rtlib/obj/win32/libfb_ctor.o /FBbin/lib/win32
cp -fv ~/fbccvs/FreeBASIC/src/gfxlib2/obj/win32/*.a /FBbin/lib/win32
Kopieren der MSYS/MinGW-spezifischen Bibliothek in das FB-Linker Bibliotheks-Verzeichnis, wenn sie nicht schon dort ist
cp /mingw/lib/libmingwex.a /FBbin/lib/win32
Und
nun kann die Post abgehen.. Das allerneueste FB ist jetzt in MSYS /FBbin.
Beachte:
Kürzlich zeigte sich, daß obwohl das obige Verfahren oftmals klappt, es trotzdem einige
Henne-und-Ei-bezogene Probleme geben kann. Dann bitte in diesem Forums-Thread nachsehen:
http://www.freebasic.net/forum/viewtopic.php?p=32260∞
Es gibt keine Kommentare auf dieser Seite. [Wie denn auch ?]
Diese Übersetzung habe ich für mich angefertigt, Übersetzungsfehler und Irrtümer sind nicht ausgeschlossen..