170 lines
3.7 KiB
Diff
170 lines
3.7 KiB
Diff
diff --git a/Android.bp b/Android.bp
|
|
index aced8a6..578cc68 100644
|
|
--- a/Android.bp
|
|
+++ b/Android.bp
|
|
@@ -43,26 +43,39 @@ 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",
|
|
cargo_env_compat: true,
|
|
srcs: ["src/lib.rs"],
|
|
edition: "2018",
|
|
features: [
|
|
- "boringssl-vendored",
|
|
+ "boringssl",
|
|
"default",
|
|
],
|
|
- rustlibs: [
|
|
+ // Link all crates statically to create a self-contained .so library.
|
|
+ rlibs: [
|
|
"liblazy_static",
|
|
"liblibc",
|
|
"liblibm",
|
|
"liblog_rust",
|
|
"libring",
|
|
],
|
|
- static_libs: [
|
|
+ prefer_rlib: true,
|
|
+ // For DnsResolver (Mainline module introduced in Q).
|
|
+ apex_available: [
|
|
+ "//apex_available:platform",
|
|
+ "com.android.resolv",
|
|
+ ],
|
|
+ min_sdk_version: "29",
|
|
+}
|
|
+
|
|
+rust_ffi {
|
|
+ name: "libquiche_ffi",
|
|
+ defaults: ["libquiche_defaults"],
|
|
+ shared_libs: [
|
|
"libcrypto",
|
|
"libssl",
|
|
],
|
|
@@ -69,54 +82,20 @@ rust_ffi_shared {
|
|
|
|
rust_library {
|
|
name: "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",
|
|
- "libring",
|
|
- ],
|
|
- static_libs: [
|
|
+ defaults: ["libquiche_defaults"],
|
|
+ shared_libs: [
|
|
"libcrypto",
|
|
"libssl",
|
|
],
|
|
- apex_available: [
|
|
- "//apex_available:platform",
|
|
- "com.android.resolv",
|
|
- ],
|
|
- min_sdk_version: "29",
|
|
}
|
|
|
|
-rust_ffi_static {
|
|
+// 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",
|
|
- 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",
|
|
- "libring",
|
|
- ],
|
|
+ defaults: ["libquiche_defaults"],
|
|
static_libs: [
|
|
- "libcrypto",
|
|
+ "libcrypto_static",
|
|
"libssl",
|
|
],
|
|
apex_available: [
|
|
@@ -111,17 +90,13 @@ rust_library_rlib {
|
|
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,
|
|
srcs: ["src/lib.rs"],
|
|
test_suites: ["general-tests"],
|
|
auto_gen_config: true,
|
|
- test_options: {
|
|
- unit_test: true,
|
|
- },
|
|
edition: "2018",
|
|
features: [
|
|
"boringssl",
|
|
@@ -136,10 +132,6 @@ rust_test {
|
|
"libring",
|
|
"liburl",
|
|
],
|
|
- static_libs: [
|
|
- "libcrypto",
|
|
- "libssl",
|
|
- ],
|
|
data: [
|
|
"examples/cert.crt",
|
|
"examples/cert.key",
|
|
@@ -149,3 +118,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",
|
|
+ ],
|
|
+}
|