-
Notifications
You must be signed in to change notification settings - Fork 0
Setup Amiga Compiler
Andrew Smalley edited this page Feb 22, 2026
·
1 revision
This page documents a full, repeatable setup for the Amiga cross-toolchain used by this repo, including both:
-
m68k-amigaos-gcc(GNU cross compiler) -
vc(VBCC frontend used by some legacy Amiga-side tools)
- Most Amiga-side code in this tree builds with
m68k-amigaos-gcc. - Some legacy tools (for example
src/platforms/amiga/pistorm-dev/pistorm_dev_amigaGUI) still expect VBCC-style flow andvc.
If vc is missing, GUI builds may fail even when GCC works.
sudo apt update
sudo apt install -y make wget git gcc g++ lhasa \
libgmp-dev libmpfr-dev libmpc-dev flex bison gettext texinfo \
ncurses-dev autoconf rsync libreadline-devUse this if you want regular builds as user smalley (recommended):
sudo mkdir -p /opt/amiga
sudo chown -R smalley:smalley /opt/amigamkdir -p /opt/amiga/src
cd /opt/amiga/src
git clone https://github.com/bebbo/amiga-gcc m68k-amigaos-gcc
cd m68k-amigaos-gcc
make updateThe build installs directly into /opt/amiga (no separate make install step).
cd /opt/amiga/src/m68k-amigaos-gcc
make clean
make drop-prefix
time make all -j4If GCC already exists and only vc is missing:
cd /opt/amiga/src/m68k-amigaos-gcc
make vbcc vlink -j4On newer host toolchains, VBCC build can fail with:
frontend/vc.c: error: implicit declaration of function 'readlink'
Use:
cd /opt/amiga/src/m68k-amigaos-gcc
make vbcc CC='gcc -D_DEFAULT_SOURCE -std=c9x' -j4
make vlink CC='gcc -D_DEFAULT_SOURCE -std=c9x' -j4This keeps VBCC's expected C dialect while restoring the needed libc prototypes.
echo 'export PATH=/opt/amiga/bin:$PATH' >> ~/.bashrc
source ~/.bashrcwhich m68k-amigaos-gcc
which vc
which vlink
m68k-amigaos-gcc --version
vc.configExpected:
-
m68k-amigaos-gcc,vc,vlinkall resolve from/opt/amiga/bin. -
vc.configexists and prints config/help text.
cd /home/smalley/pistorm64/src/platforms/amiga/pistorm-dev/pistorm_dev_amiga
makeFor GUI tool:
BUILD_PISTORM_GUI=1 makeNote:
- GUI build also needs ReqTools pieces on the Amiga side (
reqtools.library). - This repo contains
libs13/reqtools.libraryandlibs20/reqtools.libraryfor install/use on Amiga.
-
vc: command not found-
vcis not installed; runmake vbcc.
-
-
vc.configexists butvcdoes not- previous toolchain build was partial; rebuild VBCC (
make vbcc CC='gcc -D_DEFAULT_SOURCE -std=c9x').
- previous toolchain build was partial; rebuild VBCC (
- permissions problems under
/opt/amiga- avoid mixed root/user ownership; fix with
sudo chown -R smalley:smalley /opt/amiga.
- avoid mixed root/user ownership; fix with
- headers/libs not found in Amiga builds
- verify
/opt/amiga/binis inPATH, and NDK headers/libs are present under/opt/amiga/includeand/opt/amiga/lib.
- verify