You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
3.4 KiB
157 lines
3.4 KiB
diff --git a/Android.bp b/Android.bp
|
|
index aced8a6..578cc68 100644
|
|
--- a/Android.bp
|
|
+++ b/Android.bp
|
|
@@ -43,25 +43,38 @@ 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",
|
|
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,52 +82,20 @@ rust_ffi_shared {
|
|
|
|
rust_library {
|
|
name: "libquiche",
|
|
- host_supported: true,
|
|
- crate_name: "quiche",
|
|
- 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",
|
|
- 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",
|
|
],
|
|
}
|
|
@@ -127,7 +108,7 @@ rust_defaults {
|
|
auto_gen_config: true,
|
|
edition: "2018",
|
|
features: [
|
|
- "boringssl-vendored",
|
|
+ "boringssl",
|
|
"default",
|
|
],
|
|
rustlibs: [
|
|
@@ -139,10 +120,12 @@ rust_defaults {
|
|
"libring",
|
|
"liburl",
|
|
],
|
|
- static_libs: [
|
|
- "libcrypto",
|
|
- "libssl",
|
|
- ],
|
|
+ data: [
|
|
+ "examples/cert.crt",
|
|
+ "examples/cert.key",
|
|
+ "examples/cert-big.crt",
|
|
+ "examples/rootca.crt",
|
|
+ ]
|
|
}
|
|
|
|
rust_test_host {
|
|
@@ -151,11 +134,21 @@ rust_test_host {
|
|
test_options: {
|
|
unit_test: true,
|
|
},
|
|
+ shared_libs: [
|
|
+ "libcrypto",
|
|
+ "libssl",
|
|
+ ],
|
|
}
|
|
|
|
rust_test {
|
|
name: "quiche_device_test_src_lib",
|
|
defaults: ["quiche_defaults"],
|
|
+ // To run this test in R platform, it's required to statically link
|
|
+ // libcrypto and libssl.
|
|
+ static_libs: [
|
|
+ "libcrypto_static",
|
|
+ "libssl",
|
|
+ ],
|
|
}
|
|
|
|
// dependent_library ["feature_list"]
|