-
Couldn't load subscription status.
- Fork 13
Description
Title
Android's Dream of a Stable Toolchain
Author
Pirama Arumuga Nainar, [email protected], Google
Stephen Hines, [email protected], Google (@stephenhines)
Distribution
AOSP LLVM toolchain is used to build the Android platform, the Android kernel and host tools (LLDB server, OpenJDK, adb etc). It also ships with Android Studio and NDK to build native applications.
Abstract (optional)
Our distribution of LLVM supports Linux, MacOS and Windows and uses tools from LLVM ecosystem (lld, compiler-rt builtins, libc++) whenever possible.
In this talk, we'll briefly discuss the distribution (components, build options etc) first and then focus on some operational challenges we face:
- first-party feature development
- continuous, nightly, testing
- managing reverts and cherry-picks
- cross-testing for Windows
What's unique about the environment you package LLVM for? (optional)
- Linux, MacOS and Windows toolchains using primarily tools from the LLVM ecosystem.
- Cross-runtimes (compiler-rt, libunwind, openmp) for Android-supported architectures.
- Multitude of users (Android platform, kernel, NDK) with varied adoption and support time frames.
What makes your distribution of LLVM unique? (optional)
We don't track an LLVM release but follow LLVM ToT closely. (This also applies to other toolchain maintainers within Google).
What might others learn from your experience? (optional)
What could be improved in upstream LLVM to make working with it easier as a downstream packager? (optional)
Reminder that this is meant to be a 15 minute lightning talk; enough to pique
interests but follow up should be done after. Slides can always include links
to more info; we will ask that you send a PR to this repo with your slides when
they are ready.