257 lines
6.9 KiB
Plaintext
257 lines
6.9 KiB
Plaintext
package {
|
|
default_visibility: [":__subpackages__"],
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libdiced_open_dice_defaults",
|
|
crate_name: "diced_open_dice",
|
|
srcs: ["src/lib.rs"],
|
|
static_libs: [
|
|
"libopen_dice_cbor",
|
|
],
|
|
vendor_available: true,
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.virt",
|
|
],
|
|
}
|
|
|
|
rust_library_rlib {
|
|
name: "libdiced_open_dice_nostd",
|
|
defaults: ["libdiced_open_dice_defaults"],
|
|
rustlibs: [
|
|
"libopen_dice_bcc_bindgen_nostd",
|
|
"libopen_dice_cbor_bindgen_nostd",
|
|
"libzeroize_nostd",
|
|
],
|
|
whole_static_libs: [
|
|
"libopen_dice_cbor",
|
|
"libcrypto_baremetal",
|
|
],
|
|
visibility: [
|
|
"//packages/modules/Virtualization:__subpackages__",
|
|
],
|
|
}
|
|
|
|
rust_library {
|
|
name: "libdiced_open_dice",
|
|
defaults: ["libdiced_open_dice_defaults"],
|
|
rustlibs: [
|
|
"libopen_dice_bcc_bindgen",
|
|
"libopen_dice_cbor_bindgen",
|
|
"libzeroize",
|
|
],
|
|
features: [
|
|
"std",
|
|
],
|
|
shared_libs: [
|
|
"libcrypto",
|
|
],
|
|
whole_static_libs: [
|
|
"libopen_dice_bcc",
|
|
],
|
|
visibility: [
|
|
"//system/security/diced:__subpackages__",
|
|
"//packages/modules/Virtualization:__subpackages__",
|
|
"//hardware/interfaces/security/dice/aidl:__subpackages__",
|
|
],
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libdiced_open_dice_test_defaults",
|
|
crate_name: "diced_open_dice_test",
|
|
srcs: ["tests/*.rs"],
|
|
test_suites: ["general-tests"],
|
|
}
|
|
|
|
rust_test {
|
|
name: "libdiced_open_dice.integration_test",
|
|
defaults: ["libdiced_open_dice_test_defaults"],
|
|
rustlibs: [
|
|
"libdiced_open_dice",
|
|
],
|
|
}
|
|
|
|
rust_test {
|
|
name: "libdiced_open_dice_nostd.integration_test",
|
|
defaults: ["libdiced_open_dice_test_defaults"],
|
|
rustlibs: [
|
|
"libdiced_open_dice_nostd",
|
|
],
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libopen_dice_bindgen_nostd.rust_defaults",
|
|
bindgen_flags: [
|
|
"--use-core",
|
|
"--ctypes-prefix=core::ffi",
|
|
"--raw-line=#![no_std]",
|
|
],
|
|
no_stdlibs: true,
|
|
prefer_rlib: true,
|
|
stdlibs: [
|
|
"libcore.rust_sysroot",
|
|
"libcompiler_builtins.rust_sysroot",
|
|
],
|
|
target: {
|
|
musl: {
|
|
enabled: false,
|
|
},
|
|
glibc: {
|
|
enabled: false,
|
|
},
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libopen_dice.rust_defaults",
|
|
host_supported: true,
|
|
vendor_available: true,
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.compos",
|
|
"com.android.virt",
|
|
],
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libopen_dice_cbor_bindgen.rust_defaults",
|
|
defaults: ["libopen_dice.rust_defaults"],
|
|
wrapper_src: "bindgen/dice.h",
|
|
crate_name: "open_dice_cbor_bindgen",
|
|
source_stem: "bindings",
|
|
bindgen_flags: [
|
|
"--size_t-is-usize",
|
|
"--rustified-enum DiceConfigType",
|
|
"--rustified-enum DiceMode",
|
|
"--rustified-enum DiceResult",
|
|
|
|
// By generating only essential functions, we can make bindings concise and
|
|
// optimize compilation time.
|
|
"--allowlist-function=DiceDeriveCdiPrivateKeySeed",
|
|
"--allowlist-function=DiceDeriveCdiCertificateId",
|
|
"--allowlist-function=DiceMainFlow",
|
|
"--allowlist-function=DiceHash",
|
|
"--allowlist-function=DiceKdf",
|
|
"--allowlist-function=DiceKeypairFromSeed",
|
|
"--allowlist-function=DiceSign",
|
|
"--allowlist-function=DiceVerify",
|
|
"--allowlist-function=DiceGenerateCertificate",
|
|
|
|
// We also need some constants in addition to the functions.
|
|
"--allowlist-var=DICE_CDI_SIZE",
|
|
"--allowlist-var=DICE_HASH_SIZE",
|
|
"--allowlist-var=DICE_HIDDEN_SIZE",
|
|
"--allowlist-var=DICE_INLINE_CONFIG_SIZE",
|
|
"--allowlist-var=DICE_PRIVATE_KEY_SEED_SIZE",
|
|
"--allowlist-var=DICE_ID_SIZE",
|
|
"--allowlist-var=DICE_PUBLIC_KEY_SIZE",
|
|
"--allowlist-var=DICE_PRIVATE_KEY_SIZE",
|
|
"--allowlist-var=DICE_SIGNATURE_SIZE",
|
|
],
|
|
}
|
|
|
|
rust_bindgen {
|
|
name: "libopen_dice_cbor_bindgen",
|
|
defaults: ["libopen_dice_cbor_bindgen.rust_defaults"],
|
|
whole_static_libs: ["libopen_dice_cbor"],
|
|
}
|
|
|
|
rust_bindgen {
|
|
name: "libopen_dice_cbor_bindgen_nostd",
|
|
defaults: [
|
|
"libopen_dice_cbor_bindgen.rust_defaults",
|
|
"libopen_dice_bindgen_nostd.rust_defaults",
|
|
],
|
|
whole_static_libs: ["libopen_dice_cbor_baremetal"],
|
|
}
|
|
|
|
rust_defaults {
|
|
name: "libopen_dice_bcc_bindgen.rust_defaults",
|
|
defaults: ["libopen_dice.rust_defaults"],
|
|
wrapper_src: "bindgen/android/bcc.h",
|
|
crate_name: "open_dice_bcc_bindgen",
|
|
source_stem: "bindings",
|
|
bindgen_flags: [
|
|
"--size_t-is-usize",
|
|
|
|
// By generating only essential functions, we can make bindings concise and
|
|
// optimize compilation time.
|
|
"--allowlist-function=BccFormatConfigDescriptor",
|
|
"--allowlist-function=BccMainFlow",
|
|
"--allowlist-function=BccHandoverMainFlow",
|
|
"--allowlist-function=BccHandoverParse",
|
|
|
|
// We also need some constants in addition to the functions.
|
|
"--allowlist-var=BCC_INPUT_COMPONENT_NAME",
|
|
"--allowlist-var=BCC_INPUT_COMPONENT_VERSION",
|
|
"--allowlist-var=BCC_INPUT_RESETTABLE",
|
|
|
|
// Prevent DiceInputValues from being generated a second time and
|
|
// import it instead from open_dice_cbor_bindgen.
|
|
"--blocklist-type=DiceInputValues_",
|
|
"--blocklist-type=DiceInputValues",
|
|
"--raw-line",
|
|
"pub use open_dice_cbor_bindgen::DiceInputValues;",
|
|
|
|
// Prevent DiceResult from being generated a second time and
|
|
// import it instead from open_dice_cbor_bindgen.
|
|
"--blocklist-type=DiceResult",
|
|
"--raw-line",
|
|
"pub use open_dice_cbor_bindgen::DiceResult;",
|
|
],
|
|
|
|
}
|
|
|
|
rust_bindgen {
|
|
name: "libopen_dice_bcc_bindgen",
|
|
defaults: ["libopen_dice_bcc_bindgen.rust_defaults"],
|
|
rustlibs: [
|
|
"libopen_dice_cbor_bindgen",
|
|
],
|
|
whole_static_libs: ["libopen_dice_bcc"],
|
|
}
|
|
|
|
rust_bindgen {
|
|
name: "libopen_dice_bcc_bindgen_nostd",
|
|
defaults: [
|
|
"libopen_dice_bcc_bindgen.rust_defaults",
|
|
"libopen_dice_bindgen_nostd.rust_defaults",
|
|
],
|
|
rustlibs: [
|
|
"libopen_dice_cbor_bindgen_nostd",
|
|
],
|
|
whole_static_libs: ["libopen_dice_bcc_baremetal"],
|
|
}
|
|
|
|
rust_test {
|
|
name: "libopen_dice_cbor_bindgen_test",
|
|
srcs: [
|
|
":libopen_dice_cbor_bindgen",
|
|
],
|
|
crate_name: "open_dice_cbor_bindgen_test",
|
|
test_suites: ["general-tests"],
|
|
auto_gen_config: true,
|
|
clippy_lints: "none",
|
|
lints: "none",
|
|
}
|
|
|
|
rust_test {
|
|
name: "libopen_dice_bcc_bindgen_test",
|
|
srcs: [
|
|
":libopen_dice_bcc_bindgen",
|
|
],
|
|
crate_name: "open_dice_bcc_bindgen_test",
|
|
rustlibs: [
|
|
"libopen_dice_cbor_bindgen",
|
|
],
|
|
test_suites: ["general-tests"],
|
|
auto_gen_config: true,
|
|
clippy_lints: "none",
|
|
lints: "none",
|
|
}
|