--- Android.bp 2020-12-12 01:46:35.080262701 +0900 +++ Android.bp.new 2020-12-12 01:44:35.649397815 +0900 @@ -1,73 +1,37 @@ // This file is generated by cargo2android.py --run --device --dependencies --patch=patches/Android.bp.patch. -rust_library_shared { - name: "libquiche_shared", +rust_ffi { + name: "libquiche_ffi", stem: "libquiche", host_supported: true, crate_name: "quiche", srcs: ["src/lib.rs"], edition: "2018", features: [ - "boringssl-vendored", + "boringssl", "default", ], - rustlibs: [ - "liblazy_static", - "liblibc", - "liblibm", - "liblog_rust", - "libring", - ], - static_libs: [ - "libcrypto", - "libssl", - ], -} -rust_library { - name: "libquiche", - host_supported: true, - crate_name: "quiche", - srcs: ["src/lib.rs"], - edition: "2018", - features: [ - "boringssl-vendored", - "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, + + shared_libs: [ "libcrypto", "libssl", ], -} -rust_library_static { - 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", - ], - static_libs: [ - "libcrypto", - "libssl", + // For DnsResolver (Mainline module introduced in Q). + min_sdk_version: "29", + apex_available: [ + "//apex_available:platform", + "com.android.resolv", ], }