diff options
-rw-r--r-- | Android.bp | 217 | ||||
-rw-r--r-- | cargo2android.json | 2 | ||||
-rw-r--r-- | cargo2android_cc.bp | 105 | ||||
-rw-r--r-- | patches/Android.bp.diff | 124 |
4 files changed, 215 insertions, 233 deletions
@@ -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"], |