Docker Cross Compile Toolchains for Amiga based platforms https://hub.docker.com/r/amigadev/crosstools
Go to file
Marlon Beijer 0297ad2be0 QoL fixes for Jenkins 2020-06-06 16:23:59 +02:00
dependencies Update toolchains 2020-05-28 22:25:56 +02:00
imagefiles Run command 2019-06-25 16:06:49 +02:00
.gitmodules Add some dependencies 2019-06-25 15:14:21 +02:00
JenkinsEnv.json QoL fixes for Jenkins 2020-06-06 16:22:28 +02:00
Jenkinsfile QoL fixes for Jenkins 2020-06-06 16:23:59 +02:00
LICENSE Initial commit 2019-06-25 14:41:35 +02:00
README.md more updates 2020-02-16 14:04:53 +01:00
common.docker Put all images on same level 2020-02-13 17:59:03 +01:00
m68k-amigaos.docker Fix packages 2020-05-04 16:31:04 +02:00
ppc-amigaos.docker Fix packages 2020-05-04 16:31:04 +02:00
ppc-morphos.docker Fix packages 2020-05-04 16:31:04 +02:00
ppc-warpos.docker QoL fixes for Jenkins 2020-06-06 16:22:28 +02:00
x86_64-aros.docker Fix packages 2020-05-04 16:31:04 +02:00

README.md

AmigDev Docker Crosstools

Currently AmigaOS 3.x, AmigaOS 4.x and MorphOS 3.9+ are supported. WarpOS and AROS will get supported in the forseeable future

Supported toolchains

Platform Toolchain Supported
AmigaOS 3.x @bebbo toolchain - gcc 6 Yes
AmigaOS 4.x @sba1 adtools - gcc 8 Yes
MorphOS 3.9+ MorphOS Team SDK 3.14 - gcc 9 Yes
~WarpOS~ ~gcc 6~ Not yet
~AROS ABIv1 x86_64~ ~AROS Team Official - gcc 9~ Not yet
~AROS ABIv1 x86~ ~AROS Team Official - gcc 9~ Not yet
~AROS ABIv0 x86~ ~AROS Team Official - gcc 9~ Not yet
~AROS ABIv1 ARM BE (RasPi)~ ~AROS Team Official - gcc 9~ Not yet

Build the Docker container

Example for AROSv1 x86_64

docker build -t "amigadev/crosstools:x86_64-aros" --rm -f x86_64-aros.docker .

For other toolchains, use the appropriate Dockerfile:

  • AmigaOS 3.x (M680x0): m68k-amigaos.docker

  • AmigaOS 4.x (PPC): ppc-amigaos.docker

  • MorphOS (PPC): ppc-morphos.docker

Run the Docker container for compiling a third party application

AmigaOS4.x example:

docker run

    # Destroy the container, once exited.
    # Comment this line out if you want to keep container after execution
    # for debugging
    --rm \

    # expose to the container the following local directories
    # format is:
    # <local_dir>:<container_dir>
    -v ${PWD}:/work \
    -v /path/to/extra/ppc-amigaos/lib:/tools/usr/lib \
    -v /path/to/extra/ppc-amigaos/include:/tools/usr/include \

    # Pass current UID and GID to container, so that it can change the
    # ownership of output files which are otherwise writen to outdir as
    # root
    -e USER=$( id -u ) -e GROUP=$( id -g ) \

    # Use this Docker image and then enter into it using the shell
    -it amigadev/crosstools:ppc-amigaos /bin/bash

AmigaOS3.x example

docker run --rm \
    -v ${PWD}:/work \
    -v /path/to/extra/m68k-amigaos/lib:/tools/usr/lib \
    -v /path/to/extra/m68k-amigaos/include:/tools/usr/include \
    -e USER=$( id -u ) -e GROUP=$( id -g ) \
    -it amigadev/crosstools:m68k-amigaos bash

MorphOS example

docker run --rm \
    -v ${PWD}:/work \
    -v /path/to/extra/ppc-morphos/lib:/tools/usr/lib \
    -v /path/to/extra/ppc-morphos/include:/tools/usr/include \
    -e USER=$( id -u ) -e GROUP=$( id -g ) \
    -it amigadev/crosstools:ppc-morphos bash

AROS (v1) x86_64 example

docker run --rm \
    -v ${PWD}:/work \
    -v /tmp/aros:/tmp/aros \
    -e USER=$( id -u ) -e GROUP=$( id -g ) \
    -it amigadev/crosstools:x86_64-aros bash
  • ${PWD} is the current dir
  • /path/to/extra are if you want to add any extra libraries

Bugs / Support / Issues

Please inquire about any support, bugs or issues in the Github issue tracker on this repository and I'll try to help as best I can.

// Marlon Beijer @ AmigaDev Team