blob: 84273c16beface69669a0f8a3c05a3cc7629c05a [file] [log] [blame]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "external_rust_beto-rust_license"
// to get the below license kinds:
// legacy_unencumbered
// SPDX-license-identifier-Apache-2.0
// SPDX-license-identifier-Unlicense
default_visibility: [":__subpackages__"],
default_applicable_licenses: ["external_rust_beto-rust_license"],
}
rust_library_rlib {
name: "libcrypto_provider",
crate_name: "crypto_provider",
defaults: ["beto_rust_defaults"],
srcs: ["crypto/crypto_provider/src/lib.rs"],
features: [
"std",
"alloc",
"default",
"gcm_siv",
],
rustlibs: [
"libhex",
"librand",
"libtinyvec",
],
}
rust_library_rlib {
name: "libcrypto_provider_stubs",
crate_name: "crypto_provider_stubs",
defaults: ["beto_rust_defaults"],
srcs: ["crypto/crypto_provider_stubs/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
],
}
rust_library_rlib {
name: "libcrypto_provider_default",
crate_name: "crypto_provider_default",
defaults: ["beto_rust_defaults"],
srcs: ["crypto/crypto_provider_default/src/lib.rs"],
features: ["boringssl"],
rustlibs: [
"libcfg_if",
"libcrypto_provider",
"libcrypto_provider_boringssl",
],
}
rust_library_rlib {
name: "libcrypto_provider_boringssl",
crate_name: "crypto_provider_boringssl",
defaults: ["beto_rust_defaults"],
srcs: ["crypto/crypto_provider_boringssl/src/lib.rs"],
rustlibs: [
"libcfg_if",
"libcrypto_provider",
"libcrypto_provider_stubs",
"libbssl_crypto",
"librand",
],
}
rust_ffi_shared {
name: "libukey2_c_ffi_shared",
stem: "libukey2_c_ffi",
crate_name: "ukey2_c_ffi",
defaults: ["beto_rust_defaults"],
srcs: ["connections/ukey2/ukey2_c_ffi/src/lib.rs"],
features: [
"openssl",
"std",
],
rlibs: [
"libcfg_if",
"libcrypto_provider_default",
"liblazy_static",
"liblock_adapter",
"liblog_rust",
"librand",
"librand_chacha",
"libukey2_connections",
"libukey2_rs",
],
}
rust_library_rlib {
name: "libukey2_connections",
crate_name: "ukey2_connections",
defaults: ["beto_rust_defaults"],
srcs: ["connections/ukey2/ukey2_connections/src/lib.rs"],
rustlibs: [
"libbytes",
"libcrypto_provider",
"libnom",
"librand",
"libukey2_proto",
"libukey2_rs",
],
}
rust_ffi_shared {
name: "libukey2_jni_shared",
stem: "libukey2_jni",
crate_name: "ukey2_jni",
defaults: ["beto_rust_defaults"],
srcs: ["connections/ukey2/ukey2_jni/src/lib.rs"],
features: [
"openssl",
"std",
],
// Using rlibs instead of rustlibs here to minimize the size impact on the system image. Since
// most of the transitive dependencies are included only by this project for U, building this
// as a single dylib will be more space-efficient. As more Rust project gets added, this may
// change and it may be better for different projects to share the same dylib, especially for
// common projects like libjni and libprotobuf.
rlibs: [
"libcfg_if",
"libcrypto_provider_default",
"libjni",
"liblazy_static",
"liblock_adapter",
"librand",
"librand_chacha",
"libukey2_connections",
"libukey2_rs",
],
compile_multilib: "first",
visibility: ["//visibility:public"],
}
rust_library_rlib {
name: "libukey2_proto",
crate_name: "ukey2_proto",
defaults: ["beto_rust_defaults"],
srcs: ["connections/ukey2/ukey2_proto/src/lib.rs"],
features: [
"default",
],
rustlibs: [
"libprotobuf",
],
}
rust_library_rlib {
name: "libukey2_rs",
crate_name: "ukey2_rs",
defaults: ["beto_rust_defaults"],
srcs: ["connections/ukey2/ukey2/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
"libnum_bigint",
"liblog_rust",
"librand",
"libukey2_proto",
],
}
java_library_static {
name: "ukey2_jni",
srcs: [
"connections/ukey2/ukey2_jni/java/src/main/**/*.java",
],
host_supported: true,
static_libs: [
"jsr305",
],
visibility: ["//visibility:public"],
required: [
"libukey2_jni_shared",
],
}
rust_library_rlib {
name: "libnp_adv",
crate_name: "np_adv",
defaults: ["beto_rust_defaults"],
srcs: ["presence/np_adv/src/lib.rs"],
rustlibs: [
"libarray_view",
"libldt_np_adv",
"libldt",
"libnp_hkdf",
"libnp_ed25519",
"libxts_aes",
"libcrypto_provider",
"libstrum",
"libnom",
"liblazy_static",
"libsink",
"libtinyvec",
],
proc_macros: [
"libstrum_macros",
],
}
rust_library_rlib {
name: "libarray_view",
crate_name: "array_view",
defaults: ["beto_rust_defaults"],
srcs: ["presence/array_view/src/lib.rs"],
}
rust_library_rlib {
name: "libldt",
crate_name: "ldt",
defaults: ["beto_rust_defaults"],
srcs: ["presence/ldt/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
"libldt_tbc",
],
}
rust_library_rlib {
name: "libldt_tbc",
crate_name: "ldt_tbc",
defaults: ["beto_rust_defaults"],
srcs: ["presence/ldt_tbc/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
],
}
rust_library_rlib {
name: "libldt_np_adv",
crate_name: "ldt_np_adv",
defaults: ["beto_rust_defaults"],
srcs: ["presence/ldt_np_adv/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
"libarray_view",
"libldt",
"libnp_hkdf",
"libxts_aes",
"libldt_tbc",
],
}
rust_library_rlib {
name: "libnp_hkdf",
crate_name: "np_hkdf",
defaults: ["beto_rust_defaults"],
srcs: ["presence/np_hkdf/src/lib.rs"],
rustlibs: [
"libcrypto_provider",
"libldt",
"libxts_aes",
],
}
rust_library_rlib {
name: "libnp_ed25519",
crate_name: "np_ed25519",
defaults: ["beto_rust_defaults"],
srcs: ["presence/np_ed25519/src/lib.rs"],
rustlibs: [
"libarray_view",
"libcrypto_provider",
"libsink",
"libtinyvec",
],
}
rust_library_rlib {
name: "libxts_aes",
crate_name: "xts_aes",
defaults: ["beto_rust_defaults"],
srcs: ["presence/xts_aes/src/lib.rs"],
rustlibs: [
"libarray_ref",
"libcrypto_provider",
"libldt_tbc",
],
}
rust_library_rlib {
name: "libarray_ref",
crate_name: "array_ref",
defaults: ["beto_rust_defaults"],
srcs: ["presence/array_ref/src/lib.rs"],
}
rust_library_rlib {
name: "libsink",
crate_name: "sink",
defaults: ["beto_rust_defaults"],
srcs: ["presence/sink/src/lib.rs"],
rustlibs: [
"libtinyvec",
],
}