Containerfile for Stefan "Bebbo" Franke's amiga-gcc toolchain for Linux/AmigaOS cross-development.
This container is based on work by Sebastian Bergmann: Docker Hub.
A ready-to-use image built from this Containerfile is available on Docker Hub. Docker Hub is the canonical image location. The publish workflow mirrors the same version tags to this repository's GitHub Container Registry package.
More information can be found here.
"Hello world!" Example
AmigaOS C API
hello.c from Radosław Kujawa:
#include <proto/exec.h> #include <proto/dos.h> int main(int argc, void *argv[]) { struct Library *SysBase; struct Library *DOSBase; SysBase = *((struct Library **)4UL); DOSBase = OpenLibrary("dos.library", 0); if (DOSBase) { Write(Output(), "Hello world!\n", 13); CloseLibrary(DOSBase); } return(0); }
Standard C Library
hello.c from Radosław Kujawa:
#include <stdio.h> int main() { printf("Hello world!\n"); return(0); }
Compilation
$ podman run -v $HOME:/host -it stefanreinauer/amiga-gcc \
m68k-amigaos-gcc /host/hello.c -o /host/hello -noixemul
Execution
Container-ized Emulation using FS-UAE
The docker-execute-amiga script used below can be downloaded from here.
$ docker-execute-amiga helloworld
Container-ized Emulation using Virtual AmigaOS (vamos)
$ podman run -v $HOME:/host stefanreinauer/amiga-gcc \
vamos -C 68020 /host/hello
Hello world!
