Rollup merge of #101780 - chriswailes:android-platform, r=joshtriplett
Add a platform support document for Android r? ``@joshtriplett``
This commit is contained in:
commit
6fff4d9cfd
@ -24,6 +24,7 @@
|
||||
- [armv6k-nintendo-3ds](platform-support/armv6k-nintendo-3ds.md)
|
||||
- [armv7-unknown-linux-uclibceabi](platform-support/armv7-unknown-linux-uclibceabi.md)
|
||||
- [armv7-unknown-linux-uclibceabihf](platform-support/armv7-unknown-linux-uclibceabihf.md)
|
||||
- [\*-android and \*-androideabi](platform-support/android.md)
|
||||
- [\*-fuchsia](platform-support/fuchsia.md)
|
||||
- [\*-kmc-solid_\*](platform-support/kmc-solid.md)
|
||||
- [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)
|
||||
|
@ -125,17 +125,17 @@ target | std | notes
|
||||
`aarch64-apple-ios` | ✓ | ARM64 iOS
|
||||
[`aarch64-apple-ios-sim`](platform-support/aarch64-apple-ios-sim.md) | ✓ | Apple iOS Simulator on ARM64
|
||||
`aarch64-fuchsia` | ✓ | ARM64 Fuchsia
|
||||
`aarch64-linux-android` | ✓ | ARM64 Android
|
||||
[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android
|
||||
`aarch64-unknown-none-softfloat` | * | Bare ARM64, softfloat
|
||||
`aarch64-unknown-none` | * | Bare ARM64, hardfloat
|
||||
`arm-linux-androideabi` | ✓ | ARMv7 Android
|
||||
[`arm-linux-androideabi`](platform-support/android.md) | ✓ | ARMv7 Android
|
||||
`arm-unknown-linux-musleabi` | ✓ | ARMv6 Linux with MUSL
|
||||
`arm-unknown-linux-musleabihf` | ✓ | ARMv6 Linux with MUSL, hardfloat
|
||||
`armebv7r-none-eabi` | * | Bare ARMv7-R, Big Endian
|
||||
`armebv7r-none-eabihf` | * | Bare ARMv7-R, Big Endian, hardfloat
|
||||
`armv5te-unknown-linux-gnueabi` | ✓ | ARMv5TE Linux (kernel 4.4, glibc 2.23)
|
||||
`armv5te-unknown-linux-musleabi` | ✓ | ARMv5TE Linux with MUSL
|
||||
`armv7-linux-androideabi` | ✓ | ARMv7a Android
|
||||
[`armv7-linux-androideabi`](platform-support/android.md) | ✓ | ARMv7a Android
|
||||
`armv7-unknown-linux-gnueabi` | ✓ |ARMv7 Linux (kernel 4.15, glibc 2.27)
|
||||
`armv7-unknown-linux-musleabi` | ✓ |ARMv7 Linux with MUSL
|
||||
`armv7-unknown-linux-musleabihf` | ✓ | ARMv7 Linux with MUSL, hardfloat
|
||||
@ -146,7 +146,7 @@ target | std | notes
|
||||
`i586-pc-windows-msvc` | * | 32-bit Windows w/o SSE
|
||||
`i586-unknown-linux-gnu` | ✓ | 32-bit Linux w/o SSE (kernel 4.4, glibc 2.23)
|
||||
`i586-unknown-linux-musl` | ✓ | 32-bit Linux w/o SSE, MUSL
|
||||
`i686-linux-android` | ✓ | 32-bit x86 Android
|
||||
[`i686-linux-android`](platform-support/android.md) | ✓ | 32-bit x86 Android
|
||||
`i686-unknown-freebsd` | ✓ | 32-bit FreeBSD
|
||||
`i686-unknown-linux-musl` | ✓ | 32-bit Linux with MUSL
|
||||
`mips-unknown-linux-musl` | ✓ | MIPS Linux with MUSL
|
||||
@ -165,7 +165,7 @@ target | std | notes
|
||||
`thumbv7em-none-eabi` | * | Bare Cortex-M4, M7
|
||||
`thumbv7em-none-eabihf` | * | Bare Cortex-M4F, M7F, FPU, hardfloat
|
||||
`thumbv7m-none-eabi` | * | Bare Cortex-M3
|
||||
`thumbv7neon-linux-androideabi` | ✓ | Thumb2-mode ARMv7a Android with NEON
|
||||
[`thumbv7neon-linux-androideabi`](platform-support/android.md) | ✓ | Thumb2-mode ARMv7a Android with NEON
|
||||
`thumbv7neon-unknown-linux-gnueabihf` | ✓ | Thumb2-mode ARMv7a Linux with NEON (kernel 4.4, glibc 2.23)
|
||||
`thumbv8m.base-none-eabi` | * | ARMv8-M Baseline
|
||||
`thumbv8m.main-none-eabi` | * | ARMv8-M Mainline
|
||||
@ -176,7 +176,7 @@ target | std | notes
|
||||
`x86_64-apple-ios` | ✓ | 64-bit x86 iOS
|
||||
[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64-fortanix-unknown-sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX
|
||||
`x86_64-fuchsia` | ✓ | 64-bit Fuchsia
|
||||
`x86_64-linux-android` | ✓ | 64-bit x86 Android
|
||||
[`x86_64-linux-android`](platform-support/android.md) | ✓ | 64-bit x86 Android
|
||||
`x86_64-pc-solaris` | ✓ | 64-bit Solaris 10/11, illumos
|
||||
`x86_64-unknown-linux-gnux32` | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27)
|
||||
[`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | Freestanding/bare-metal x86_64, softfloat
|
||||
|
45
src/doc/rustc/src/platform-support/android.md
Normal file
45
src/doc/rustc/src/platform-support/android.md
Normal file
@ -0,0 +1,45 @@
|
||||
# *-linux-android and *-linux-androideabi
|
||||
|
||||
**Tier: 2**
|
||||
|
||||
[Android] is a mobile operating system built on top of the Linux kernel.
|
||||
|
||||
[Android]: https://source.android.com/
|
||||
|
||||
## Target maintainers
|
||||
|
||||
- Chris Wailes ([@chriswailes](https://github.com/chriswailes))
|
||||
- Matthew Maurer ([@maurer](https://github.com/maurer))
|
||||
- Martin Geisler ([@mgeisler](https://github.com/mgeisler))
|
||||
|
||||
## Requirements
|
||||
|
||||
This target is cross-compiled from a host environment. Development may be done
|
||||
from the [source tree] or using the Android NDK.
|
||||
|
||||
[source tree]: https://source.android.com/docs/setup/build/downloading
|
||||
|
||||
Android targets support std. Generated binaries use the ELF file format.
|
||||
|
||||
## NDK/API Update Policy
|
||||
|
||||
Rust will support the most recent Long Term Support (LTS) Android Native
|
||||
Development Kit (NDK). By default Rust will support all API levels supported
|
||||
by the NDK, but a higher minimum API level may be required if deemed necessary.
|
||||
|
||||
## Building the target
|
||||
|
||||
To build Rust binaries for Android you'll need a copy of the most recent LTS
|
||||
edition of the [Android NDK]. Supported Android targets are:
|
||||
|
||||
* aarch64-linux-android
|
||||
* arm-linux-androideabi
|
||||
* armv7-linux-androideabi
|
||||
* i686-linux-android
|
||||
* thumbv7neon-linux-androideabi
|
||||
* x86_64-linux-android
|
||||
|
||||
[Android NDK]: https://developer.android.com/ndk/downloads
|
||||
|
||||
A list of all supported targets can be found
|
||||
[here](https://doc.rust-lang.org/rustc/platform-support.html)
|
Loading…
Reference in New Issue
Block a user