BUILD.gn 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # Copyright 2021 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//testing/libfuzzer/fuzzer_test.gni")
  5. import("//third_party/protobuf/proto_library.gni")
  6. proto_library("proto") {
  7. sources = [ "code/dpf/distributed_point_function.proto" ]
  8. proto_out_dir = "third_party/distributed_point_functions/dpf"
  9. cc_generator_options = "lite"
  10. }
  11. if (!defined(dpf_abseil_cpp_dir)) {
  12. dpf_abseil_cpp_dir = "//third_party/abseil-cpp"
  13. }
  14. config("distributed_point_functions_includes") {
  15. include_dirs = [
  16. ".",
  17. "code",
  18. "$target_gen_dir",
  19. ]
  20. }
  21. source_set("distributed_point_functions") {
  22. sources = [
  23. "code/dpf/aes_128_fixed_key_hash.cc",
  24. "code/dpf/aes_128_fixed_key_hash.h",
  25. "code/dpf/distributed_point_function.cc",
  26. "code/dpf/distributed_point_function.h",
  27. "code/dpf/int_mod_n.cc",
  28. "code/dpf/int_mod_n.h",
  29. "code/dpf/internal/proto_validator.cc",
  30. "code/dpf/internal/proto_validator.h",
  31. "code/dpf/internal/value_type_helpers.cc",
  32. "code/dpf/internal/value_type_helpers.h",
  33. "code/dpf/status_macros.h",
  34. "code/dpf/tuple.h",
  35. "code/dpf/xor_wrapper.h",
  36. "glog/logging.h",
  37. ]
  38. public_deps = [
  39. ":proto",
  40. "$dpf_abseil_cpp_dir:absl",
  41. "//base",
  42. "//third_party/boringssl",
  43. "//third_party/protobuf:protobuf_lite",
  44. ]
  45. # Do not apply Chromium code rules to this third-party code.
  46. configs -= [ "//build/config/compiler:chromium_code" ]
  47. configs += [ "//build/config/compiler:no_chromium_code" ]
  48. public_configs = [ ":distributed_point_functions_includes" ]
  49. }
  50. fuzzer_test("dpf_fuzzer") {
  51. sources = [ "fuzz/dpf_fuzzer.cc" ]
  52. deps = [ ":distributed_point_functions" ]
  53. # Do not apply Chromium code rules to this third-party code.
  54. suppressed_configs = [ "//build/config/compiler:chromium_code" ]
  55. additional_configs = [ "//build/config/compiler:no_chromium_code" ]
  56. }