Open main menu

Compiling ScummVM for Maemo

This page describes how you build Maemo packages from the ScummVM source code tree.

Preparation

Compilation should be done on a Linux machine running Debian/Ubuntu.
For other operating systems, a Linux virtual machine running Debian/Ubuntu can be used instead.

The process is based on this document.

Download and Install Maemo SDK

Note: The following instructions are based on a recent attempt in a fresh Debian 7 (wheezy) install.

Add the following line to /etc/apt/sources.list:

deb http://maemo-sdk.garage.maemo.org/download/host debian-squeeze free

Then run the following commands to install the SDK:

apt-get update
apt-get install maemo-sdk

You'll need to make sure the custom and no longer latest versions are installed the maemo-sdk and its dependencies. I had to downgrade the following packages when using debian 7 (wheezy):

[DOWNGRADE] libsb2:i386 2.2.4-1debian1 -> 2.0-lta123
[DOWNGRADE] sbrsh:i386 7.6.1 -> 7.6maemo2
[DOWNGRADE] scratchbox2:i386 2.2.4-1debian1 -> 2.0-lta123

Then run the following commands to build/install the tools and compilers:

sudo maemo-sdk --mirror "http://archive.debian.org/debian/" install tools lenny-2009-1
sudo maemo-sdk install toolchain arm-2007q3
maemo-sdk install rootstrap diablo4.1.2_armel
maemo-sdk install binaries diablo4.1.2_armel

The last command will fail because it wants to run "maemo-rootstrap path diablo4.1.2_armel" but the command isn't there because it is an obsolete SDK thing. It needs to run "maemo-sdk show path rootstrap diablo4.1.2_armel" instead. You can edit the /tmp/sb2-maemo-sdk-nokia-binaries_diablo_4.1.2.sh and run it manually (with -r diablo4.1.2_armel) or you can make available a fake maemo-rootstrap binary that runs the correct command and then reattempt to install the binaries. Here's an example of a fake maemo-rootstrap that does that:

if [ "$1" = "path" ]
 then
   maemo-sdk show path rootstrap $2
else
   echo "Error: Only path argument is supported"
   exit 1
fi

Ensure Packaging Files Are Available In Source Tree Root

This requires a symlink from backends/platform/maemo/debian to the root of the scummvm checkout:

ln -s backends/platform/maemo/debian 

Compile

Depending on what you want, choose one of the following. If you're not sure, choose the first one.

Build Package

sb2 dpkg-buildpackage -b

Compile (Without Building Package)

sb2 ./configure --host=maemo
sb2 make