Documentation/Maemo 5 Developer Guide/Porting Software/Introduction

The following code examples are used in this chapter:

Much effort has been made in the design of Maemo platform to allow for 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.

[edit] 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 the ARMEL target configure and make are run. Then the compiled program can be tested on the device. Finally the software needs to be packaged so it can be distributed.

[edit] Programs with Graphical User Interface

Porting of applications which use GTK+ starts the same way as described above. In addition, the user interface needs to be re-factored to use Hildon instead of directly using GTK+, this process is often called "hildonization". If the application uses any components not available in the Maemo SDK, these must be also ported by the developer. In short, the developer is responsible for all library dependencies needed that are not already in the SDK.

Section Porting Existing GTK+ Application to Maemo 5 goes into the necessary details of porting an existing GTK+ application to maemo environment.