Meego Wiki
Views

SDK/MeeGo 1.1 Application SDK Project Plan

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
m (typos)
Line 1: Line 1:
-
== SDK ==
 
-
== MeeGo Application SDK Architecture / Work in progress... ==
+
== MeeGo 1.1 Application SDK Project Plan ==
-
The Application SDK is mainly targetted for Application developers who are interested in creating new applications for MeeGo platform. They might not be so interested in Open Source but are hoping to sell their applications on OVI Store or equivalent.
+
This document describes the MeeGo 1.1 SDK and how we get there.
-
The application SDK should run on multiple different host environments. These host environments have not yet been agreed but probably those will be as follows: Stable Ubuntu 32bit/64bit, Stable Fedora 32bit/64bit, Windows 7, Mac OS X (version?). In general all the parts of the Application SDK should run similarly on all the hosts!
+
=== Mission ===
-
The building of the Application SDK should happen with the MeeGo OBS.
+
MeeGo 1.1 Application SDK is going to be the first official Application SDK release in MeeGo. The Application SDK is mainly targetted for Application developers who are interested in creating new applications for MeeGo platform. They might not be so interested in Open Source but are hoping to sell their applications on OVI Store or equivalent.
-
Below is the list of the components and information about the responsibles and statuses.
+
The application SDK should run on multiple different host environments (Linux, Win, Mac). In general all the parts of the Application SDK should run similarly on all the hosts! Still it is possible that we will have features that will only work on some of the hosts or with only some of the targets. This aspect should be considered in the SDK architecture.
-
===  Qt Creator ===
+
=== Key Drivers ===
 +
 
 +
* MeeGo Application SDK which allows developers to use any host and develop to any target with a similar manner
 +
** Have a possibility for allowing features that only work on specific hosts or for specific targets
 +
* SDK development process agreed and active
 +
** How are decisions made etc.
 +
 
 +
=== Project Group ===
 +
 
 +
This chapter lists the people involved an their responsibilities.
 +
 
 +
==== Intel ====
 +
 
 +
==== Nokia ====
 +
 
 +
* Veli Kaksonen : MeeGo SDK project manager
 +
 
 +
=== Schedule ===
 +
 
 +
==== Milestones ====
 +
 
 +
==== Releasing ====
 +
 
 +
=== Components / Tasks ===
 +
 
 +
 
 +
 
 +
====  Qt Creator ====
Qt Creator is the chosen IDE for MeeGo Application SDK.  
Qt Creator is the chosen IDE for MeeGo Application SDK.  
Line 21: Line 47:
** Adding MADDE targets seems somewhat complicated
** Adding MADDE targets seems somewhat complicated
-
===  MADDE ===
+
===== Compiling plugins =====
 +
 
 +
The compiling plugins are used for compiling and packaging the software with different tools (MADDE / OBS). The end result should be installable application RPM.
 +
 
 +
====== MADDE plugin ======
 +
 
 +
This plugin uses MADDE for compiling and packaging the software.
 +
 
 +
====== OBS plugin ======
 +
 
 +
This plugin uses OBS for compiling and packaging the software.
 +
 
 +
===== Run plugins ======
 +
 
 +
The run plugins are used for installing, running and debugging the software. In general the plugin could use e.g. MADDE to provide this feature.
 +
 
 +
====== Qemu plugin ======
 +
 
 +
This plugin provides the possibility to use Qemu for "Run plugin" features. This plugin uses MADDE.
 +
 
 +
====== Device run plugin ======
 +
 
 +
This plugin provides the possibility to use real devices for "Run plugin" features. This plugin uses MADDE.
 +
 
 +
====== Xephyr ======
 +
 
 +
This plugin provides the possibility to use Xephyr (and chroot) for "Run plugin" features.
 +
 
 +
====  MADDE ====
MADDE is multiplatform toolset for compiling, running, debugging and testing.
MADDE is multiplatform toolset for compiling, running, debugging and testing.
It provides same API for underlying tools on all the host platforms. MADDE
It provides same API for underlying tools on all the host platforms. MADDE
can be used from commandline or from IDE. Primary IDE is Qt Creator but
can be used from commandline or from IDE. Primary IDE is Qt Creator but
-
others, like eclipse, can be supported too.
+
others, like eclipse, can be supported too (although not in this project).
* '''Responsible:''' Jari Ihatsu
* '''Responsible:''' Jari Ihatsu
Line 37: Line 91:
Compiling is done with combination of a cross-compiler and a sysroot which
Compiling is done with combination of a cross-compiler and a sysroot which
-
includes target headers and libraries.
+
includes target headers and libraries. Compilers come with MADDE.
-
===== Hosts and Target =====
+
===== Hosts and Targets =====
-
The matrix below shows the status of the supported hosts and targets.
+
Status of the supported hosts and targets:
{| class="wikitable" border=1
{| class="wikitable" border=1
Line 66: Line 120:
====== Sysroots ======
====== Sysroots ======
-
Sysroot responsibles and statuses.
+
Sysroot is a collection of target headers and libraries which are used by the compilers to compile the software.
 +
 
 +
Sysroot responsibles and statuses:
{| class="wikitable" border=1
{| class="wikitable" border=1
Line 88: Line 144:
====== Cross-Compilers ======
====== Cross-Compilers ======
-
Cross-compiler status per host and responsibles.
+
Cross-compiler status per host and responsibles:
{| class="wikitable" border=1
{| class="wikitable" border=1
Line 160: Line 216:
|}
|}
-
===== Target devices =====
+
===== Targets (devices / Emulation) =====
 +
 
 +
 
 +
====== N900 ======
 +
 
 +
====== Aava ======
 +
 
-
===== Qemu =====
+
====== Qemu ======
The status and the responsible of the Qemu on different host platforms.
The status and the responsible of the Qemu on different host platforms.
Line 203: Line 265:
|}
|}
-
====== Qemu Image ======
+
======= Qemu Image =======
{| class="wikitable" border=1
{| class="wikitable" border=1

Revision as of 10:15, 14 June 2010

Contents

MeeGo 1.1 Application SDK Project Plan

This document describes the MeeGo 1.1 SDK and how we get there.

Mission

MeeGo 1.1 Application SDK is going to be the first official Application SDK release in MeeGo. The Application SDK is mainly targetted for Application developers who are interested in creating new applications for MeeGo platform. They might not be so interested in Open Source but are hoping to sell their applications on OVI Store or equivalent.

The application SDK should run on multiple different host environments (Linux, Win, Mac). In general all the parts of the Application SDK should run similarly on all the hosts! Still it is possible that we will have features that will only work on some of the hosts or with only some of the targets. This aspect should be considered in the SDK architecture.

Key Drivers

  • MeeGo Application SDK which allows developers to use any host and develop to any target with a similar manner
    • Have a possibility for allowing features that only work on specific hosts or for specific targets
  • SDK development process agreed and active
    • How are decisions made etc.

Project Group

This chapter lists the people involved an their responsibilities.

Intel

Nokia

  • Veli Kaksonen : MeeGo SDK project manager

Schedule

Milestones

Releasing

Components / Tasks

Qt Creator

Qt Creator is the chosen IDE for MeeGo Application SDK.

  • Responsible: Maurice Kalinowski
  • Package Maintainer: Fathi Boudra
  • Status:
    • Not part of the OBS builds yet
    • Adding MADDE targets seems somewhat complicated
Compiling plugins

The compiling plugins are used for compiling and packaging the software with different tools (MADDE / OBS). The end result should be installable application RPM.

MADDE plugin

This plugin uses MADDE for compiling and packaging the software.

OBS plugin

This plugin uses OBS for compiling and packaging the software.

Run plugins =

The run plugins are used for installing, running and debugging the software. In general the plugin could use e.g. MADDE to provide this feature.

Qemu plugin

This plugin provides the possibility to use Qemu for "Run plugin" features. This plugin uses MADDE.

Device run plugin

This plugin provides the possibility to use real devices for "Run plugin" features. This plugin uses MADDE.

Xephyr

This plugin provides the possibility to use Xephyr (and chroot) for "Run plugin" features.

MADDE

MADDE is multiplatform toolset for compiling, running, debugging and testing. It provides same API for underlying tools on all the host platforms. MADDE can be used from commandline or from IDE. Primary IDE is Qt Creator but others, like eclipse, can be supported too (although not in this project).

  • Responsible: Jari Ihatsu
  • Package Maintainer: Fathi Boudra
  • Status:
    • We have a build of MADDE that includes MeeGo ARM target
    • Not part of the OBS builds yet

Compiling

Compiling is done with combination of a cross-compiler and a sysroot which includes target headers and libraries. Compilers come with MADDE.

Hosts and Targets

Status of the supported hosts and targets:

MeeGo chroot Ubuntu 32bit Ubuntu 64bit Fedora 32bit Fedora 64bit Windows 7 Mac OS X
ARMv5 - (cs2007q3)  ?
ARMv7 - (cs2007q3)  ?
Intel (gcc-...) ok
Sysroots

Sysroot is a collection of target headers and libraries which are used by the compilers to compile the software.

Sysroot responsibles and statuses:

sysroot Responsible Status
ARMv5  Fathi Boudra Work in progress
ARMv7 Fathi Boudra Work in progress
Intel  ?  ?
Cross-Compilers

Cross-compiler status per host and responsibles:

ARM-cs2007q3 ARM-MeeGo 4.? Intel-MeeGo 4.?
MeeGo chroot (not planned)  (not planned) (ok)  ?
Ubuntu 32bit (ok) Martti Lumme (work in progress)
Ubuntu 64bit  (ok)  
Fedora 32bit  (ok)  
Fedora 64bit  (ok)  
Windows 7  (ok)  
Mac OS X  (ok)  

Running

With MADDE the application developer can create RPM package on any host environment, transfer and run the software on the device or in the emulation.

RPM support

RPM packager is created with ...

The status of the RPM support on different host platforms.

Host RPM creation Transfer Run
Ubuntu 32bit
Ubuntu 64bit
Fedora 32bit
Fedora 64bit
Windows 7
Mac OS X
Targets (devices / Emulation)
N900
Aava
Qemu

The status and the responsible of the Qemu on different host platforms.

ARMv5 ARMv7 Intel
Ubuntu 32bit Riku Voipio (ok) Riku Voipio (ok)  ?
Ubuntu 64bit Riku Voipio (ok) Riku Voipio (ok)  ?
Fedora 32bit Riku Voipio (ok) Riku Voipio (ok)  ?
Fedora 64bit Riku Voipio (ok) Riku Voipio (ok)  ?
Windows 7 Riku Voipio (ok) Riku Voipio (ok)  ?
Mac OS X  ?  ?  ?
= Qemu Image =
Target Responsible Status
ARMv5 Fathi Boudra Work in progress
ARMv7 Fathi Boudra Work in progress
Intel  ?  ?


Debugging

Testing

Creating Application SDK releases

Personal tools