aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-02 23:54:52 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-02-02 23:54:52 +0000
commitac9d76b6073eb9294a097438c0c1aecfd07182ee (patch)
treebc64d4c75db405eb089b3315d8e5fa9879414bff
parentf378943f74fbc6e9397eaf24cc1ad665dfb37ae9 (diff)
parent33bf951a0dc6841f17942aa84dcf236fe66341af (diff)
downloadquiche-simpleperf-release.tar.gz
Snap for 11400057 from 33bf951a0dc6841f17942aa84dcf236fe66341af to simpleperf-releasesimpleperf-release
Change-Id: I86c8b7f10324004447bc7599ce36b5b6d80b91f6
-rw-r--r--Android.bp140
-rw-r--r--cargo2android.json19
-rw-r--r--cargo_embargo.json78
-rw-r--r--patches/Android.bp.patch194
-rw-r--r--patches/env.diff16
5 files changed, 213 insertions, 234 deletions
diff --git a/Android.bp b/Android.bp
index ecbb83f..ec19374 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 {
@@ -43,19 +43,14 @@ cc_library_headers {
min_sdk_version: "29",
}
-rust_defaults {
- name: "libquiche_defaults",
- stem: "libquiche",
+rust_library {
+ name: "libquiche",
host_supported: true,
crate_name: "quiche",
cargo_env_compat: true,
+ cargo_pkg_version: "0.17.1",
srcs: ["src/lib.rs"],
edition: "2018",
- features: [
- "boringssl",
- "default",
- ],
- // Link all crates statically to create a self-contained .so library.
rlibs: [
"liblazy_static",
"liblibc",
@@ -67,17 +62,38 @@ rust_defaults {
"libsmallvec",
],
prefer_rlib: true,
- // For DnsResolver (Mainline module introduced in Q).
+ shared_libs: [
+ "libcrypto",
+ "libssl",
+ ],
apex_available: [
"//apex_available:platform",
"com.android.resolv",
],
+ product_available: true,
+ vendor_available: true,
min_sdk_version: "29",
}
rust_ffi {
name: "libquiche_ffi",
- defaults: ["libquiche_defaults"],
+ host_supported: true,
+ crate_name: "quiche",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.1",
+ srcs: ["src/lib.rs"],
+ edition: "2018",
+ rlibs: [
+ "liblazy_static",
+ "liblibc",
+ "liblibm",
+ "liblog_rust",
+ "liboctets",
+ "libring",
+ "libslab",
+ "libsmallvec",
+ ],
+ prefer_rlib: true,
shared_libs: [
"libcrypto",
"libssl",
@@ -86,38 +102,56 @@ rust_ffi {
"//apex_available:platform",
"com.android.resolv",
],
+ product_available: true,
+ vendor_available: true,
min_sdk_version: "29",
}
-rust_library {
- name: "libquiche",
- defaults: ["libquiche_defaults"],
+rust_test_host {
+ name: "quiche_host_test_src_lib",
+ crate_name: "quiche",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.1",
+ srcs: ["src/lib.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ test_options: {
+ unit_test: true,
+ },
+ edition: "2018",
+ features: [
+ "boringssl-vendored",
+ "default",
+ ],
+ rustlibs: [
+ "liblazy_static",
+ "liblibc",
+ "liblibm",
+ "liblog_rust",
+ "libmio",
+ "liboctets",
+ "libring",
+ "libslab",
+ "libsmallvec",
+ "liburl",
+ ],
shared_libs: [
"libcrypto",
"libssl",
],
-}
-
-// This target is used by doh_unit_test to prevent compatibility issues
-// because doh_unit_test needs to be run on the R platform.
-rust_library_rlib {
- name: "libquiche_static",
- defaults: ["libquiche_defaults"],
- static_libs: [
- "libcrypto_static",
- "libssl",
- ],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
+ data: [
+ "examples/cert.crt",
+ "examples/cert.key",
+ "examples/cert-big.crt",
+ "examples/rootca.crt",
],
- min_sdk_version: "29",
}
-rust_defaults {
- name: "quiche_test_defaults",
+rust_test {
+ name: "quiche_device_test_src_lib",
crate_name: "quiche",
cargo_env_compat: true,
+ cargo_pkg_version: "0.17.1",
srcs: ["src/lib.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -138,6 +172,10 @@ rust_defaults {
"libsmallvec",
"liburl",
],
+ static_libs: [
+ "libcrypto_static",
+ "libssl",
+ ],
data: [
"examples/cert.crt",
"examples/cert.key",
@@ -146,25 +184,33 @@ rust_defaults {
],
}
-rust_test_host {
- name: "quiche_host_test_src_lib",
- defaults: ["quiche_test_defaults"],
- test_options: {
- unit_test: true,
- },
- shared_libs: [
- "libcrypto",
- "libssl",
+rust_library_rlib {
+ name: "libquiche_static",
+ host_supported: true,
+ crate_name: "quiche",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.17.1",
+ srcs: ["src/lib.rs"],
+ edition: "2018",
+ rustlibs: [
+ "liblazy_static",
+ "liblibc",
+ "liblibm",
+ "liblog_rust",
+ "liboctets",
+ "libring",
+ "libslab",
+ "libsmallvec",
],
-}
-
-rust_test {
- name: "quiche_device_test_src_lib",
- defaults: ["quiche_test_defaults"],
- // To run this test in R platform, it's required to statically link
- // libcrypto and libssl.
static_libs: [
"libcrypto_static",
"libssl",
],
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.resolv",
+ ],
+ product_available: true,
+ vendor_available: true,
+ min_sdk_version: "29",
}
diff --git a/cargo2android.json b/cargo2android.json
deleted file mode 100644
index 1317ea7..0000000
--- a/cargo2android.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "apex-available": [
- "//apex_available:platform",
- "com.android.resolv"
- ],
- "dependencies": true,
- "device": true,
- "min-sdk-version": "29",
- "no-pkg-vers": true,
- "patch": "patches/Android.bp.patch",
- "run": true,
- "test-data": [
- "src/lib.rs=examples/cert.crt",
- "src/lib.rs=examples/cert.key",
- "src/lib.rs=examples/cert-big.crt",
- "src/lib.rs=examples/rootca.crt"
- ],
- "tests": true
-}
diff --git a/cargo_embargo.json b/cargo_embargo.json
new file mode 100644
index 0000000..e589563
--- /dev/null
+++ b/cargo_embargo.json
@@ -0,0 +1,78 @@
+{
+ "apex_available": [
+ "//apex_available:platform",
+ "com.android.resolv"
+ ],
+ "min_sdk_version": "29",
+ "package": {
+ "quiche": {
+ "patch": "patches/Android.bp.patch",
+ "test_data": {
+ "src/lib.rs": [
+ "examples/cert.crt",
+ "examples/cert.key",
+ "examples/cert-big.crt",
+ "examples/rootca.crt"
+ ]
+ }
+ }
+ },
+ "variants": [
+ {
+ "module_blocklist": [
+ "libquiche_static"
+ ],
+ "module_name_overrides": {
+ "libquiche_shared": "libquiche_ffi"
+ }
+ },
+ {
+ "module_blocklist": [
+ "libquiche",
+ "libquiche_shared",
+ "libquiche_static"
+ ],
+ "module_name_overrides": {
+ "quiche_test_src_lib": "quiche_host_test_src_lib"
+ },
+ "tests": true,
+ "package": {
+ "quiche": {
+ "device_supported": false
+ }
+ }
+ },
+ {
+ "module_blocklist": [
+ "libquiche",
+ "libquiche_shared",
+ "libquiche_static"
+ ],
+ "module_name_overrides": {
+ "libcrypto": "libcrypto_static",
+ "quiche_test_src_lib": "quiche_device_test_src_lib"
+ },
+ "tests": true,
+ "package": {
+ "quiche": {
+ "host_supported": false
+ }
+ }
+ },
+ {
+ "module_blocklist": [
+ "libquiche_shared",
+ "libquiche_static"
+ ],
+ "module_name_overrides": {
+ "libcrypto": "libcrypto_static",
+ "libquiche": "libquiche_static"
+ },
+ "package": {
+ "quiche": {
+ "force_rlib": true
+ }
+ }
+ }
+ ]
+}
diff --git a/patches/Android.bp.patch b/patches/Android.bp.patch
index a1b4bf2..f635789 100644
--- a/patches/Android.bp.patch
+++ b/patches/Android.bp.patch
@@ -1,189 +1,79 @@
diff --git a/Android.bp b/Android.bp
-index 884af0e..ecbb83f 100644
+index a810b69..ec19374 100644
--- a/Android.bp
+++ b/Android.bp
-@@ -43,8 +43,8 @@ cc_library_headers {
- min_sdk_version: "29",
- }
-
--rust_ffi_shared {
-- name: "libquiche_shared",
-+rust_defaults {
-+ name: "libquiche_defaults",
- stem: "libquiche",
- host_supported: true,
- crate_name: "quiche",
-@@ -52,10 +52,11 @@ rust_ffi_shared {
+@@ -51,11 +51,7 @@ rust_library {
+ cargo_pkg_version: "0.17.1",
srcs: ["src/lib.rs"],
edition: "2018",
- features: [
+- features: [
- "boringssl-vendored",
-+ "boringssl",
- "default",
- ],
+- "default",
+- ],
- rustlibs: [
-+ // Link all crates statically to create a self-contained .so library.
+ rlibs: [
"liblazy_static",
"liblibc",
"liblibm",
-@@ -65,41 +66,19 @@ rust_ffi_shared {
+@@ -65,7 +61,8 @@ rust_library {
"libslab",
"libsmallvec",
],
- static_libs: [
-- "libcrypto",
-- "libssl",
-- ],
+ prefer_rlib: true,
-+ // For DnsResolver (Mainline module introduced in Q).
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
++ shared_libs: [
+ "libcrypto",
+ "libssl",
],
-- product_available: true,
-- vendor_available: true,
+@@ -78,7 +75,7 @@ rust_library {
min_sdk_version: "29",
}
--rust_library {
-- name: "libquiche",
-- host_supported: true,
-- crate_name: "quiche",
-- cargo_env_compat: true,
-- srcs: ["src/lib.rs"],
-- edition: "2018",
+-rust_ffi_shared {
++rust_ffi {
+ name: "libquiche_ffi",
+ host_supported: true,
+ crate_name: "quiche",
+@@ -86,11 +83,7 @@ rust_ffi_shared {
+ cargo_pkg_version: "0.17.1",
+ srcs: ["src/lib.rs"],
+ edition: "2018",
- features: [
- "boringssl-vendored",
- "default",
- ],
- rustlibs: [
-- "liblazy_static",
-- "liblibc",
-- "liblibm",
-- "liblog_rust",
-- "liboctets",
-- "libring",
-- "libslab",
-- "libsmallvec",
-- ],
++ rlibs: [
+ "liblazy_static",
+ "liblibc",
+ "liblibm",
+@@ -100,7 +93,8 @@ rust_ffi_shared {
+ "libslab",
+ "libsmallvec",
+ ],
- static_libs: [
-+rust_ffi {
-+ name: "libquiche_ffi",
-+ defaults: ["libquiche_defaults"],
++ prefer_rlib: true,
+ shared_libs: [
"libcrypto",
"libssl",
],
-@@ -107,57 +86,41 @@ rust_library {
- "//apex_available:platform",
- "com.android.resolv",
+@@ -141,7 +135,7 @@ rust_test_host {
+ "libsmallvec",
+ "liburl",
],
-- product_available: true,
-- vendor_available: true,
- min_sdk_version: "29",
- }
-
--rust_ffi_static {
-- name: "libquiche_static",
-- stem: "libquiche",
-- host_supported: true,
-- crate_name: "quiche",
-- cargo_env_compat: true,
-- srcs: ["src/lib.rs"],
-- edition: "2018",
-- features: [
-- "boringssl-vendored",
-- "default",
-- ],
-- rustlibs: [
-- "liblazy_static",
-- "liblibc",
-- "liblibm",
-- "liblog_rust",
-- "liboctets",
-- "libring",
-- "libslab",
-- "libsmallvec",
-+rust_library {
-+ name: "libquiche",
-+ defaults: ["libquiche_defaults"],
+- static_libs: [
+ shared_libs: [
-+ "libcrypto",
-+ "libssl",
- ],
-+}
-+
-+// This target is used by doh_unit_test to prevent compatibility issues
-+// because doh_unit_test needs to be run on the R platform.
-+rust_library_rlib {
-+ name: "libquiche_static",
-+ defaults: ["libquiche_defaults"],
- static_libs: [
-- "libcrypto",
-+ "libcrypto_static",
+ "libcrypto",
"libssl",
],
- apex_available: [
- "//apex_available:platform",
- "com.android.resolv",
- ],
-- product_available: true,
-- vendor_available: true,
- min_sdk_version: "29",
- }
-
--rust_test {
-- name: "quiche_test_src_lib",
-- host_supported: true,
-+rust_defaults {
-+ name: "quiche_test_defaults",
- crate_name: "quiche",
- cargo_env_compat: true,
+@@ -198,10 +192,6 @@ rust_library_rlib {
+ cargo_pkg_version: "0.17.1",
srcs: ["src/lib.rs"],
- test_suites: ["general-tests"],
- auto_gen_config: true,
-- test_options: {
-- unit_test: true,
-- },
edition: "2018",
- features: [
- "boringssl-vendored",
-@@ -175,10 +138,6 @@ rust_test {
- "libsmallvec",
- "liburl",
- ],
-- static_libs: [
-- "libcrypto",
-- "libssl",
+- features: [
+- "boringssl-vendored",
+- "default",
- ],
- data: [
- "examples/cert.crt",
- "examples/cert.key",
-@@ -186,3 +145,26 @@ rust_test {
- "examples/rootca.crt",
- ],
- }
-+
-+rust_test_host {
-+ name: "quiche_host_test_src_lib",
-+ defaults: ["quiche_test_defaults"],
-+ test_options: {
-+ unit_test: true,
-+ },
-+ shared_libs: [
-+ "libcrypto",
-+ "libssl",
-+ ],
-+}
-+
-+rust_test {
-+ name: "quiche_device_test_src_lib",
-+ defaults: ["quiche_test_defaults"],
-+ // To run this test in R platform, it's required to statically link
-+ // libcrypto and libssl.
-+ static_libs: [
-+ "libcrypto_static",
-+ "libssl",
-+ ],
-+}
+ rustlibs: [
+ "liblazy_static",
+ "liblibc",
diff --git a/patches/env.diff b/patches/env.diff
deleted file mode 100644
index 39629cf..0000000
--- a/patches/env.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/ffi.rs b/src/ffi.rs
-index 13d98cd..39564dc 100644
---- a/src/ffi.rs
-+++ b/src/ffi.rs
-@@ -42,7 +42,10 @@ use crate::*;
-
- #[no_mangle]
- pub extern fn quiche_version() -> *const u8 {
-- static VERSION: &str = concat!(env!("CARGO_PKG_VERSION"), "\0");
-+ //static VERSION: &str = concat!(env!("CARGO_PKG_VERSION"), "\0");
-+ // ANDROID's build system doesn't support environment variables
-+ // so we hardcode the package version here.
-+ static VERSION: &str = concat!("0.6.0", "\0");
- VERSION.as_ptr()
- }
-