BUILD.gn (4501B)
1 # Copyright 2018 The Chromium Authors 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//third_party/abseil-cpp/absl.gni") 6 7 absl_source_set("random") { 8 public = [ "random.h" ] 9 deps = [ 10 ":distributions", 11 ":seed_sequences", 12 "//third_party/abseil-cpp/absl/base:config", 13 "//third_party/abseil-cpp/absl/random/internal:nonsecure_base", 14 "//third_party/abseil-cpp/absl/random/internal:pcg_engine", 15 "//third_party/abseil-cpp/absl/random/internal:randen_engine", 16 ] 17 } 18 19 absl_source_set("distributions") { 20 public = [ 21 "bernoulli_distribution.h", 22 "beta_distribution.h", 23 "discrete_distribution.h", 24 "distributions.h", 25 "exponential_distribution.h", 26 "gaussian_distribution.h", 27 "log_uniform_int_distribution.h", 28 "poisson_distribution.h", 29 "uniform_int_distribution.h", 30 "uniform_real_distribution.h", 31 "zipf_distribution.h", 32 ] 33 sources = [ 34 "discrete_distribution.cc", 35 "gaussian_distribution.cc", 36 ] 37 deps = [ 38 "//third_party/abseil-cpp/absl/base:base_internal", 39 "//third_party/abseil-cpp/absl/base:config", 40 "//third_party/abseil-cpp/absl/base:core_headers", 41 "//third_party/abseil-cpp/absl/meta:type_traits", 42 "//third_party/abseil-cpp/absl/random/internal:distribution_caller", 43 "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", 44 "//third_party/abseil-cpp/absl/random/internal:fastmath", 45 "//third_party/abseil-cpp/absl/random/internal:generate_real", 46 "//third_party/abseil-cpp/absl/random/internal:iostream_state_saver", 47 "//third_party/abseil-cpp/absl/random/internal:traits", 48 "//third_party/abseil-cpp/absl/random/internal:uniform_helper", 49 "//third_party/abseil-cpp/absl/random/internal:wide_multiply", 50 "//third_party/abseil-cpp/absl/strings", 51 ] 52 } 53 54 absl_source_set("seed_gen_exception") { 55 public = [ "seed_gen_exception.h" ] 56 sources = [ "seed_gen_exception.cc" ] 57 deps = [ 58 "//third_party/abseil-cpp/absl/base:config", 59 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 60 ] 61 } 62 63 absl_source_set("seed_sequences") { 64 public = [ "seed_sequences.h" ] 65 sources = [ "seed_sequences.cc" ] 66 deps = [ 67 ":seed_gen_exception", 68 "//third_party/abseil-cpp/absl/base:config", 69 "//third_party/abseil-cpp/absl/base:nullability", 70 "//third_party/abseil-cpp/absl/random/internal:entropy_pool", 71 "//third_party/abseil-cpp/absl/random/internal:salted_seed_seq", 72 "//third_party/abseil-cpp/absl/random/internal:seed_material", 73 "//third_party/abseil-cpp/absl/strings:string_view", 74 "//third_party/abseil-cpp/absl/types:span", 75 ] 76 } 77 78 absl_source_set("bit_gen_ref") { 79 public = [ "bit_gen_ref.h" ] 80 deps = [ 81 ":random", 82 "//third_party/abseil-cpp/absl/base:config", 83 "//third_party/abseil-cpp/absl/base:core_headers", 84 "//third_party/abseil-cpp/absl/base:fast_type_id", 85 "//third_party/abseil-cpp/absl/meta:type_traits", 86 "//third_party/abseil-cpp/absl/random/internal:distribution_caller", 87 "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", 88 ] 89 } 90 91 absl_source_set("mock_distributions") { 92 testonly = true 93 public = [ "mock_distributions.h" ] 94 deps = [ 95 ":distributions", 96 ":mocking_bit_gen", 97 "//third_party/abseil-cpp/absl/base:config", 98 "//third_party/abseil-cpp/absl/random/internal:mock_overload_set", 99 "//third_party/abseil-cpp/absl/random/internal:mock_validators", 100 ] 101 } 102 103 absl_source_set("mocking_bit_gen") { 104 testonly = true 105 public = [ "mocking_bit_gen.h" ] 106 deps = [ 107 ":random", 108 "//third_party/abseil-cpp/absl/base:config", 109 "//third_party/abseil-cpp/absl/base:fast_type_id", 110 "//third_party/abseil-cpp/absl/container:flat_hash_map", 111 "//third_party/abseil-cpp/absl/meta:type_traits", 112 "//third_party/abseil-cpp/absl/random/internal:mock_helpers", 113 "//third_party/abseil-cpp/absl/utility", 114 "//third_party/googletest:gtest", 115 ] 116 } 117 118 absl_test("distributions_test") { 119 sources = [ "distributions_test.cc" ] 120 deps = [ 121 ":distributions", 122 ":random", 123 "//third_party/abseil-cpp/absl/meta:type_traits", 124 "//third_party/abseil-cpp/absl/numeric:int128", 125 "//third_party/abseil-cpp/absl/random/internal:distribution_test_util", 126 ] 127 } 128 129 absl_test("mock_distributions_test") { 130 sources = [ "mock_distributions_test.cc" ] 131 deps = [ 132 ":distributions", 133 ":mock_distributions", 134 ":mocking_bit_gen", 135 ":random", 136 "//third_party/abseil-cpp/absl/numeric:int128", 137 ] 138 }