Compiling ScummVM/Docker
NOTE |
This page is still a draft, and lacks a lot of detail. |
Compiling ScummVM using Docker
The ScummVM buildbot uses Docker for building the toolchains. As such, this makes it possible for the individual toolchains to be used for local builds, avoiding the need to install the toolchain and required libraries manually.
The following toolchain images are available:
- toolchains/amigaos4
- toolchains/android
- toolchains/caanoo
- toolchains/devkit3ds
- toolchains/devkitnds
- toolchains/devkitppc
- toolchains/devkitswitch
- toolchains/dreamcast
- toolchains/gcw0
- toolchains/iphone
- toolchains/macosx-arm64
- toolchains/macosx-i386
- toolchains/macosx-x86_64
- toolchains/mxe
- toolchains/open2x
- toolchains/opendingux
- toolchains/openpandora
- toolchains/ps3
- toolchains/psp
- toolchains/raspberrypi
- toolchains/riscos
- toolchains/vita
Installing the needed packages
Debian-based distributions
The following should install all the necessary packages:
apt-get install docker.io git make m4 acl
Getting the source
- Open a Terminal and type:
git clone https://github.com/scummvm/scummvm.git
git clone https://github.com/scummvm/dockerized-bb.git
Getting the docker images
To fetch a toolchain image from the Docker Hub, issue the following command inside the dockerized-bb folder:
make <toolchain>/pull
where <toolchain> is the name of the toolchain you want to use. The following command can be used to fetch all toolchains at once:
make pull-toolchains
Using the docker images
To fetch a toolchain image from the Docker Hub, issue the following command:
docker run -v <path-to-scummvm>:/data/scummvm -w /data/scummvm -it <toolchain> /bin/bash
where <toolchain> is the name of the toolchain you want to use, and <path-to-scummvm> is the path to the scummvm folder. This will mount the scummvm folder in the Docker image and launch a shell that can be used to build ScummVM for the relevant platform. Once done, the exit
command can be used to leave the Docker image.
For more details on how to build ScummVM for a given platform, see the relevant page from Compiling ScummVM.