(categorise) |
|||
| (12 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| - | + | ''' !!! THIS IS STILL A DRAFT !!! ''' | |
| - | This document describes the MeeGo 1.1 Application SDK contents and how we get there. | + | This document describes the MeeGo 1.1 Application SDK contents and how we get there. It should include but not limit to: |
| + | * Key requirements of MeeGo SDK release matching MeeGo 1.1 release in Oct | ||
| + | * Get aligned on MeeGo SDK milestones | ||
| + | * List major tasks/deliverables of SDK | ||
| + | * Resources allocated with clear R&R | ||
| - | + | == Mission == | |
* Delivering MeeGo SDK for developers to develop MeeGo Applicaitons at best chance running across platforms and segments(netbook, handset, tablet and TV..). | * Delivering MeeGo SDK for developers to develop MeeGo Applicaitons at best chance running across platforms and segments(netbook, handset, tablet and TV..). | ||
| - | * | + | * Shape MeeGo APIs and compliance with MeeGo SDK. |
| + | * Build MeeGo ecosystem with MeeGo SDK. | ||
| - | MeeGo 1.1 Application SDK is going to be the first | + | MeeGo 1.1 Application SDK is going to be the first MeeGo Application SDK release created in collaboration between MeeGo partners (Nokia & Intel at this point). The Application SDK is mainly targetted for Application developers who are interested in creating new applications for MeeGo platform. |
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. | 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. | * MeeGo Application SDK which allows developers to use any host and develop to any target with a similar manner. | ||
| Line 25: | Line 28: | ||
| - | + | == Project Group == | |
| - | This chapter lists the people involved | + | This chapter lists the people involved and their responsibilities. |
* Veli Kaksonen : Nokia MeeGo SDK project manager | * Veli Kaksonen : Nokia MeeGo SDK project manager | ||
| + | == Schedule == | ||
| - | + | === Milestones === | |
| - | + | ||
| - | + | ||
{| class="wikitable" border=1 | {| class="wikitable" border=1 | ||
| Line 51: | Line 53: | ||
|} | |} | ||
| - | + | === Meetings === | |
| + | |||
| + | == Architecture of MeeGo SDK == | ||
| - | + | [[File:sdk_arch.jpg]] | |
| - | + | == Integration, Distribution and Installation of MeeGo SDK == | |
How MeeGo SDK components to be integrated and distributed | How MeeGo SDK components to be integrated and distributed | ||
*Some components should be put into OBS and maintained there as RPMs, like | *Some components should be put into OBS and maintained there as RPMs, like | ||
| - | ** | + | ** Qt Creator |
** QEMU | ** QEMU | ||
| - | ** | + | ** Xephyr |
| - | ** | + | ** MAD-developer |
* Or just be packaged as tarball and maintained in gitorious, like | * Or just be packaged as tarball and maintained in gitorious, like | ||
| - | ** | + | ** MADDE |
*Some components should be created based on the MeeGo build by using tools/scripts, like | *Some components should be created based on the MeeGo build by using tools/scripts, like | ||
| Line 78: | Line 82: | ||
| - | + | == Quality Assurance == | |
| - | + | *QA should cover: | |
| + | ** SDK documentations, like how to install and set up SDK, how to Get Started, how to build, debug; | ||
| + | ** SDK components: Qt Creator, Madde, sysroots, Toolchains; | ||
| + | ** Simulator/Emulator | ||
| + | ** Simulator images and Emulator images | ||
| + | ** Simulated devices | ||
| + | ** Demo applications/APIs | ||
| + | ** Other tools, like packaging tool, performance tunning tools. | ||
| - | + | == Key Components of MeeGo SDK == | |
| - | + | ||
| - | + | ||
The components of MeeGo Application SDK are listed in this section. Each component should have a responsible, package maintainer and some status information as we go along. | The components of MeeGo Application SDK are listed in this section. Each component should have a responsible, package maintainer and some status information as we go along. | ||
| - | + | === Qt Creator === | |
| - | + | ||
| - | + | ||
Qt Creator is the chosen IDE for MeeGo Application SDK. | Qt Creator is the chosen IDE for MeeGo Application SDK. | ||
| Line 102: | Line 109: | ||
** Adding MADDE targets seems somewhat complicated | ** 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. | 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. | This plugin uses MADDE for compiling and packaging the software. | ||
| Line 115: | Line 122: | ||
** Just a dream | ** Just a dream | ||
| - | + | ===== OBS plugin ===== | |
This plugin uses OBS for compiling and packaging the software. | This plugin uses OBS for compiling and packaging the software. | ||
| Line 124: | Line 131: | ||
** Just a dream | ** Just a dream | ||
| - | + | ==== 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. | 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. | This plugin provides the possibility to use Qemu for "Run plugin" features. This plugin uses MADDE. | ||
| Line 137: | Line 144: | ||
** Just a dream | ** Just a dream | ||
| - | + | ===== Device run plugin ===== | |
This plugin provides the possibility to use real devices for "Run plugin" features. This plugin uses MADDE. | This plugin provides the possibility to use real devices for "Run plugin" features. This plugin uses MADDE. | ||
| Line 146: | Line 153: | ||
** Just a dream | ** Just a dream | ||
| - | + | ===== Xephyr plugin ===== | |
This plugin provides the possibility to use Xephyr (and chroot) for "Run plugin" features. | This plugin provides the possibility to use Xephyr (and chroot) for "Run plugin" features. | ||
| Line 155: | Line 162: | ||
** Just a dream | ** Just a dream | ||
| - | + | ==== Debugging plugins ==== | |
These plugins are used for debugging in Qt Creator. These could use MADDE for running the debuggers etc. and different kind of methods for visualization. | These plugins are used for debugging in Qt Creator. These could use MADDE for running the debuggers etc. and different kind of methods for visualization. | ||
| - | + | ===== Valgrind ===== | |
TODO | TODO | ||
| Line 168: | Line 175: | ||
** Just a dream | ** Just a dream | ||
| - | + | ===== Oprofile ===== | |
TODO | TODO | ||
| Line 178: | Line 185: | ||
| - | + | === MADDE === | |
MADDE is multiplatform toolset for compiling, running, debugging and testing. | MADDE is multiplatform toolset for compiling, running, debugging and testing. | ||
| Line 191: | Line 198: | ||
** Not part of the OBS builds yet | ** Not part of the OBS builds yet | ||
| - | + | === Compiling === | |
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. Compilers come with MADDE. | includes target headers and libraries. Compilers come with MADDE. | ||
| - | + | ==== Hosts and Targets ==== | |
Status of the supported hosts and targets: | Status of the supported hosts and targets: | ||
| Line 221: | Line 228: | ||
|} | |} | ||
| - | + | ===== Sysroots ===== | |
Sysroot is a collection of target headers and libraries which are used by the compilers to compile the software. | Sysroot is a collection of target headers and libraries which are used by the compilers to compile the software. | ||
| Line 245: | Line 252: | ||
|} | |} | ||
| - | + | ===== Cross-Compilers ===== | |
Cross-compiler status per host and responsibles: | Cross-compiler status per host and responsibles: | ||
| Line 288: | Line 295: | ||
|} | |} | ||
| - | + | === Running === | |
| - | With MADDE the application developer can create RPM package on any host | + | 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. |
| - | environment, transfer and run the software on the device or in the | + | |
| - | emulation. | + | |
| - | + | ==== RPM support ==== | |
RPM packager is created with ... | RPM packager is created with ... | ||
| Line 319: | Line 324: | ||
|} | |} | ||
| - | + | ==== Targets (devices / Emulation) ==== | |
| - | + | ===== Aava ===== | |
| - | ===== | + | ===== CDK ===== |
| + | ===== N900 ===== | ||
| - | + | ||
| + | ===== 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 369: | Line 376: | ||
|} | |} | ||
| - | + | ====== Qemu Images ====== | |
The Qemu images are images used with the QEMU full system emulation. The images are as similar as possible to the actual device images. | The Qemu images are images used with the QEMU full system emulation. The images are as similar as possible to the actual device images. | ||
| Line 392: | Line 399: | ||
| - | + | === Testing & Debugging tools === | |
What do we have? | What do we have? | ||
| - | + | == Documentation of MeeGo SDK == | |
The Documentation of MeeGo SDK tells how to install/set up MeeGo SDK on any host machine, how to get started to use SDK to create first MeeGo applicaiton, including creating project, editing, compiling and building and remotely deploying and debuging applicaton. | The Documentation of MeeGo SDK tells how to install/set up MeeGo SDK on any host machine, how to get started to use SDK to create first MeeGo applicaiton, including creating project, editing, compiling and building and remotely deploying and debuging applicaton. | ||
Supported APIs are also important part of SDK docmentation. | Supported APIs are also important part of SDK docmentation. | ||
| + | |||
| + | [[Category:SDK]] | ||
| + | [[Category:Meego-1.1]] | ||
!!! THIS IS STILL A DRAFT !!!
This document describes the MeeGo 1.1 Application SDK contents and how we get there. It should include but not limit to:
Contents |
MeeGo 1.1 Application SDK is going to be the first MeeGo Application SDK release created in collaboration between MeeGo partners (Nokia & Intel at this point). The Application SDK is mainly targetted for Application developers who are interested in creating new applications for MeeGo platform.
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.
This chapter lists the people involved and their responsibilities.
| id | Date | Short description |
|---|---|---|
| M1 | 20100630 | Project start (Targets set, resources allocated...) |
| M2 | 2010???? | Beta release... |
How MeeGo SDK components to be integrated and distributed
The components of MeeGo Application SDK are listed in this section. Each component should have a responsible, package maintainer and some status information as we go along.
Qt Creator is the chosen IDE for MeeGo Application SDK.
The compiling plugins are used for compiling and packaging the software with different tools (MADDE / OBS). The end result should be installable application RPM.
This plugin uses MADDE for compiling and packaging the software.
This plugin uses OBS for compiling and packaging the software.
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.
This plugin provides the possibility to use Qemu for "Run plugin" features. This plugin uses MADDE.
This plugin provides the possibility to use real devices for "Run plugin" features. This plugin uses MADDE.
This plugin provides the possibility to use Xephyr (and chroot) for "Run plugin" features.
These plugins are used for debugging in Qt Creator. These could use MADDE for running the debuggers etc. and different kind of methods for visualization.
TODO
TODO
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).
Compiling is done with combination of a cross-compiler and a sysroot which includes target headers and libraries. Compilers come with MADDE.
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 |
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-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) |
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 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 |
The status and the responsible of the Qemu on different host platforms.
| ARMv5 (N900) | ARMv7 (N900) | Intel (Aava?) | |
|---|---|---|---|
| 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 | ? | ? | ? |
The Qemu images are images used with the QEMU full system emulation. The images are as similar as possible to the actual device images.
| Target | Responsible | Status |
|---|---|---|
| ARMv5 (Qemu N900) | Fathi Boudra | Work in progress |
| ARMv7 (Qemu N900) | Fathi Boudra | Work in progress |
| Intel (Aava?) | ? | ? |
What do we have?
The Documentation of MeeGo SDK tells how to install/set up MeeGo SDK on any host machine, how to get started to use SDK to create first MeeGo applicaiton, including creating project, editing, compiling and building and remotely deploying and debuging applicaton.
Supported APIs are also important part of SDK docmentation.