From e3f6c6d18d8ffbb4f9462adbf6648500b9514bbb Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 11 May 2018 17:35:56 -0400 Subject: [PATCH] lib: Add 32-bit Android platforms --- lib/systems/examples.nix | 12 ++++++++++++ lib/systems/platforms.nix | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 05c788ddd1aeef..87da31f3137f6c 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -29,6 +29,18 @@ rec { platform = platforms.aarch64-multiplatform; }; + armv5te-android-prebuilt = rec { + config = "armv5tel-unknown-linux-androideabi"; + platform = platforms.armv5te-android; + useAndroidPrebuilt = true; + }; + + armv7a-android-prebuilt = rec { + config = "armv7a-unknown-linux-androideabi"; + platform = platforms.armv7a-android; + useAndroidPrebuilt = true; + }; + aarch64-android-prebuilt = rec { config = "aarch64-unknown-linux-android"; platform = platforms.aarch64-multiplatform; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index cceaecf01843d2..5becaf581a4558 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -384,6 +384,27 @@ rec { kernelTarget = "zImage"; }; + # https://developer.android.com/ndk/guides/abis#armeabi + armv5te-android = { + name = "armeabi"; + gcc = { + arch = "armv5te"; + float = "soft"; + float-abi = "soft"; + }; + }; + + # https://developer.android.com/ndk/guides/abis#v7a + armv7a-android = { + name = "armeabi-v7a"; + gcc = { + arch = "armv7-a"; + float = "hard"; + float-abi = "softfp"; + fpu = "vfpv3-d16"; + }; + }; + armv7l-hf-multiplatform = { name = "armv7l-hf-multiplatform"; kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc.