Open main menu

Difference between revisions of "Compiling ScummVM/Symbian"

Filled in SymbianOS Build Instructions from README
(New page: TODO: Write this. Use the information from http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/backends/platform/symbian/README)
 
(Filled in SymbianOS Build Instructions from README)
Line 1: Line 1:
TODO: Write this. Use the information from http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/backends/platform/symbian/README
== Requirements ==
 
Building ScummVM yourself using the UIQ 2.1/Nokia S60 SDK/Nokia S80 SDK/Nokia S90 SDK framework is not an easy task!
Lets just say the framework needs quite some time to set up and takes a while
to get used to. If you choose to continue you will need the following items:
 
* UIQ 3.x SDK (To build for UIQ3 devices)(Build scripts in SDK need tweaking in order to build scummvm since Symbian OS GCCE never builds as large projects as ScummVM before)
* UIQ 2.1 SDK (To build for UIQ2 devices);
http://www.symbian.com/developer/sdks_uiq.asp
* Nokia S60 1st, 2nd edition,3rd edition SDK (To build for S60 devices)
* Nokia S80 SDK (To build for S80 devices)
* Nokia 7710 SDK (To build for the 7710/S90 device)
* ECompXL, an EPOC application compression library
http://www.yipton.demon.co.uk/ecompxl/latest/readme.html (To build for UIQ devices)
* libsdl, Simple Directmedia Layer, a cross-platform multimedia library
http://www.libsdl.org/ (see note about ESDL below)
* libmad, a high-quality MPEG audio decoder
http://www.underbit.com/products/mad/
* zlib, a massively spiffy yet delicately unobtrusive compression library
http://www.zlib.net/
* latest version of active perl (included with Symbian SDK does not work with the build scripts)
* libogg, the free media file container format
http://www.xiph.org/ogg/
* libvorbis, the free audio codec
http://www.vorbis.com/
 
These are probably too heavy-duty for your phone:
* flac, the Free Lossless Audio Codec
http://flac.sourceforge.net/
* libmpeg2, a free MPEG-2 video stream decoder
http://libmpeg2.sourceforge.net
 
== Compiling ScummVM ==
 
ECompXL (Only needed for UIQ2):<br>
This is a tool that will compress your executable with GZIP and glue<br>
it to a predefined loader app. The app will uncompress your application at<br>
runtime and run it without you even knowing it. A really interesting byproduct<br>
of this method is that the general restriction of not having any writeable<br>
static data (WSD) for Symbian APP executables no longer applies. This makes<br>
the life of an EPOC porter a lot easier! To install this tool you need to add<br>
its \bin path to your PATH above the sybmian epocs32\tools path, so that ECompXL's<br>
PETRAN.EXE will be the executable that is started.
 
SDL:<br>
The latest version of SDL at this point in time is 1.2.13. This version<br>
works great for compiling on other platforms.
 
zlib:<br>
The zlib-x.x.x.tar.gz does not come with UIQ .mpp build files, that's why<br>
I added them for you in epoc-zlib.zip. Extract in <DevRoot>/zlib/ which will<br>
create the epoc dir. In <DevRoot>/zlib/epoc/ go:<br>
> bldmake bldfiles<br>
> abld build<br>
 
libmad:<br>
The libmad-x.x.x.tar.gz does not come with UIQ .mpp build files, that's<br>
why I added them for you in epoc-libmad.zip. Extract in <DevRoot>/libmad/ which<br>
will create the epoc dir. In <DevRoot>/libmad/epoc/ go:<br>
> bldmake bldfiles<br>
> abld build<br>
 
ScummVM:<br>
In <DevRoot>\scummvm\backends\platform\symbian\ go:
a) Edit and update the BuildPackageUpload_LocalSettings.pl for the kind of build (SDK installed etc) and variants
you want to build.
b) Run BuildPackageUpload_AllVersions.pl to build all the targets/variants that you have configured.
A detailed log will be placed in the symbian folder with Build.err.log and Build.out.log but it also depends on
the configuration you select.
 
Now you should have yourself a nice ScummVM_xxx.sis installer package in the packages folder for use
on your phone. Please note that for development it will be a lot faster if you
transfer the SCUMMVM.APP/Scummvm.EXE file directly to your !:\system\apps\ScummVM\ dir!
 
Platforms can be one of: ARMi, ARM4, THUMB, WINS, WINSCW, GCCE. The SE P900 uses the ARMi platform,
which is a combined ARM4/THUMB programming mode. Configurations can be one of:
UREL or UDEB.
TrustedUser
574

edits