Difference between revisions of "Compiling ScummVM/Android"

Jump to navigation Jump to search
Line 13: Line 13:


Install the <tt>git</tt> package in order to clone the ScummVM source code repository and keep it up-to-date, and also some additional packages to build the Docker toolchain containers:
Install the <tt>git</tt> package in order to clone the ScummVM source code repository and keep it up-to-date, and also some additional packages to build the Docker toolchain containers:
sudo apt-get update
 
sudo apt-get upgrade
<code>sudo apt-get update</code>
sudo apt-get install git m4 make
 
<code>sudo apt-get upgrade</code>
 
<code>sudo apt-get install git m4 make</code>


Follow the instructions on the [https://docs.docker.com/engine/install/ubuntu/ official Docker documentation page to install the Docker Engine on Linux]. We tested with Docker Engine Community Edition 19.03.12, (build 48a66213fe) using containerd.io version 1.2.13 on Linux Ubuntu x64 20.04 LTS.
Follow the instructions on the [https://docs.docker.com/engine/install/ubuntu/ official Docker documentation page to install the Docker Engine on Linux]. We tested with Docker Engine Community Edition 19.03.12, (build 48a66213fe) using containerd.io version 1.2.13 on Linux Ubuntu x64 20.04 LTS.
Line 26: Line 29:


From the Linux bash shell do:
From the Linux bash shell do:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git m4 make


<code>sudo apt-get update</code>
<code>sudo apt-get upgrade</code>
<code>sudo apt-get install git m4 make</code>
*Important note: The instructions below assume that you are running the commands from a Linux bash shell. If you're on Windows, please make sure you '''always have Docker Desktop up and running before launching your Linux bash shell(s)'''.
*Important note: The instructions below assume that you are running the commands from a Linux bash shell. If you're on Windows, please make sure you '''always have Docker Desktop up and running before launching your Linux bash shell(s)'''.


Line 36: Line 41:


From your Linux host shell do:
From your Linux host shell do:
mkdir -p ~/Workspace
 
mkdir -p ~/Workspace/android-scummvm-bb/bshomes
<code>mkdir -p ~/Workspace</code>
touch ~/Workspace/android-scummvm-bb/.bash_history
 
sudo chmod o+rw ~/Workspace/android-scummvm-bb/.bash_history
<code>mkdir -p ~/Workspace/android-scummvm-bb/bshomes</code>
 
<code>touch ~/Workspace/android-scummvm-bb/.bash_history</code>
 
<code>sudo chmod o+rw ~/Workspace/android-scummvm-bb/.bash_history</code>


Now clone the ScummVM repository:
Now clone the ScummVM repository:
cd ~/Workspace
 
git clone https://github.com/scummvm/scummvm.git
<code>cd ~/Workspace</code>
 
<code>git clone https://github.com/scummvm/scummvm.git</code>


Also clone the ScummVM dockerized buildbot repository and build the Docker containers:
Also clone the ScummVM dockerized buildbot repository and build the Docker containers:
git clone https://github.com/scummvm/dockerized-bb.git ~/Workspace/android-scummvm-bb/dockerized-bb
 
cd ~/Workspace/android-scummvm-bb/dockerized-bb
<code>git clone https://github.com/scummvm/dockerized-bb.git ~/Workspace/android-scummvm-bb/dockerized-bb</code>
make toolchains/android
 
<code>cd ~/Workspace/android-scummvm-bb/dockerized-bb</code>
 
<code>make toolchains/android</code>


At this point the <code>docker images</code> command should return something like the following:
At this point the <code>docker images</code> command should return something like the following:
docker images
 
<code>docker images</code>
  REPOSITORY                  TAG      IMAGE ID      CREATED            SIZE
  REPOSITORY                  TAG      IMAGE ID      CREATED            SIZE
  toolchains/android          latest    2005faedc472  22 minutes ago      3.9GB
  toolchains/android          latest    2005faedc472  22 minutes ago      3.9GB
Line 62: Line 77:


Now launch the Docker container shell:
Now launch the Docker container shell:
docker run -v ~/Workspace/scummvm:/data/scummvm \
-v ~/Workspace/android-scummvm-bb/bshomes:/data/bshomes/android \
-v ~/Workspace/android-scummvm-bb/.bash_history:/root/.bash_history \
-w /data/scummvm \
-it toolchains/android \
/bin/bash


<code>docker run -v ~/Workspace/scummvm:/data/scummvm -v ~/Workspace/android-scummvm-bb/bshomes:/data/bshomes/android -v ~/Workspace/android-scummvm-bb/.bash_history:/root/.bash_history -w /data/scummvm -it toolchains/android /bin/bash</code>
= Compiling =
= Compiling =


Line 134: Line 144:
* <u>Target android-arm-v7a:</u>
* <u>Target android-arm-v7a:</u>


   
<code>CXX="ccache ${ANDROID_TOOLCHAIN}/bin/aarch64-linux-android21-clang++" PKG_CONFIG_LIBDIR="${ANDROID_TOOLCHAIN}/sysroot/usr/lib/aarch64-linux-android/21/pkgconfig" PATH=${PATH}:"${ANDROID_TOOLCHAIN}/sysroot/usr/bin/aarch64-linux-android/21" make clean; ./configure --enable-verbose-build --enable-all-engines --host=android-arm64-v8a --enable-debug</code>


* <u>Target android-x86</u>
* <u>Target android-x86</u>
1,305

edits

Navigation menu