| config("library_impl_config") { |
| # Build targets that contain private-join-and-compute implementation need this |
| # macro to be defined in order to correctly export symbols when is_component_build |
| # is true. |
| # For more info see: base/private_join_and_compute_export.h. |
| defines = [ "IS_PRIVATE_COMPUTE_LIBRARY_IMPL" ] |
| } |
| |
| config("private_join_and_compute_config") { |
| include_dirs = [ "//third_party/boringssl/src/include" ] |
| defines = [] |
| if (is_win) { |
| defines += [ "PRIVATE_COMPUTE_WIN" ] |
| } |
| if (is_component_build) { |
| defines += [ |
| # Build targets inside private-join-and-compute will need this macro to |
| # be defined in order to correctly export symbols when is_component_build |
| # is true. |
| # For more info see: base/private_join_and_compute_export.h. |
| "PRIVATE_COMPUTE_ENABLE_SYMBOL_EXPORT", |
| ] |
| } |
| } |
| |
| component("ec_commutative_cipher") { |
| public = [ |
| "//third_party/private-join-and-compute/base/private_join_and_compute_export.h", |
| "crypto/big_num.h", |
| "crypto/context.h", |
| "crypto/ec_commutative_cipher.h", |
| "crypto/ec_group.h", |
| "crypto/ec_point.h", |
| "crypto/elgamal.h", |
| ] |
| sources = [ |
| "chromium_patch.h", |
| "crypto/big_num.cc", |
| "crypto/context.cc", |
| "crypto/ec_commutative_cipher.cc", |
| "crypto/ec_group.cc", |
| "crypto/ec_point.cc", |
| "crypto/elgamal.cc", |
| "crypto/openssl.inc", |
| "util/canonical_errors.cc", |
| "util/canonical_errors.h", |
| "util/status.h", |
| "util/status.inc", |
| "util/status_macros.h", |
| "util/statusor.h", |
| ] |
| deps = [ |
| "//base", |
| "//third_party/boringssl", |
| ] |
| public_deps = [ "//third_party/abseil-cpp:absl" ] |
| |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| ":library_impl_config", |
| ] |
| |
| public_configs = [ ":private_join_and_compute_config" ] |
| } |