Difference between revisions of "Compiling ScummVM/Docker"

From ScummVM :: Wiki
Jump to navigation Jump to search
(First draft)
 
Line 9: Line 9:


== Compiling ScummVM using Docker ==
== Compiling ScummVM using Docker ==
'''''TODO'''''
The ScummVM buildbot uses [https://www.docker.com/ 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 images are available:
The following toolchain images are available:
* toolchains/amigaos4
* toolchains/amigaos4
* toolchains/android
* toolchains/android
Line 37: Line 37:
=== Installing the needed packages ===
=== Installing the needed packages ===
==== Debian-based distributions ====
==== Debian-based distributions ====
The following should install all the needed packages:
The following should install all the necessary packages:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
apt-get install docker.io git make m4 acl
apt-get install docker.io git make m4 acl
Line 64: Line 64:


=== Using the docker images ===
=== Using the docker images ===
'''''TODO'''''
To fetch a toolchain image from the Docker Hub, issue the following command:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
docker run -v <path-to-scummvm>:/data/scummvm -w /data/scummvm -it <toolchain> /bin/bash
docker run -v <path-to-scummvm>:/data/scummvm -w /data/scummvm -it <toolchain> /bin/bash
</syntaxhighlight>
</syntaxhighlight>
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 <code>exit</code> 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]].

Revision as of 15:22, 14 April 2021

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.