Difference between revisions of "Compiling ScummVM/Docker"

Jump to navigation Jump to search
no edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 7: Line 7:
!Name
!Name
!Target platform
!Target platform
!class=unsortable|Required compiler flags
!class=unsortable|Required configure flags
!class=unsortable|Packaging command
!class=unsortable|Packaging command
!class=unsortable|Notes
!class=unsortable|Notes
Line 13: Line 13:
| toolchains/amigaos4
| toolchains/amigaos4
| [[AmigaOS]] 4
| [[AmigaOS]] 4
| <code>--host=ppc-amigaos --enable-static</code>
| <code>--host=ppc-amigaos --enable-plugins --default-dynamic --enable-detection-dynamic</code>
| <code>make amigaosdist</code>
| <code>make amigaosdist</code>
|
|
Line 28: Line 28:
| <code>make androiddistdebug</code>
| <code>make androiddistdebug</code>
|
|
|-
| toolchains/appletv
| [[Apple TV]]
| ?
| ?
| Requires building the image from source.
|-
|-
| toolchains/caanoo
| toolchains/caanoo
Line 44: Line 50:
| [[Nintendo DS]]
| [[Nintendo DS]]
| <code>--host=ds --enable-plugins --default-dynamic</code>
| <code>--host=ds --enable-plugins --default-dynamic</code>
|
| <code>make dsdist</code>
|
|
|-
|-
Line 68: Line 74:
|-
|-
| toolchains/gcw0
| toolchains/gcw0
| [[GCW Zero]]
| [[Dingux|GCW Zero]]
| <code>--host=gcw0 --enable-plugins --default-dynamic --enable-vkeybd</code>
| <code>--host=gcw0 --enable-plugins --default-dynamic --enable-vkeybd</code>
| <code>make gcw-opk</code>
| <code>make gcw-opk</code>
Line 99: Line 105:
| toolchains/mxe
| toolchains/mxe
| [[Windows]] for x86 and x86_64
| [[Windows]] for x86 and x86_64
| ?
| <code>--host=i686-w64-mingw32.static --enable-updates</code>
|
 
<code>--host=x86_64-w64-mingw32.static --enable-updates</code>
| <code>make win32dist-mingw DESTDIR=win32dist-mingw</code>
|
|
|-
|-
| toolchains/open2x
| toolchains/n64
| [[GP2X]]
| [[Nintendo 64]]
| <code>--host=gp2x --enable-vkeybd</code>
| <code>--host=n64 --enable-vkeybd</code>
| <code>make gp2x-bundle</code>
| <code>make n64-dist</code>
| Requires building with a reduced number of engines.
| Requires building with a reduced number of engines.
|-
|-
Line 112: Line 120:
| [[Dingux]]
| [[Dingux]]
| <code>--host=dingux --enable-plugins --default-dynamic --enable-vkeybd --disable-theoradec</code>
| <code>--host=dingux --enable-plugins --default-dynamic --enable-vkeybd --disable-theoradec</code>
| <code>make dingux-dist</code>
|
|
|-
| toolchains/opendingux-beta
| [[OpenDingux Beta]]
| <code>--host=opendingux-gcw0</code>
<code>--host=opendingux-lepus</code>
<code>--host=opendingux-rs90</code>
| <code>make od-make-opk</code>
|
|
|-
|-
Line 131: Line 149:
| <code>--host=psp --disable-debug --enable-plugins --default-dynamic</code>
| <code>--host=psp --disable-debug --enable-plugins --default-dynamic</code>
|
|
| Requires building with a reduced number of engines.
|
|-
|-
| toolchains/raspberrypi
| toolchains/raspberrypi
Line 141: Line 159:
| toolchains/riscos
| toolchains/riscos
| [[RISC OS]]
| [[RISC OS]]
| <code>--host=arm-unknown-riscos</code>
| <code>--host=arm-unknown-riscos --enable-plugins --default-dynamic</code>
 
<code>--host=arm-vfp-riscos --enable-plugins --default-dynamic</code>
| <code>make riscosdist</code>
| <code>make riscosdist</code>
| Requires building with a reduced number of engines.
|
|-
|-
| toolchains/vita
| toolchains/vita
| [[PlayStation Vita]]
| [[PlayStation Vita]]
| <code>--host=psp2</code>
| <code>--host=psp2 --enable-plugins --default-dynamic</code>
| <code>make psp2vpk</code>
| <code>make psp2vpk</code>
| Requires building with a reduced number of engines.
|
|-
| toolchains/windows-9x
| [[Windows]] 95/98/ME
| <code>--host=mingw32 --disable-windows-unicode</code>
| <code>make win32dist-mingw DESTDIR=win32dist-mingw</code>
|
|}
|}


Line 158: Line 184:
The following should install all the necessary 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
</syntaxhighlight>
</syntaxhighlight>


Line 166: Line 192:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git clone https://github.com/scummvm/scummvm.git
git clone https://github.com/scummvm/scummvm.git
git clone https://github.com/scummvm/dockerized-bb.git
</syntaxhighlight>
</syntaxhighlight>


=== Getting the docker images ===
=== Using the docker images ===
To fetch a toolchain image from the Docker Hub, issue the following command inside the dockerized-bb folder:
To fetch a toolchain image from the Docker Hub, issue the following command from the ScummVM source directory:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
make <toolchain>/pull
./devtools/docker.sh <toolchain>
</syntaxhighlight>
</syntaxhighlight>


where <toolchain> is the name of the toolchain you want to use. The following command can be used to fetch all toolchains at once:
where <toolchain> is the name of the toolchain you want to use. This will fetch the requested toolchain from the Docker Hub if it isn't installed, mount the scummvm folder in the Docker image and launch a shell that can be used to build ScummVM for the relevant platform. Alternatively, you can use the following command to fetch updates for an already installed toolchain before launching the shell:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
make pull-toolchains
./devtools/docker.sh --update <toolchain>
</syntaxhighlight>
</syntaxhighlight>
=== Using the docker images ===
To fetch a toolchain image from the Docker Hub, issue the following command:
<syntaxhighlight lang="bash">
docker run -v <path-to-scummvm>:/data/scummvm -w /data/scummvm -it <toolchain> /bin/bash
</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 in the Docker image, the following commands should be issued in order to build ScummVM:
Once in the Docker image, the following commands should be issued in order to build ScummVM:
Line 197: Line 213:
</syntaxhighlight>
</syntaxhighlight>


where <configure-flags> is the list of required compiler flags specified in the table at the top of the page. This should be followed by the packaging command if one is specified.
where <configure-flags> is the list of required configure flags specified in the table at the top of the page. This should be followed by the packaging command if one is specified.


Once done, the <code>exit</code> command can be used to leave the Docker image.
Once done, the <code>exit</code> command can be used to leave the Docker image.
213

edits

Navigation menu