The amiga-gcc Toolchain
A Modern Cross-Compiler Suite for Classic Amiga Development
amiga-gcc is a comprehensive and actively maintained cross‑compiler toolchain designed for building high‑quality AmigaOS software on modern systems.
It brings the power of contemporary compiler technology to the Motorola 68k architecture while preserving full compatibility with AmigaOS 1.3 through 3.2.
Purpose and Philosophy
The goal of amiga-gcc is to provide a unified, reliable, and developer‑friendly environment for creating Amiga applications.
It focuses on:
- modern compiler optimizations for 68k CPUs
- predictable and reproducible builds
- compatibility with legacy and modern AmigaOS APIs
- a clean, well‑structured SDK layout
- ease of installation across Linux, macOS, and Windows
The toolchain is designed for both hobbyists and professional developers who want a robust and future‑proof workflow.
Included Components
amiga-gcc bundles a curated set of tools that work together seamlessly:
- GCC – the primary C/C++/ObjC compiler
- Binutils – assembler, linker, and binary utilities
- libnix, newlib – multiple C runtime libraries
- SDK headers and libraries for AmigaOS
- Interface‑generation tools such as
* fd2pragma
* fd2sfd
* sfdc
Recommendation: For most projects, libnix is the best choice.
It provides the most complete, efficient, and Amiga‑friendly C runtime available in the toolchain.
Supported Platforms
amiga-gcc runs on all major operating systems:
- Linux
- macOS
- Windows (MSYS2, WSL, Cygwin)
The toolchain is fully cross‑compiled, so no Amiga hardware is required for building software.
Repository Locations
The amiga-gcc source code is available from two synchronized repositories:
Codeberg (primary, also the issue tracker)
- https:
| codeberg.org/bebbo/amiga-gcc
|
|---|
Origin (local Git server)
- https:
| franke.ms/git/bebbo/amiga-gcc
|
|---|
Codeberg is the recommended location for reporting issues and submitting contributions.
Supported GCC Variants
amiga-gcc currently supports the following GCC versions:
Details about the build process, configuration, and toolchain layout can be found in the README.md inside the amiga-gcc repositories.
Compiler Explorer for 68k
For experimenting with different GCC variants, optimizations, and 68k code generation, a dedicated Compiler Explorer instance is available:
68k Compiler Explorer
It allows you to:
- compare GCC 6.5.0b and GCC 10.4 output
- inspect generated 68k assembly
- test optimization flags interactively
- explore code generation differences between CPU targets
This makes it an ideal companion for performance tuning, debugging, and educational purposes.
Why amiga-gcc Matters
Classic Amiga development traditionally relied on outdated compilers or native Amiga setups.
amiga-gcc changes this by offering:
- up‑to‑date GCC versions with 68k support
- improved code generation for 68000–68080
- modern debugging and optimization capabilities
- a unified SDK with consistent headers
- fast build times on modern hardware
For developers targeting real Amiga machines or emulators, amiga-gcc provides a stable and efficient foundation.
Example: A Minimal C Program
#include <proto/exec.h>
#include <proto/dos.h>
int main() {
PutStr("Hello from amiga-gcc!\n");
return 0;
}
Compile save this as hello.c and compile it with
m68k-amigaos-gcc -Os hello.c -noixemul -o hello
Conclusion
amiga-gcc is the most complete and modern toolchain available for AmigaOS development today.
It combines the strengths of GCC with Amiga‑specific tooling, enabling developers to write efficient, maintainable, and portable software for classic 68k systems.
If you want to build reliable Amiga applications with a clean and future‑proof workflow, amiga-gcc is the toolchain to choose.
rev: 1.3