| // This file is generated by cargo2android.py --config cargo2android.json. |
| // Do not modify this file as changes will be overridden on upgrade. |
| |
| package { |
| default_applicable_licenses: ["external_rust_crates_quiche_license"], |
| } |
| |
| // Added automatically by a large-scale-change that took the approach of |
| // 'apply every license found to every target'. While this makes sure we respect |
| // every license restriction, it may not be entirely correct. |
| // |
| // e.g. GPL in an MIT project might only apply to the contrib/ directory. |
| // |
| // Please consider splitting the single license below into multiple licenses, |
| // taking care not to lose any license_kind information, and overriding the |
| // default license using the 'licenses: [...]' property on targets as needed. |
| // |
| // For unused files, consider creating a 'fileGroup' with "//visibility:private" |
| // to attach the license to, and including a comment whether the files may be |
| // used in the current project. |
| // See: http://go/android-license-faq |
| license { |
| name: "external_rust_crates_quiche_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-BSD", |
| "SPDX-license-identifier-ISC", |
| "SPDX-license-identifier-OpenSSL", |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "COPYING", |
| ], |
| } |
| |
| cc_library_headers { |
| name: "libquiche_ffi_headers", |
| export_include_dirs: ["include"], |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.resolv", |
| ], |
| min_sdk_version: "29", |
| } |
| |
| 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", |
| "default", |
| ], |
| // Link all crates statically to create a self-contained .so library. |
| rlibs: [ |
| "liblazy_static", |
| "liblibc", |
| "liblibm", |
| "liblog_rust", |
| "liboctets", |
| "libring", |
| "libslab", |
| "libsmallvec", |
| ], |
| 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", |
| ], |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.resolv", |
| ], |
| min_sdk_version: "29", |
| } |
| |
| rust_library { |
| name: "libquiche", |
| defaults: ["libquiche_defaults"], |
| 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", |
| ], |
| min_sdk_version: "29", |
| } |
| |
| 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, |
| edition: "2018", |
| features: [ |
| "boringssl-vendored", |
| "default", |
| ], |
| rustlibs: [ |
| "liblazy_static", |
| "liblibc", |
| "liblibm", |
| "liblog_rust", |
| "libmio", |
| "liboctets", |
| "libring", |
| "libslab", |
| "libsmallvec", |
| "liburl", |
| ], |
| data: [ |
| "examples/cert.crt", |
| "examples/cert.key", |
| "examples/cert-big.crt", |
| "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", |
| ], |
| } |