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 mit
apt-get install subversion
installiert wird. Danach können wir auf das Repository von FreePascal zugreifen und uns eine Stable - Release auf unsere Platte holen.
cd /root/install
svn checkout http://svn.freepascal.org/svn/fpc/branches/release_2_2_4_rc1 ./fpc224
cd fpc224
Leider 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.

Mit dem Aufruf
joe /root/install/fpc224/packages/sdl/src/sdl_mixer.pas
laden 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 clean
make crosszipinstall CPU_TARGET=arm CROSSOPT='-CfFPA -dGP2X -darm -dno_smpeg -dFPC_ARM -O- -gl' CROSSBINDIR=/usr/local/gp2xdev/bin BINUTILSPREFIX=gp2x-
Leider 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.
cd /usr/local/bin
ln -s /usr/local/lib/fpc/2.2.4/ppcrossarm ppcrossarm
Damit ist die Erstellung des Compilers abgeschlossen. Als letztes können wir die Konfigurationsdatei unter /etc/fpc.cfg um folgende Standardeinstellungen erweitern.

#ifdef GP2X
#define gp2x
#endif

#ifdef gp2x
-Fl/usr/local/gp2xdev/lib
-XPgp2x-
-Xd
-Xr/usr/local/gp2xdev
#endif
Projekte können nur mit dem Aufruf
ppcrossarm -dGP2X projektdatei.dpr
erstellt 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.
*
*
Bitte rechnen Sie 6 plus 6.*