diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-29 00:15:26 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-11-29 00:15:26 +0000 |
commit | 8f06247d74cebb00e207ec26ee193d6ff96c301d (patch) | |
tree | bc64d4c75db405eb089b3315d8e5fa9879414bff | |
parent | 905bdecdd5bf705f9de845c3cfe944f57ccfa2a8 (diff) | |
parent | ef21bd2a9b784a5e717b5d92b205917b5e9226f5 (diff) | |
download | quiche-android14-qpr2-s1-release.tar.gz |
Snap for 11151698 from ef21bd2a9b784a5e717b5d92b205917b5e9226f5 to 24Q1-releaseandroid-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29android14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-release
Change-Id: I5a8eae110a29785a145a5f3f85bca307785500ad
-rw-r--r-- | Android.bp | 140 | ||||
-rw-r--r-- | cargo2android.json | 19 | ||||
-rw-r--r-- | cargo_embargo.json | 78 | ||||
-rw-r--r-- | patches/Android.bp.patch | 194 | ||||
-rw-r--r-- | patches/env.diff | 16 |
5 files changed, 213 insertions, 234 deletions
@@ -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() - } - |