Deliver customized Linaro toolchain enabled Android NDK

Registered by Jim Huang on 2011-03-03

Goal:
This is expected to make Linaro toolchain easily consumable and increase chances that someone at Google can eventually take a look at what Linaro engineers are doing. Also it can help the community to use Linaro toolchain to built their android distributions.

Tasks:
(1) reuse existing NDK build scripts and extend them to be Linaro aware.
(2) NDK comes with several gcc/libstdc++/gdb patches, and them were included in Google's tree instead of Linaro's. We should merge and verify them.
(3) To benefit from Linaro NDK, we should enable GCC optimizations and specific flags.
(4) Basic validation and performance measurement

Blueprint information

Status:
Started
Approver:
Alexander Sack
Priority:
Low
Drafter:
Jim Huang
Direction:
Approved
Assignee:
Jim Huang
Definition:
Drafting
Series goal:
Proposed for 11.05
Implementation:
Started
Milestone target:
None
Started by
Jim Huang on 2011-03-03

Whiteboard

[asac, 20 Mar 2011]: please don't remove comments from whiteboard ... please use proper work item syntax; at best don't start before approval ;) ... request review when drafting is done. add a bit more background to the summary (e.g. how is this done? what parts of NDK are updated; how will we maintain it etc.)
[asac, Apr 6, 2011]: moving off CPU; lets keep priority lower; fix work items and address my other comments from above; once approved poke me if we want to officially work on this.

script to generate NDK from scratch: DONE
pull Linaro source: DONE
apply gcc patches from NDK: DONE
create a straightforward way to go through the flow: DONE
improve existing NDK build rules: itakes too long time to build everything from scratch: TODO
Fix incorret sysroot assignment: DONE
ERROR: Invalid sysroot path: /home/jserv/Myth/korg-master/development/ndk/platforms/android-9/arch-arm
       Use --sysroot=<path> to indicate a valid one.
  -> update to latest NDK
the original build script was not flexible enough, and the option was not passed correctly.
workaround: Fixed in linaro's build system instead of NDK upstream
introduce the changes from Linaro's android/toolchain/build.git : DONE
visible applications for comparing performance / No NDK benchmark available? : DONE
  -> we can directly take libMicro from 0xben for NDK benchmarking

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.