summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-11-22 21:42:06 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-11-22 21:42:06 +0000
commita5bd4e0f3b8af3dc3ddd427747661e210633ed39 (patch)
treea2ef45b6576995e4b94a8fdb349fa33917483e7b
parent1f8f810318e83ae67c5c0dc82c46f4c5f1a71872 (diff)
parent4f7172de658625f668579646ed1b37b43429a190 (diff)
downloadring-a5bd4e0f3b8af3dc3ddd427747661e210633ed39.tar.gz
Snap for 11135399 from 4f7172de658625f668579646ed1b37b43429a190 to simpleperf-release
Change-Id: I86dd699b4755546d55bdcf720ba49db88979558a
-rw-r--r--Android.bp339
-rw-r--r--cargo2android.json18
-rw-r--r--cargo_embargo.json51
-rw-r--r--cfg_soong.bp1
-rw-r--r--patches/Android.bp.patch30
-rw-r--r--patches/hardcode_prefix.patch53
-rw-r--r--src/prefixed.rs30
7 files changed, 421 insertions, 101 deletions
diff --git a/Android.bp b/Android.bp
index a2148cc..f1ae06f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py --config cargo2android.json.
+// This file is generated by cargo_embargo.
// Do not modify this file as changes will be overridden on upgrade.
package {
@@ -36,7 +36,6 @@ license {
rust_library {
name: "libring",
- // has rustc warnings
host_supported: true,
crate_name: "ring",
cargo_env_compat: true,
@@ -67,11 +66,11 @@ rust_library {
product_available: true,
vendor_available: true,
min_sdk_version: "29",
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_src_lib",
- // has rustc warnings
host_supported: true,
crate_name: "ring",
cargo_env_compat: true,
@@ -100,15 +99,21 @@ rust_test {
"libring-core",
"libring-test",
],
+ cfgs: ["soong"],
}
-rust_defaults {
- name: "ring_test_defaults",
- crate_name: "ring",
+rust_test {
+ name: "ring_test_tests_aead_tests",
+ host_supported: true,
+ crate_name: "aead_tests",
cargo_env_compat: true,
cargo_pkg_version: "0.17.0-alpha.11",
+ srcs: ["tests/aead_tests.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
+ test_options: {
+ unit_test: true,
+ },
edition: "2018",
features: [
"alloc",
@@ -124,149 +129,401 @@ rust_defaults {
"libspin",
"libuntrusted",
],
-}
-
-rust_test {
- name: "ring_test_tests_aead_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
- host_supported: true,
- srcs: ["tests/aead_tests.rs"],
- test_options: {
- unit_test: true,
- },
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_agreement_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "agreement_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/agreement_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_constant_time_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "constant_time_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/constant_time_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_digest_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "digest_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/digest_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_ecdsa_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "ecdsa_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/ecdsa_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_ed25519_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "ed25519_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/ed25519_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_hkdf_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "hkdf_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/hkdf_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_hmac_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "hmac_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/hmac_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_pbkdf2_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "pbkdf2_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/pbkdf2_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_quic_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "quic_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/quic_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_rand_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "rand_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/rand_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_rsa_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "rsa_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/rsa_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
}
rust_test {
name: "ring_test_tests_signature_tests",
- defaults: ["ring_test_defaults"],
- // has rustc warnings
host_supported: true,
+ crate_name: "signature_tests",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
srcs: ["tests/signature_tests.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
test_options: {
unit_test: true,
},
+ edition: "2018",
+ features: [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std",
+ ],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libring",
+ "libspin",
+ "libuntrusted",
+ ],
+ cfgs: ["soong"],
+}
+
+rust_library_rlib {
+ name: "libring_nostd",
+ crate_name: "ring",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.0-alpha.11",
+ srcs: ["src/lib.rs"],
+ edition: "2018",
+ features: ["once_cell"],
+ rustlibs: [
+ "liblibc",
+ "libonce_cell",
+ "libspin_nostd",
+ "libuntrusted",
+ ],
+ whole_static_libs: [
+ "libring-core",
+ "libring-test",
+ ],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.resolv",
+ ],
+ prefer_rlib: true,
+ no_stdlibs: true,
+ stdlibs: [
+ "libcompiler_builtins.rust_sysroot",
+ "libcore.rust_sysroot",
+ ],
+ product_available: true,
+ vendor_available: true,
+ min_sdk_version: "29",
+ cfgs: ["soong"],
}
cc_library_static {
diff --git a/cargo2android.json b/cargo2android.json
deleted file mode 100644
index ae417f7..0000000
--- a/cargo2android.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "add-toplevel-block": "cargo2android_cc.bp",
- "apex-available": [
- "//apex_available:platform",
- "com.android.resolv"
- ],
- "dependencies": true,
- "device": true,
- "features": "alloc,default,dev_urandom_fallback,once_cell,std",
- "min-sdk-version": "29",
- "patch": "patches/Android.bp.patch",
- "run": true,
- "tests": true,
- "whole-static-libs": [
- "ring-core",
- "ring-test"
- ]
-}
diff --git a/cargo_embargo.json b/cargo_embargo.json
new file mode 100644
index 0000000..39fd8d0
--- /dev/null
+++ b/cargo_embargo.json
@@ -0,0 +1,51 @@
+{
+ "apex_available": [
+ "//apex_available:platform",
+ "com.android.resolv"
+ ],
+ "min_sdk_version": "29",
+ "package": {
+ "ring": {
+ "add_module_block": "cfg_soong.bp",
+ "add_toplevel_block": "cargo2android_cc.bp",
+ "whole_static_libs": [
+ "libring-core",
+ "libring-test"
+ ]
+ }
+ },
+ "variants": [
+ {
+ "features": [
+ "alloc",
+ "default",
+ "dev_urandom_fallback",
+ "once_cell",
+ "std"
+ ],
+ "module_name_overrides": {
+ "libring_core_0_17_0_alpha_11_": "libring-core",
+ "libring_core_0_17_0_alpha_11_test": "libring-test"
+ },
+ "tests": true
+ },
+ {
+ "features": [
+ "once_cell"
+ ],
+ "module_name_overrides": {
+ "libring_core_0_17_0_alpha_11_": "libring-core",
+ "libring_core_0_17_0_alpha_11_test": "libring-test",
+ "libring": "libring_nostd",
+ "libspin": "libspin_nostd"
+ },
+ "package": {
+ "ring": {
+ "force_rlib": true,
+ "host_supported": false,
+ "no_std": true
+ }
+ }
+ }
+ ]
+}
diff --git a/cfg_soong.bp b/cfg_soong.bp
new file mode 100644
index 0000000..83a9214
--- /dev/null
+++ b/cfg_soong.bp
@@ -0,0 +1 @@
+cfgs: ["soong"] \ No newline at end of file
diff --git a/patches/Android.bp.patch b/patches/Android.bp.patch
deleted file mode 100644
index 5bbfbe8..0000000
--- a/patches/Android.bp.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/Android.bp b/Android.bp
-index 2fffd32fb..eb06e7878 100644
---- a/Android.bp
-+++ b/Android.bp
-@@ -56,9 +56,9 @@ rust_library {
- "libspin",
- "libuntrusted",
- ],
-- static_libs: [
-- "libring_core_0_17_0_alpha_11_",
-- "libring_core_0_17_0_alpha_11_test",
-+ whole_static_libs: [
-+ "libring-core",
-+ "libring-test",
- ],
- apex_available: [
- "//apex_available:platform",
-@@ -94,9 +94,9 @@ rust_test {
- "libspin",
- "libuntrusted",
- ],
-- static_libs: [
-- "libring_core_0_17_0_alpha_11_",
-- "libring_core_0_17_0_alpha_11_test",
-+ whole_static_libs: [
-+ "libring-core",
-+ "libring-test",
- ],
- }
-
diff --git a/patches/hardcode_prefix.patch b/patches/hardcode_prefix.patch
index a37c68a..41d00ec 100644
--- a/patches/hardcode_prefix.patch
+++ b/patches/hardcode_prefix.patch
@@ -1,14 +1,45 @@
-diff --git a/src/prefixed.rs b/src/prefixed.rs
-index 0f1c13e8c..c8ac807ee 100644
---- a/src/prefixed.rs
-+++ b/src/prefixed.rs
-@@ -68,7 +68,8 @@ macro_rules! prefixed_item {
- } => {
- prefixed_item! {
- $attr
-- { concat!(env!("RING_CORE_PREFIX"), stringify!($name)) }
-+ //{ concat!(env!("RING_CORE_PREFIX"), stringify!($name)) }
-+ { concat!("ring_core_android_platform_", stringify!($name)) }
+--- src/prefixed.rs.orig 2023-11-21 14:54:21.563997351 +0000
++++ src/prefixed.rs 2023-11-21 14:48:18.346428666 +0000
+@@ -73,6 +73,7 @@
+ };
+ }
+
++#[cfg(not(soong))]
+ macro_rules! prefixed_item {
+ // Calculate the prefixed name in a separate layer of macro expansion
+ // because rustc won't currently accept a non-literal expression as
+@@ -88,6 +89,34 @@
{ $( $item )+ }
}
};
++
++ // Output the item.
++ {
++ $attr:ident
++ { $prefixed_name:expr }
++ { $( $item:tt )+ }
++ } => {
++ #[$attr = $prefixed_name]
++ $( $item )+
++ };
++}
++
++#[cfg(soong)]
++macro_rules! prefixed_item {
++ // Calculate the prefixed name in a separate layer of macro expansion
++ // because rustc won't currently accept a non-literal expression as
++ // the value for `#[link_name = value]`.
++ {
++ $attr:ident
++ $name:ident
++ { $( $item:tt )+ }
++ } => {
++ prefixed_item! {
++ $attr
++ { concat!("ring_core_android_platform_", stringify!($name)) }
++ { $( $item )+ }
++ }
++ };
+
+ // Output the item.
+ {
diff --git a/src/prefixed.rs b/src/prefixed.rs
index a35f921..0b90721 100644
--- a/src/prefixed.rs
+++ b/src/prefixed.rs
@@ -73,6 +73,35 @@ macro_rules! prefixed_export {
};
}
+#[cfg(not(soong))]
+macro_rules! prefixed_item {
+ // Calculate the prefixed name in a separate layer of macro expansion
+ // because rustc won't currently accept a non-literal expression as
+ // the value for `#[link_name = value]`.
+ {
+ $attr:ident
+ $name:ident
+ { $( $item:tt )+ }
+ } => {
+ prefixed_item! {
+ $attr
+ { concat!(env!("RING_CORE_PREFIX"), stringify!($name)) }
+ { $( $item )+ }
+ }
+ };
+
+ // Output the item.
+ {
+ $attr:ident
+ { $prefixed_name:expr }
+ { $( $item:tt )+ }
+ } => {
+ #[$attr = $prefixed_name]
+ $( $item )+
+ };
+}
+
+#[cfg(soong)]
macro_rules! prefixed_item {
// Calculate the prefixed name in a separate layer of macro expansion
// because rustc won't currently accept a non-literal expression as
@@ -84,7 +113,6 @@ macro_rules! prefixed_item {
} => {
prefixed_item! {
$attr
- //{ concat!(env!("RING_CORE_PREFIX"), stringify!($name)) }
{ concat!("ring_core_android_platform_", stringify!($name)) }
{ $( $item )+ }
}