Compiling ScummVM/Maemo
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 an 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
Install dependencies
You'll need to install the maemo extras repo to the rootstrap. Add the following line to ~/.maemo-sdk/rootstraps/armel/diablo4.1.2_armel/etc/apt/sources.list
deb http://repository.maemo.org/extras/ diablo free non-free
and then install the dependencies:
sb2 -eR apt-get update sb2 -eR apt-get install libflac-dev libmad0-dev libmpeg2-4-dev libvorbisidec-dev
Optional: Install git inside SDK environment
Install git inside the sdk armel environment from here (thanks Nikosapi)
sb2 -eR dpkg -i git_1.6.2-1_armel.deb
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