| Zeile 43: | Zeile 43: | ||
=== Ablauf === | === Ablauf === | ||
| − | Der Ablauf ist immer der gleiche: Folgende Pakete müssen heruntergeladen werden | + | Der Ablauf ist immer der gleiche: Folgende Pakete müssen heruntergeladen werden : |
[http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2 Binutils] und | [http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2 Binutils] und | ||
[http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2 gcc] und anschliesend mittels | [http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-core-4.4.2.tar.bz2 gcc] und anschliesend mittels | ||
| Zeile 49: | Zeile 49: | ||
$ tar -xjf gcc-core-4.4.2.tar.bz2 | $ tar -xjf gcc-core-4.4.2.tar.bz2 | ||
| − | ausgepackt werden. Wenn noch weitere Sprachen zusätzlich zu C unterstützt | + | ausgepackt werden. Wenn noch weitere Sprachen zusätzlich zu C unterstützt werden sollen müssen weitere Pakete heruntergeladen werden. Für C++ ist benötigt man zum Beispiel [http://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-g++-4.4.2.tar.bz2 dieses] Paket. Die komplette Liste befindet sich im Verzeichnis der jeweiligen GCC-Version auf dem FTP-Server. Danach müssen sie mit speziellen Parametern konfiguriert werden. Der Einfachheit halber sollte man dabei folgende Variablen setzen: |
$ export TARGET=ziel-plattform | $ export TARGET=ziel-plattform | ||
| Zeile 62: | Zeile 62: | ||
$ Pfad/zum/Code/configure --prefix=$PREFIX --target=$TARGET --disable-nls --enable-languages=c --disable-shared --disable-libssp | $ Pfad/zum/Code/configure --prefix=$PREFIX --target=$TARGET --disable-nls --enable-languages=c --disable-shared --disable-libssp | ||
| − | für welche CPU Architektur der | + | für welche CPU Architektur der Cross-Compiler gebaut wird, wird mit dem <i>target</i> Parameter angegeben. Hier mal eine nicht vollständige Liste der wichtigsten Targets: |
| − | * ''x86_64-elf'' (um auf einem 32 Bit | + | * ''x86_64-elf'' (um auf einem 32 Bit Prozessor/OS für ein 64Bit Prozessor/OS zu kompilieren. Kann auch verwendet werden um sich einen Cross-Compiler für Windows zu bauen.) |
| − | * ''arm-unknown-linux-gnu'' (um für ARM Systeme Code zu | + | * ''arm-unknown-linux-gnu'' (um für ARM Systeme Code zu kompillieren.) |
| − | Wenn weitere Sprachen unterstützt werden sollen und die entsrechenden Pakete heruntergeladen und entpackt wurden, dann müssen die Sprachen bei --enable-languages= aufgezählt werden | + | Wenn weitere Sprachen unterstützt werden sollen und die entsrechenden Pakete heruntergeladen und entpackt wurden, dann müssen die Sprachen bei <i>--enable-languages=</i> durch Kommata getrennt aufgezählt werden. |
Nachdem die Pakete nun konfiguriert wurden, müssen diese jeweils noch mit | Nachdem die Pakete nun konfiguriert wurden, müssen diese jeweils noch mit | ||