Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Team)
Line 41: Line 41:
=== MeeGo toolchain Model ===
=== MeeGo toolchain Model ===
-
MeeGo toolchain is based on the Baseline of Gnu-toolchain. Toolchain components of the MeeGo release is a snapshot of current toolchain version in the Baseline. The following figure shows the model in case of gcc compiler.
+
MeeGo toolchain is based on the mainstream of GNU-toolchain. The same Toolchain is used for x86 and ARM architectures. Nokia is responsible for ARM patches and Intel for x86 patches.
 +
 
 +
Before the Toolchain can be accepted to MeeGo Release, the MeeGo related patches (from x86 and ARM) must be accepted into upstream.
 +
 
-
Patches that are common to both ARM and x86 architectures are taken directly to the meego-gcc.
 
-
Nokia has responsibility to produce ARM optimized gcc and integrate ARM related patches. This compiler is also used in internal development. Similarly Intel works with x86 optimized gcc.
 
-
After optimization patches from both ARM and x86 optimized compilers are added to meego-gcc ensuring that the patches does not interfere each other. This expects extensive testing of meego-gcc to ensure that it really can be used for both architectures.
 
-
When the verification has been done, the meego-gcc and friends are integrated as the part of MeeGo SDK release. Meego-gcc related patches are also updated to the upstream gcc. 
 
-
[[File:Meegogcc.png]]
 
=== MeeGo Toolchain Change Process ===
=== MeeGo Toolchain Change Process ===

Revision as of 11:49, 3 November 2010

Contents

MeeGo Toolchain

MeeGo Toolchain Team is responsible of toolchain for MeeGo Platform.

Team

  • Jarmo Kant, Nokia (jarmo.kant@nokia.com), IRC: jake-k
  • Austin Zhang, Intel (austin.zhang@intel.com), IRC: austin_zhang
  • Jackie Wu, Intel (jackie.wu@intel.com)
  • Al Nikolov, Nokia (al.nikolov@nokia.com)
  • Martti Lumme, Nokia (martti.lumme@nokia.com), IRC: marlumme
  • Alexander Kanevskiy, Nokia (alexander.kanevskiy@nokia.com)
  • Jan-Simon Möller, Linux Foundation (jsmoeller@linuxfoundation.org), IRC: dl9pf

Meetings

Minutes available at Piratepad http://piratepad.net/I4eNvGQxWR

Friday, 2010-10-22 @9.30 - 10.30 UTC

Agenda:

0) Pointers to Mails / Discussion

1) How to ensure optimized toolchain for x86 and ARM

  • Patchsets (also Linaro usage)
  • Update Roadmap
  • CFlags, softfloat, hardfloat

2) Toolchain in SDK and OBS

  • Responsibilities (OBS + SDK)

3) Toolchain releasing

  • Update rules

4) Open issues

5) AOB

Things to do

  • Mode of operation (meetings, mailing lists, etc.)
  • Review of Toolchain Change Process
  • Team forming

MeeGo toolchain Model

MeeGo toolchain is based on the mainstream of GNU-toolchain. The same Toolchain is used for x86 and ARM architectures. Nokia is responsible for ARM patches and Intel for x86 patches.

Before the Toolchain can be accepted to MeeGo Release, the MeeGo related patches (from x86 and ARM) must be accepted into upstream.




MeeGo Toolchain Change Process

The following diagram figures out the process how the changes to the Toolchain components are done.

Toolchain change process.png

It contains a following roles:

  • MeeGo Community - self explaining role
  • Request Initiator - A stakeholder that wants to change version or add/remove of some component in the Toolchain.
  • MeeGo Toolchain WG - Toolchain working group in MeeGo
  • Partner - A stakeholder using the Toolchain

Most important deliverable is the Change Request (CR). It is filed by the Request Initiator and contains the following information:

  • Changed component
  • Version change
  • Business reason for the change
  • Use Case describing the change and what is achieved with the change
  • Test case(s) to validate the change. This should be a script that can be easily run and automated
  • Impact analysis where the change affects
  • Risks

Change request template: File:Toolchain cr template.txt

The procedure step by step:

  • Request Initiator wants to change Toolchain and files the CR
  • Toolchain WG handles the CR, informs MeeGo community about the CR and pass the CR to the relevant Partners
  • Partner possibly handles it in their internal decision making body and checks at least the following:
* changed component is buildable
* executes performance tests
* checks that the packages can be built using the changed Toolchain
  • Report of the analysis is handled by the Partner and based on the results Partner gives verdict whether to approve or reject the CR.
  • Response is handled in the MeeGo Toolchain WG and the Request Initiator is informed. If the change has been approved the change is scheduled to be taken into use and the MeeGo community is informed about the upcoming change.
  • If the change has been rejected, the Request Initiator can escalate the change still (escalating path is TBD).
Personal tools