Installation von FreePascal
Für die Erstellung des Cross - Compilers wird zuerst der normale FreePascal Compiler in der Version 2.2.2 installiert. Dies wird mit folgenden Zeilen erreicht.cd /root/install
wget ftp://ftp.freepascal.org/pub/fpc/dist/i386-linux-2.2.2/fpc-2.2.2.i386-linux.tar
tar xf fpc-2.2.2.i386-linux.tar
cd install
sh ./install.sh
cd ..
ARM - Compiler erstellen
Für die Einrichtung des Cross - Compilers holen wir uns eine aktuelle FPC Version. Dazu benötigen wir Subversion, welches mitapt-get install subversioninstalliert wird. Danach können wir auf das Repository von FreePascal zugreifen und uns eine Stable - Release auf unsere Platte holen.
cd /root/installLeider enthält die dort verwendete SDL_Mixer - Unit einen Bezug auf die Bibliothek smpeg, welche jedoch auf dem GP2X nicht installiert ist. Damit später die Einbindung von SDL_Mixer funktioniert, müssen wir einige Zeilen in der Unit bearbeiten.
svn checkout http://svn.freepascal.org/svn/fpc/branches/release_2_2_4_rc1 ./fpc224
cd fpc224
Mit dem Aufruf
joe /root/install/fpc224/packages/sdl/src/sdl_mixer.pasladen wir die zu ändernde Unit. In der Zeile 450 folgende Zeilen
{$IFNDEF DARWIN}
5 : ( mp3 : PSMPEG );
{$ENDIF}
durch nachfolgende ersetzten. Damit sind alle Verweise auf die SMPEG - Library entfernt.
{$IFNDEF DARWIN}
{$IFNDEF no_smpeg}
5 : ( mp3 : PSMPEG );
{$ENDIF}
{$ENDIF}
Danach können wir den Cross - Compiler wie folgt erstellen:
make cleanLeider wird der Vorgang mit einer Fehlermeldung abgebrochen, jedoch erst bei dem Aufbau der Installationdatei, so dass unter /tmp/fpc-pack der Compiler und die Bibliotheken zu Verfügung stehen. Also kopieren wir das Verzeichnis /tmp/fpc-pack/lib/fpc/2.2.4 nach /usr/local/lib/fpc/2.2.4/ und können das Verzeichnis /tmp/fpc-pack/ löschen. Nur noch den fehlenden Link auf den Compiler ppcrossarm unter /usr/local/bin erstellen und das wars.
make crosszipinstall CPU_TARGET=arm CROSSOPT='-CfFPA -dGP2X -darm -dno_smpeg -dFPC_ARM -O- -gl' CROSSBINDIR=/usr/local/gp2xdev/bin BINUTILSPREFIX=gp2x-
cd /usr/local/binDamit ist die Erstellung des Compilers abgeschlossen. Als letztes können wir die Konfigurationsdatei unter /etc/fpc.cfg um folgende Standardeinstellungen erweitern.
ln -s /usr/local/lib/fpc/2.2.4/ppcrossarm ppcrossarm
#ifdef GP2XProjekte können nur mit dem Aufruf
#define gp2x
#endif
#ifdef gp2x
-Fl/usr/local/gp2xdev/lib
-XPgp2x-
-Xd
-Xr/usr/local/gp2xdev
#endif
ppcrossarm -dGP2X projektdatei.dprerstellt werden.
Damit ist die Einrichtung des Cross - Compilers abgeschlossen.
Bei der Entwicklung sollte darauf geachtet werden, dass die Option SDL_DOUBLEBUF bei der Initialisierung der Grafik mit SDL_SetVideoMode eine Exception auslösst und somit nicht verwendbar ist.