package { default_applicable_licenses: ["external_open_dice_license"], } license { name: "external_open_dice_license", visibility: [":__subpackages__"], license_kinds: ["SPDX-license-identifier-Apache-2.0"], license_text: ["LICENSE"], } cc_defaults { name: "libopen_dice.cc_defaults", defaults_visibility: ["//visibility:private"], host_supported: true, vendor_available: true, apex_available: [ "//apex_available:platform", "com.android.compos", "com.android.virt", ], } cc_library_headers { name: "libopen_dice_headers", defaults: ["libopen_dice.cc_defaults"], export_include_dirs: ["include"], } cc_library_headers { name: "libopen_dice_boringssl_ed25519_headers", defaults: ["libopen_dice.cc_defaults"], export_include_dirs: ["include/dice/config/boringssl_ed25519"], } cc_library_headers { name: "libopen_dice_boringssl_ecdsa_p384_headers", defaults: ["libopen_dice.cc_defaults"], export_include_dirs: ["include/dice/config/boringssl_ecdsa_p384"], } cc_defaults { name: "libopen_dice_cbor.cc_defaults", defaults: ["libopen_dice.cc_defaults"], srcs: [ "src/boringssl_hash_kdf_ops.c", "src/boringssl_ed25519_ops.c", "src/cbor_cert_op.c", "src/cbor_ed25519_cert_op.c", "src/cbor_writer.c", "src/dice.c", "src/utils.c", ], header_libs: [ "libopen_dice_boringssl_ed25519_headers", "libopen_dice_headers", ], export_header_lib_headers: [ "libopen_dice_boringssl_ed25519_headers", "libopen_dice_headers", ], } cc_library { name: "libopen_dice_cbor", defaults: ["libopen_dice_cbor.cc_defaults"], srcs: [ "src/clear_memory.c", ], shared_libs: ["libcrypto"], } cc_library_static { name: "libopen_dice_cbor_p384", defaults: ["libopen_dice.cc_defaults"], srcs: [ "src/boringssl_hash_kdf_ops.c", "src/boringssl_ecdsa_utils.c", "src/boringssl_p384_ops.c", "src/cbor_cert_op.c", "src/cbor_p384_cert_op.c", "src/cbor_writer.c", "src/clear_memory.c", "src/dice.c", "src/utils.c", ], header_libs: [ "libopen_dice_boringssl_ecdsa_p384_headers", "libopen_dice_headers", ], export_header_lib_headers: [ "libopen_dice_boringssl_ecdsa_p384_headers", "libopen_dice_headers", ], shared_libs: ["libcrypto"], } // Version of the library missing DiceClearMemory, for baremetal client code. cc_library_static { name: "libopen_dice_cbor_baremetal", defaults: ["libopen_dice_cbor.cc_defaults"], allow_undefined_symbols: true, static_libs: ["libcrypto_baremetal"], } cc_defaults { name: "libopen_dice_bcc.cc_defaults", defaults: ["libopen_dice.cc_defaults"], srcs: [ "src/cbor_reader.c", "src/android/bcc.c", ], } cc_library { name: "libopen_dice_bcc", defaults: ["libopen_dice_bcc.cc_defaults"], export_shared_lib_headers: ["libopen_dice_cbor"], shared_libs: [ "libcrypto", "libopen_dice_cbor", ], } cc_library_static { name: "libopen_dice_bcc_baremetal", defaults: ["libopen_dice_bcc.cc_defaults"], export_static_lib_headers: ["libopen_dice_cbor_baremetal"], static_libs: [ "libcrypto_baremetal", "libopen_dice_cbor_baremetal", ], } cc_library_static { name: "libopen_dice_bcc_p384", defaults: ["libopen_dice.cc_defaults"], srcs: [ "src/cbor_reader.c", "src/android/bcc.c", ], static_libs: ["libopen_dice_cbor_p384"], export_static_lib_headers: ["libopen_dice_cbor_p384"], shared_libs: ["libcrypto"], } cc_test { name: "libopen_dice_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: [ "src/clear_memory.c", "src/dice_test.cc", "src/dice.c", "src/utils.c", ], header_libs: [ "libopen_dice_boringssl_ed25519_headers", "libopen_dice_headers", ], shared_libs: ["libcrypto"], } cc_test { name: "libopen_dice_p384_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: [ "src/clear_memory.c", "src/dice_test.cc", "src/dice.c", "src/utils.c", ], header_libs: [ "libopen_dice_boringssl_ecdsa_p384_headers", "libopen_dice_headers", ], shared_libs: ["libcrypto"], } cc_test { name: "libopen_dice_cbor_writer_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: ["src/cbor_writer_test.cc"], static_libs: ["libopen_dice_cbor"], } cc_test { name: "libopen_dice_cbor_writer_p384_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: ["src/cbor_writer_test.cc"], static_libs: ["libopen_dice_cbor_p384"], } cc_test { name: "libopen_dice_cbor_reader_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: ["src/cbor_reader_test.cc"], static_libs: ["libopen_dice_bcc"], } cc_test { name: "libopen_dice_cbor_reader_p384_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: ["src/cbor_reader_test.cc"], static_libs: ["libopen_dice_bcc_p384"], } cc_test { name: "libopen_dice_bcc_test", host_supported: true, cflags: ["-DDICE_USE_GTEST"], srcs: ["src/android/bcc_test.cc"], static_libs: [ "libopen_dice_bcc", "libopen_dice_cbor", ], shared_libs: ["libcrypto"], } // TODO: cbor_cert_op_test after resolving COSE dependency cc_fuzz { name: "libopen_dice_cbor_writer_fuzzer", host_supported: true, srcs: ["src/cbor_writer_fuzzer.cc"], static_libs: ["libopen_dice_cbor"], } cc_fuzz { name: "libopen_dice_cbor_writer_p384_fuzzer", host_supported: true, srcs: ["src/cbor_writer_fuzzer.cc"], static_libs: ["libopen_dice_cbor_p384"], } cc_fuzz { name: "libopen_dice_cbor_reader_fuzzer", host_supported: true, srcs: ["src/cbor_reader_fuzzer.cc"], static_libs: ["libopen_dice_bcc"], } cc_fuzz { name: "libopen_dice_cbor_reader_p384_fuzzer", host_supported: true, srcs: ["src/cbor_reader_fuzzer.cc"], static_libs: ["libopen_dice_bcc_p384"], } cc_fuzz { name: "libopen_dice_cbor_fuzzer", host_supported: true, srcs: ["src/fuzzer.cc"], static_libs: ["libopen_dice_cbor"], shared_libs: ["libcrypto"], } cc_fuzz { name: "libopen_dice_cbor_p384_fuzzer", host_supported: true, srcs: ["src/fuzzer.cc"], static_libs: ["libopen_dice_cbor_p384"], shared_libs: ["libcrypto"], } cc_fuzz { name: "libopen_dice_bcc_fuzzer", host_supported: true, srcs: ["src/android/bcc_fuzzer.cc"], static_libs: [ "libopen_dice_bcc", "libopen_dice_cbor", ], shared_libs: ["libcrypto"], } cc_fuzz { name: "libopen_dice_bcc_p384_fuzzer", host_supported: true, srcs: ["src/android/bcc_fuzzer.cc"], static_libs: [ "libopen_dice_bcc_p384", "libopen_dice_cbor_p384", ], shared_libs: ["libcrypto"], }