package { default_visibility: ["//visibility:private"], default_applicable_licenses: ["libpjc_license"], } license { name: "libpjc_license", visibility: [":__subpackages__"], license_kinds: ["SPDX-license-identifier-Apache-2.0"], license_text: ["LICENSE"], } cc_defaults { name: "libpjc_defaults", host_supported: true, } filegroup { name: "private-join-and-compute-proto", srcs: [ "**/*.proto", ], visibility: ["//packages/modules/AdServices:__subpackages__"], } cc_library { name: "libpjc_crypto", min_sdk_version: "30", sdk_version: "current", stl: "libc++_static", visibility: [ "//external/anonymous-counting-tokens:__subpackages__", "//packages/modules/AdServices/adservices/service-core", ], defaults: ["libpjc_defaults"], srcs: [ "private_join_and_compute/crypto/big_num.cc", "private_join_and_compute/crypto/camenisch_shoup.cc", "private_join_and_compute/crypto/commutative_elgamal.cc", "private_join_and_compute/crypto/context.cc", "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature.cc", "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature.proto", "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function.cc", "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function.proto", "private_join_and_compute/crypto/ec_commutative_cipher.cc", "private_join_and_compute/crypto/ec_group.cc", "private_join_and_compute/crypto/ec_key.proto", "private_join_and_compute/crypto/ec_point.cc", "private_join_and_compute/crypto/ec_point_util.cc", "private_join_and_compute/crypto/elgamal.cc", "private_join_and_compute/crypto/elgamal.proto", "private_join_and_compute/crypto/fixed_base_exp.cc", "private_join_and_compute/crypto/mont_mul.cc", "private_join_and_compute/crypto/openssl_init.cc", "private_join_and_compute/crypto/paillier.cc", "private_join_and_compute/crypto/paillier.proto", "private_join_and_compute/crypto/pedersen_over_zn.cc", "private_join_and_compute/crypto/proto/big_num.proto", "private_join_and_compute/crypto/proto/camenisch_shoup.proto", "private_join_and_compute/crypto/proto/ec_point.proto", "private_join_and_compute/crypto/proto/pedersen.proto", "private_join_and_compute/crypto/proto/proto_util.cc", "private_join_and_compute/crypto/shanks_discrete_log.cc", "private_join_and_compute/crypto/simultaneous_fixed_bases_exp.cc", "private_join_and_compute/crypto/two_modulus_crt.cc", ], export_include_dirs: [ "private_join_and_compute/crypto/", ".", ], include_dirs: [ "external/protobuf", ], shared_libs: [ "libcrypto", "liblog", ], static_libs: [ "libabsl", ], cflags: ["-Wno-unused-parameter"], proto: { type: "lite", export_proto_headers: true, local_include_dirs: [ ".", ], include_dirs: [ "external/protobuf", ], }, sanitize: { integer_overflow: true, misc_undefined: ["bounds"], }, apex_available: [ "com.android.adservices", "com.android.extservices", ], target: { host: { static_libs: [ "libprotobuf-cpp-lite", ], }, android: { static_libs: [ "libprotobuf-cpp-lite-ndk", ], }, }, } cc_test { name: "libpjc_crypto_test", defaults: ["libpjc_defaults"], srcs: [ "private_join_and_compute/crypto/proto/proto_util_test.cc", "private_join_and_compute/crypto/dodis_yampolskiy_prf/dy_verifiable_random_function_test.cc", "private_join_and_compute/crypto/camenisch_shoup_test.cc", "private_join_and_compute/crypto/pedersen_over_zn_test.cc", "private_join_and_compute/crypto/simultaneous_fixed_bases_exp_test.cc", ], shared_libs: [ "libcrypto", "liblog", "libpjc_crypto", ], static_libs: [ "libgmock", "libabsl", ], include_dirs: [ "external/protobuf", ], test_suites: ["general-tests"], target: { host: { static_libs: [ "libprotobuf-cpp-lite", ], }, android: { static_libs: [ "libprotobuf-cpp-lite-ndk", ], }, }, } /* This test takes longer than the bazel timeout atest uses, and there is no option to override (see b/222233444). cc_test { name: "libpjc_crypto_bb_oblivious_signature_test", defaults: ["libpjc_defaults"], srcs: [ "private_join_and_compute/crypto/dodis_yampolskiy_prf/bb_oblivious_signature_test.cc", ], shared_libs: [ "libcrypto", "liblog", "libpjc_crypto", ], static_libs: [ "libgmock", "libabsl", ], target: { host: { static_libs: [ "libprotobuf-cpp-lite", ], }, android: { static_libs: [ "libprotobuf-cpp-lite-ndk", ], }, }, } */