amiga-gcc ist eine C/C++ Cross-Compiler Suite, die Amiga-Programmierern die GNU Compiler Collection gcc und den C-Compiler VBCC, aber auch Werkzeuge wie vamos unter Linux, Windows und macOS zur Verfügung stellt. Die Suite kommt mit zwei vollständigen C-Entwicklungsumgebungen inklusive der Standard-Header und integrierten Erweiterungsbibliotheken, wie z.B. MUI und ReAction, für AmigaOS 1.3 bis AmigaOS 3.2 daher und kann als ein neuer Standard bei der Entwicklung von Programmen auf dem Commodore Amiga (68k) betrachtet werden.
Stefan ‚Bebbo‘ Franke, Autor der Cross-Compiler Suite, stellt amiga-gcc auf seiner Website kostenlos zur Verfügung. Um die Suite unter debian Linux zu installieren, genügen einige wenige Schritte – und ein bisschen Geduld. Auf einem durchschnittlichen PC dauert es mit einer schnellen Internet-Verbindung bummelig 40 Minuten, um Alles herunter zu laden, zu übersetzen und einzurichten.
Vorbereitungen
Zunächst muss das System auf den aktuellen Stand gebracht und einige Abhängigkeiten installiert werden:
sudo apt update && sudo apt upgrade sudo apt install sudo apt install make wget git gcc g++ lhasa libgmp-dev libmpfr-dev sudo apt install libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync sudo apt install libreadline-dev mkdir ~/amiga
Clonen und Compilieren des Repository
git clone https://franke.ms/git/bebbo/amiga-gcc cd amiga-gcc make PREFIX=~/amiga NDK=3.2 update make PREFIX=~/amiga NDK=3.2 all -j8 make PREFIX=~/amiga NDK=3.2 vbcc -j8 make PREFIX=~/amiga NDK=3.2 vlink -j8
Anpassen der Pfade, Setzen von Aliases
Damit amiga-gcc und seine Komponenten einwandfrei aus jedem Pfad heraus arbeiten, müssen die Pfade dem System bekannt gemacht werden. Bei der Gelegenheit kannst du auch gleich ein paar Aliases setzen, die dir Tipparbeit ersparen. Füge am Ende deiner ~.bashrc das Folgende ein:
# Bebbo's amiga-gcc export VBCC=~/amiga export AMIGA_GCC=~/amiga export PATH=$AMIGA_GCC:$AMIGA_GCC/bin:$PATH alias agcc='m68k-amigaos-gcc' alias ag++='m68k-amigaos-g++' alias astrip='m68k-amigaos-strip'
Mache die Änderungen anschließend deiner Shell bekannt:
source ~/.bashrc
Testen der Installation
Gib das folgende, kurze Listing ein und speichere es unter dem Namen hello.c
#include <dos/dos.h> #include <proto/dos.h> int main() { Printf("Hello, World!\n"); return(RETURN_OK); }
Compiliere es anschließend mit gcc und vbcc, führe die Resultate im Emulator deiner Wahl in einer Amiga Shell aus:
agcc -Wall -lamiga -s -Os hello.c -o hello_gcc -noixemul hello_gcc vc -size -lamiga hello.c -o hello_vc hello_vc
Programme für AmigaOS 1.3 compilieren
Um Programme für das alte Amiga-Betriebssystem mit Kickstart 1.3 zu übersetzen, musst du für gcc und vbcc die entsprechenden Parameter angeben:
gcc: m68k-amigaos-gcc test.c -o test_gcc -mcrt=nix13 VBCC: vc +kick13 test.c -o test_vc
Beachte, dass unser Beispiel-Listing so nicht fehlerfrei compiliert werden kann! Unter AmigaOS 1.3 ist zum Einen die Verzeichnisstruktur der Header-Files anders aufgebaut und zum Anderen gab es zu dieser Zeit die interne Printf()-Routine noch nicht. Du musst das Programm also umschreiben:
#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello, World!\n"); return(0); }
Du findest diesen Artikel hilfreich? Dann freue ich mich über eine kleine finanzielle Anerkennung!