Documentation/Maemo 5 Developer Guide/Porting Software/Introduction

= Introduction =

The following code examples are used in this chapter:


 * maemo-sliders
 * MaemoPad

Much effort has been made in the design of maemo platform to allow easy porting of regular GNU/Linux desktop software to the mobile maemo environment. An earlier chapter in this guide explained the basic tools that ease cross-compilation and help coping with the GNU autotools. This chapter gives pointers to the relevant guides focusing on the differences in the application programming and user interfaces.

Command Line Programs

In most cases, porting software with no user interface is trivial and straightforward. First, the source code of a program is unpacked to the home directory of a Scratchbox user. Second, inside ARMEL target configure and make are run. Then the compiled program can be tested on the device. Finally the software needs to be packaged.

Programs with Graphical User Interface

The porting of an application that uses GTK+ for its graphical user interface begins the same way as above. In addition to this, the user interface part needs to be refactored to use Hildon instead of directly using GTK+. If the application uses any components not available in the maemo SDK, these must be also ported by the developer.

Section [localhost#sec:maemo_porting 16.3] goes into the necessary details of porting an existing GTK+ application to maemo environment.

Localization

The localization of maemo applications is performed using the common gettext package. Translating applications to different languages is described in detail in section [localhost#sec:maemo_localization 16.4].