summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp217
-rw-r--r--cargo2android.json2
-rw-r--r--cargo2android_cc.bp105
-rw-r--r--patches/Android.bp.diff124
4 files changed, 215 insertions, 233 deletions
diff --git a/Android.bp b/Android.bp
index b0ab1f2..8a2483c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -56,6 +56,7 @@ rust_library {
],
static_libs: [
"libring-core",
+ "libring-test",
],
apex_available: [
"//apex_available:platform",
@@ -91,112 +92,6 @@ rust_defaults {
],
}
-cc_library_static {
- name: "libring-core",
- host_supported: true,
- srcs: [
- "crypto/cpu-intel.c",
- "crypto/fipsmodule/aes/aes_nohw.c",
- "crypto/crypto.c",
- "crypto/poly1305/poly1305.c",
- "crypto/poly1305/poly1305_vec.c",
- "crypto/curve25519/curve25519.c",
- "crypto/fipsmodule/ec/ecp_nistz.c",
- "crypto/fipsmodule/ec/ecp_nistz256.c",
- "crypto/fipsmodule/ec/gfp_p256.c",
- "crypto/fipsmodule/ec/gfp_p384.c",
- "crypto/limbs/limbs.c",
- "crypto/mem.c",
- "crypto/fipsmodule/bn/montgomery.c",
- "crypto/fipsmodule/bn/montgomery_inv.c",
- ],
-
- arch: {
- arm: {
- srcs: [
- "crypto/poly1305/poly1305_arm.c",
- "crypto/poly1305/poly1305_arm_asm.S",
- "pregenerated/armv4-mont-linux32.S",
- "crypto/curve25519/asm/x25519-asm-arm.S",
- "pregenerated/sha256-armv4-linux32.S",
- "pregenerated/sha512-armv4-linux32.S",
- "pregenerated/ecp_nistz256-armv4-linux32.S",
- "pregenerated/aesv8-armx-linux32.S",
- "pregenerated/bsaes-armv7-linux32.S",
- "pregenerated/ghashv8-armx-linux32.S",
- "pregenerated/vpaes-armv7-linux32.S",
- "pregenerated/ghash-armv4-linux32.S",
- "pregenerated/chacha-armv4-linux32.S",
- ],
- },
- arm64: {
- srcs: [
- "pregenerated/aesv8-armx-linux64.S",
- "pregenerated/armv8-mont-linux64.S",
- "pregenerated/chacha-armv8-linux64.S",
- "pregenerated/ecp_nistz256-armv8-linux64.S",
- "pregenerated/ghash-neon-armv8-linux64.S",
- "pregenerated/ghashv8-armx-linux64.S",
- "pregenerated/sha256-armv8-linux64.S",
- "pregenerated/sha512-armv8-linux64.S",
- "pregenerated/vpaes-armv8-linux64.S",
- ],
- },
- x86: {
- srcs: [
- "pregenerated/aesni-x86-elf.S",
- "pregenerated/chacha-x86-elf.S",
- "pregenerated/ecp_nistz256-x86-elf.S",
- "pregenerated/ghash-x86-elf.S",
- "pregenerated/vpaes-x86-elf.S",
- "pregenerated/x86-mont-elf.S",
- ],
- },
- x86_64: {
- srcs: [
- "pregenerated/aesni-gcm-x86_64-elf.S",
- "pregenerated/aesni-x86_64-elf.S",
- "pregenerated/chacha-x86_64-elf.S",
- "pregenerated/ghash-x86_64-elf.S",
- "pregenerated/p256-x86_64-asm-elf.S",
- "pregenerated/sha256-x86_64-elf.S",
- "pregenerated/sha512-x86_64-elf.S",
- "pregenerated/vpaes-x86_64-elf.S",
- "pregenerated/x86_64-mont5-elf.S",
- "pregenerated/x86_64-mont-elf.S",
- ],
- },
- },
-
- cflags: [
- "-O3",
- "-Wno-error",
- "-fPIC",
- "-fdata-sections",
- "-ffunction-sections",
- "-fno-omit-frame-pointer",
- "-fno-strict-aliasing",
- "-fstack-protector",
- "-fvisibility=hidden",
- "-DNDEBUG",
- ],
- local_include_dirs: ["include"],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
- min_sdk_version: "29",
-}
-
-cc_library_static {
- name: "libring-test",
- host_supported: true,
- srcs: [
- "crypto/constant_time_test.c",
- ],
- local_include_dirs: ["include"],
-}
-
rust_test_host {
name: "ring_host_test_src_lib",
defaults: ["ring_defaults"],
@@ -453,9 +348,115 @@ rust_test {
srcs: ["tests/signature_tests.rs"],
}
+cc_library_static {
+ name: "libring-core",
+ host_supported: true,
+ srcs: [
+ "crypto/cpu-intel.c",
+ "crypto/fipsmodule/aes/aes_nohw.c",
+ "crypto/crypto.c",
+ "crypto/poly1305/poly1305.c",
+ "crypto/poly1305/poly1305_vec.c",
+ "crypto/curve25519/curve25519.c",
+ "crypto/fipsmodule/ec/ecp_nistz.c",
+ "crypto/fipsmodule/ec/ecp_nistz256.c",
+ "crypto/fipsmodule/ec/gfp_p256.c",
+ "crypto/fipsmodule/ec/gfp_p384.c",
+ "crypto/limbs/limbs.c",
+ "crypto/mem.c",
+ "crypto/fipsmodule/bn/montgomery.c",
+ "crypto/fipsmodule/bn/montgomery_inv.c",
+ ],
+
+ arch: {
+ arm: {
+ srcs: [
+ "crypto/poly1305/poly1305_arm.c",
+ "crypto/poly1305/poly1305_arm_asm.S",
+ "pregenerated/armv4-mont-linux32.S",
+ "crypto/curve25519/asm/x25519-asm-arm.S",
+ "pregenerated/sha256-armv4-linux32.S",
+ "pregenerated/sha512-armv4-linux32.S",
+ "pregenerated/ecp_nistz256-armv4-linux32.S",
+ "pregenerated/aesv8-armx-linux32.S",
+ "pregenerated/bsaes-armv7-linux32.S",
+ "pregenerated/ghashv8-armx-linux32.S",
+ "pregenerated/vpaes-armv7-linux32.S",
+ "pregenerated/ghash-armv4-linux32.S",
+ "pregenerated/chacha-armv4-linux32.S",
+ ],
+ },
+ arm64: {
+ srcs: [
+ "pregenerated/aesv8-armx-linux64.S",
+ "pregenerated/armv8-mont-linux64.S",
+ "pregenerated/chacha-armv8-linux64.S",
+ "pregenerated/ecp_nistz256-armv8-linux64.S",
+ "pregenerated/ghash-neon-armv8-linux64.S",
+ "pregenerated/ghashv8-armx-linux64.S",
+ "pregenerated/sha256-armv8-linux64.S",
+ "pregenerated/sha512-armv8-linux64.S",
+ "pregenerated/vpaes-armv8-linux64.S",
+ ],
+ },
+ x86: {
+ srcs: [
+ "pregenerated/aesni-x86-elf.S",
+ "pregenerated/chacha-x86-elf.S",
+ "pregenerated/ecp_nistz256-x86-elf.S",
+ "pregenerated/ghash-x86-elf.S",
+ "pregenerated/vpaes-x86-elf.S",
+ "pregenerated/x86-mont-elf.S",
+ ],
+ },
+ x86_64: {
+ srcs: [
+ "pregenerated/aesni-gcm-x86_64-elf.S",
+ "pregenerated/aesni-x86_64-elf.S",
+ "pregenerated/chacha-x86_64-elf.S",
+ "pregenerated/ghash-x86_64-elf.S",
+ "pregenerated/p256-x86_64-asm-elf.S",
+ "pregenerated/sha256-x86_64-elf.S",
+ "pregenerated/sha512-x86_64-elf.S",
+ "pregenerated/vpaes-x86_64-elf.S",
+ "pregenerated/x86_64-mont5-elf.S",
+ "pregenerated/x86_64-mont-elf.S",
+ ],
+ },
+ },
+
+ cflags: [
+ "-O3",
+ "-Wno-error",
+ "-fPIC",
+ "-fdata-sections",
+ "-ffunction-sections",
+ "-fno-omit-frame-pointer",
+ "-fno-strict-aliasing",
+ "-fstack-protector",
+ "-fvisibility=hidden",
+ "-DNDEBUG",
+ ],
+ local_include_dirs: ["include"],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.resolv",
+ ],
+ min_sdk_version: "29",
+}
+
+cc_library_static {
+ name: "libring-test",
+ host_supported: true,
+ srcs: [
+ "crypto/constant_time_test.c",
+ ],
+ local_include_dirs: ["include"],
+}
+
// dependent_library ["feature_list"]
-// cc-1.0.67
-// libc-0.2.93
+// cc-1.0.68
+// libc-0.2.96
// once_cell-1.7.2 "alloc,race,std"
// spin-0.5.2
// untrusted-0.7.1
diff --git a/cargo2android.json b/cargo2android.json
index c9cf3c2..37f7284 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -1,4 +1,5 @@
{
+ "add-toplevel-block": "cargo2android_cc.bp",
"apex-available": [
"//apex_available:platform",
"com.android.resolv"
@@ -7,7 +8,6 @@
"device": true,
"features": "alloc,default,dev_urandom_fallback,once_cell,std",
"min-sdk-version": "29",
- "patch": "patches/Android.bp.diff",
"run": true,
"tests": true
} \ No newline at end of file
diff --git a/cargo2android_cc.bp b/cargo2android_cc.bp
new file mode 100644
index 0000000..cb922b4
--- /dev/null
+++ b/cargo2android_cc.bp
@@ -0,0 +1,105 @@
+cc_library_static {
+ name: "libring-core",
+ host_supported: true,
+ srcs: [
+ "crypto/cpu-intel.c",
+ "crypto/fipsmodule/aes/aes_nohw.c",
+ "crypto/crypto.c",
+ "crypto/poly1305/poly1305.c",
+ "crypto/poly1305/poly1305_vec.c",
+ "crypto/curve25519/curve25519.c",
+ "crypto/fipsmodule/ec/ecp_nistz.c",
+ "crypto/fipsmodule/ec/ecp_nistz256.c",
+ "crypto/fipsmodule/ec/gfp_p256.c",
+ "crypto/fipsmodule/ec/gfp_p384.c",
+ "crypto/limbs/limbs.c",
+ "crypto/mem.c",
+ "crypto/fipsmodule/bn/montgomery.c",
+ "crypto/fipsmodule/bn/montgomery_inv.c",
+ ],
+
+ arch: {
+ arm: {
+ srcs: [
+ "crypto/poly1305/poly1305_arm.c",
+ "crypto/poly1305/poly1305_arm_asm.S",
+ "pregenerated/armv4-mont-linux32.S",
+ "crypto/curve25519/asm/x25519-asm-arm.S",
+ "pregenerated/sha256-armv4-linux32.S",
+ "pregenerated/sha512-armv4-linux32.S",
+ "pregenerated/ecp_nistz256-armv4-linux32.S",
+ "pregenerated/aesv8-armx-linux32.S",
+ "pregenerated/bsaes-armv7-linux32.S",
+ "pregenerated/ghashv8-armx-linux32.S",
+ "pregenerated/vpaes-armv7-linux32.S",
+ "pregenerated/ghash-armv4-linux32.S",
+ "pregenerated/chacha-armv4-linux32.S",
+ ],
+ },
+ arm64: {
+ srcs: [
+ "pregenerated/aesv8-armx-linux64.S",
+ "pregenerated/armv8-mont-linux64.S",
+ "pregenerated/chacha-armv8-linux64.S",
+ "pregenerated/ecp_nistz256-armv8-linux64.S",
+ "pregenerated/ghash-neon-armv8-linux64.S",
+ "pregenerated/ghashv8-armx-linux64.S",
+ "pregenerated/sha256-armv8-linux64.S",
+ "pregenerated/sha512-armv8-linux64.S",
+ "pregenerated/vpaes-armv8-linux64.S",
+ ],
+ },
+ x86: {
+ srcs: [
+ "pregenerated/aesni-x86-elf.S",
+ "pregenerated/chacha-x86-elf.S",
+ "pregenerated/ecp_nistz256-x86-elf.S",
+ "pregenerated/ghash-x86-elf.S",
+ "pregenerated/vpaes-x86-elf.S",
+ "pregenerated/x86-mont-elf.S",
+ ],
+ },
+ x86_64: {
+ srcs: [
+ "pregenerated/aesni-gcm-x86_64-elf.S",
+ "pregenerated/aesni-x86_64-elf.S",
+ "pregenerated/chacha-x86_64-elf.S",
+ "pregenerated/ghash-x86_64-elf.S",
+ "pregenerated/p256-x86_64-asm-elf.S",
+ "pregenerated/sha256-x86_64-elf.S",
+ "pregenerated/sha512-x86_64-elf.S",
+ "pregenerated/vpaes-x86_64-elf.S",
+ "pregenerated/x86_64-mont5-elf.S",
+ "pregenerated/x86_64-mont-elf.S",
+ ],
+ },
+ },
+
+ cflags: [
+ "-O3",
+ "-Wno-error",
+ "-fPIC",
+ "-fdata-sections",
+ "-ffunction-sections",
+ "-fno-omit-frame-pointer",
+ "-fno-strict-aliasing",
+ "-fstack-protector",
+ "-fvisibility=hidden",
+ "-DNDEBUG",
+ ],
+ local_include_dirs: ["include"],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.resolv",
+ ],
+ min_sdk_version: "29",
+}
+
+cc_library_static {
+ name: "libring-test",
+ host_supported: true,
+ srcs: [
+ "crypto/constant_time_test.c",
+ ],
+ local_include_dirs: ["include"],
+} \ No newline at end of file
diff --git a/patches/Android.bp.diff b/patches/Android.bp.diff
deleted file mode 100644
index cce538e..0000000
--- a/patches/Android.bp.diff
+++ /dev/null
@@ -1,124 +0,0 @@
---- Android.bp.old 2020-12-14 18:12:19.236831007 +0900
-+++ Android.bp 2020-12-14 18:12:26.756763208 +0900
-@@ -20,8 +20,7 @@ rust_library {
- ],
- static_libs: [
- "libring-core",
-- "libring-test",
- ],
- }
-
- rust_defaults {
-@@ -49,6 +53,112 @@ rust_defaults {
- ],
- }
-
-+cc_library_static {
-+ name: "libring-core",
-+ host_supported: true,
-+ srcs: [
-+ "crypto/cpu-intel.c",
-+ "crypto/fipsmodule/aes/aes_nohw.c",
-+ "crypto/crypto.c",
-+ "crypto/poly1305/poly1305.c",
-+ "crypto/poly1305/poly1305_vec.c",
-+ "crypto/curve25519/curve25519.c",
-+ "crypto/fipsmodule/ec/ecp_nistz.c",
-+ "crypto/fipsmodule/ec/ecp_nistz256.c",
-+ "crypto/fipsmodule/ec/gfp_p256.c",
-+ "crypto/fipsmodule/ec/gfp_p384.c",
-+ "crypto/limbs/limbs.c",
-+ "crypto/mem.c",
-+ "crypto/fipsmodule/bn/montgomery.c",
-+ "crypto/fipsmodule/bn/montgomery_inv.c",
-+ ],
-+
-+ arch: {
-+ arm: {
-+ srcs: [
-+ "crypto/poly1305/poly1305_arm.c",
-+ "crypto/poly1305/poly1305_arm_asm.S",
-+ "pregenerated/armv4-mont-linux32.S",
-+ "crypto/curve25519/asm/x25519-asm-arm.S",
-+ "pregenerated/sha256-armv4-linux32.S",
-+ "pregenerated/sha512-armv4-linux32.S",
-+ "pregenerated/ecp_nistz256-armv4-linux32.S",
-+ "pregenerated/aesv8-armx-linux32.S",
-+ "pregenerated/bsaes-armv7-linux32.S",
-+ "pregenerated/ghashv8-armx-linux32.S",
-+ "pregenerated/vpaes-armv7-linux32.S",
-+ "pregenerated/ghash-armv4-linux32.S",
-+ "pregenerated/chacha-armv4-linux32.S",
-+ ],
-+ },
-+ arm64: {
-+ srcs: [
-+ "pregenerated/aesv8-armx-linux64.S",
-+ "pregenerated/armv8-mont-linux64.S",
-+ "pregenerated/chacha-armv8-linux64.S",
-+ "pregenerated/ecp_nistz256-armv8-linux64.S",
-+ "pregenerated/ghash-neon-armv8-linux64.S",
-+ "pregenerated/ghashv8-armx-linux64.S",
-+ "pregenerated/sha256-armv8-linux64.S",
-+ "pregenerated/sha512-armv8-linux64.S",
-+ "pregenerated/vpaes-armv8-linux64.S",
-+ ],
-+ },
-+ x86: {
-+ srcs: [
-+ "pregenerated/aesni-x86-elf.S",
-+ "pregenerated/chacha-x86-elf.S",
-+ "pregenerated/ecp_nistz256-x86-elf.S",
-+ "pregenerated/ghash-x86-elf.S",
-+ "pregenerated/vpaes-x86-elf.S",
-+ "pregenerated/x86-mont-elf.S",
-+ ],
-+ },
-+ x86_64: {
-+ srcs: [
-+ "pregenerated/aesni-gcm-x86_64-elf.S",
-+ "pregenerated/aesni-x86_64-elf.S",
-+ "pregenerated/chacha-x86_64-elf.S",
-+ "pregenerated/ghash-x86_64-elf.S",
-+ "pregenerated/p256-x86_64-asm-elf.S",
-+ "pregenerated/sha256-x86_64-elf.S",
-+ "pregenerated/sha512-x86_64-elf.S",
-+ "pregenerated/vpaes-x86_64-elf.S",
-+ "pregenerated/x86_64-mont5-elf.S",
-+ "pregenerated/x86_64-mont-elf.S",
-+ ],
-+ },
-+ },
-+
-+ cflags: [
-+ "-O3",
-+ "-Wno-error",
-+ "-fPIC",
-+ "-fdata-sections",
-+ "-ffunction-sections",
-+ "-fno-omit-frame-pointer",
-+ "-fno-strict-aliasing",
-+ "-fstack-protector",
-+ "-fvisibility=hidden",
-+ "-DNDEBUG",
-+ ],
-+ local_include_dirs: ["include"],
-+ apex_available: [
-+ "//apex_available:platform",
-+ "com.android.resolv",
-+ ],
-+ min_sdk_version: "29",
-+}
-+
-+cc_library_static {
-+ name: "libring-test",
-+ host_supported: true,
-+ srcs: [
-+ "crypto/constant_time_test.c",
-+ ],
-+ local_include_dirs: ["include"],
-+}
-+
- rust_test_host {
- name: "ring_host_test_src_lib",
- defaults: ["ring_defaults"],