Deliver customized Linaro toolchain enabled Android NDK
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
- Completed by
Related branches
Related bugs
Bug #730767: FDO build in Android toolchain benchmark suite doesn't work | Fix Released |
Bug #732731: Merge gcc patches from NDK | Fix Released |
Sprints
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/
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/
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.