Contents

Introduction

This page is a work in progress. There is only one application that starts on Windows Mobile right now and is not tested yet. It is intended to give a starting point for Windows Mobile development with the help of emerge. This guide is specialized for Windows Mobile 6, but can be adapted for other versions.

Requirements

Microsoft Windows XP/Vista/7 (tested with win7)

Microsoft Visual Studio 2008/05 Professional

(Service Pack 1 for Visual Studio) get form here (take the right language that fit to your Visual Studio)

Windows Mobile 6 Professional and Standard Software Development Kits Refresh, get it from here

Setup Emerge

Edit your kdesettings.bat to get emerge to build KDE for Windows Mobile. Here are some suggestions how your importent setttings should look like:

set KDECOMPILER=msvc2008

set EMERGE_ARCHITECTURE=x86

set EMERGE_USE_SHORT_PATH=1 (shortens the path length, which can be sometimes critical)

set EMERGE_TARGET_PLATFORM=WM60

set EMERGE_TARGET_ARCHITECTURE=ARMV4I

set EMERGE_MAKE_PROGRAM=%KDEROOT%\bin\jom.exe (can be enabled for faster builds)

Start compiling programs for Windows Mobile

After setting up emerge you can get info the emerge building environment by calling kdeenv.bat out of the emerge directory. Then you can start compiling programs for Windows Mobile by typing emerge <package>.

Packages compiled for Windows Mobile right now

boost

gpgme

akonadi

attica

dbusmenu-qt

grantlee

kdewin

oxygen-icons

phonon

qjson

soprano

strigi

gettext

pinentry-qt

aspell

cyrus-sasl

dbus

expat

giflib

jpeg

libbzip2

libcurl

libical

libpng

libxml2

libxslt

openssl

pcre-src

shared-desktop-ontologies

sqlite

wcecompat

win_iconv

zlib

kdebase-runtime

kdelibs

kdepim

kdepimlibs

qt

bison

docbook-dtd

docbook-xsl

Compile Process

Almost every package is compiled twice because the need of the codegenerators and other generators that are used. So emerge is doing the following pipeline:

fetch(for the building platform)

unpack(for the building platform)

compile for the building platform

cleanimage for the building platform

install for the building platform

manifest for the building platform

qmerge for the building platform

compile for the target platform

cleanimage for the target platform

install for the target platform

manifest for the target platform

qmerge for the target platform

If you like to build a special package only for the building platform type:

emerge --disable-buildtarget <package_name>

If you like to build it for the target platform only type:

emerge --disable-buildhost <package_name>

If you like to compile something manually for the target platform use the switchtotargetenv script to switch the enviroment to the target platform, but if you like to compile other packages again with emerge you need to reopen the emerge enviroment to get the the right enviroment back.

Known Issues

If there is an svn error accours emerge looks like it is freezd

If a compile process from the building platform goes through and the target build failed the package is marked as installed in emerge