BUILD.gn (9690B)
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("traits") { 8 public = [ "traits.h" ] 9 deps = [ 10 "//third_party/abseil-cpp/absl/base:config", 11 "//third_party/abseil-cpp/absl/numeric:bits", 12 "//third_party/abseil-cpp/absl/numeric:int128", 13 ] 14 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 15 } 16 17 absl_source_set("distribution_caller") { 18 public = [ "distribution_caller.h" ] 19 deps = [ 20 "//third_party/abseil-cpp/absl/base:config", 21 "//third_party/abseil-cpp/absl/base:fast_type_id", 22 "//third_party/abseil-cpp/absl/meta:type_traits", 23 "//third_party/abseil-cpp/absl/utility", 24 ] 25 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 26 } 27 28 absl_source_set("fast_uniform_bits") { 29 public = [ "fast_uniform_bits.h" ] 30 deps = [ 31 ":traits", 32 "//third_party/abseil-cpp/absl/base:config", 33 "//third_party/abseil-cpp/absl/meta:type_traits", 34 ] 35 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 36 } 37 38 absl_source_set("seed_material") { 39 public = [ "seed_material.h" ] 40 sources = [ "seed_material.cc" ] 41 if (is_win) { 42 # TODO(mbonadei): In the bazel file this is -DEFAULTLIB:bcrypt.lib. 43 libs = [ "bcrypt.lib" ] 44 } 45 deps = [ 46 ":fast_uniform_bits", 47 "//third_party/abseil-cpp/absl/base:config", 48 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 49 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 50 "//third_party/abseil-cpp/absl/strings", 51 "//third_party/abseil-cpp/absl/strings:string_view", 52 "//third_party/abseil-cpp/absl/types:optional", 53 "//third_party/abseil-cpp/absl/types:span", 54 ] 55 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 56 } 57 58 absl_source_set("entropy_pool") { 59 public = [ "entropy_pool.h" ] 60 sources = [ "entropy_pool.cc" ] 61 deps = [ 62 ":platform", 63 ":randen", 64 ":seed_material", 65 "//third_party/abseil-cpp/absl/base", 66 "//third_party/abseil-cpp/absl/base:config", 67 "//third_party/abseil-cpp/absl/base:core_headers", 68 "//third_party/abseil-cpp/absl/random:seed_gen_exception", 69 "//third_party/abseil-cpp/absl/types:span", 70 ] 71 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 72 } 73 74 absl_source_set("explicit_seed_seq") { 75 testonly = true 76 public = [ "explicit_seed_seq.h" ] 77 deps = [ 78 "//third_party/abseil-cpp/absl/base:config", 79 "//third_party/abseil-cpp/absl/base:endian", 80 ] 81 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 82 } 83 84 absl_source_set("sequence_urbg") { 85 testonly = true 86 public = [ "sequence_urbg.h" ] 87 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 88 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 89 } 90 91 absl_source_set("salted_seed_seq") { 92 public = [ "salted_seed_seq.h" ] 93 deps = [ 94 ":seed_material", 95 "//third_party/abseil-cpp/absl/container:inlined_vector", 96 "//third_party/abseil-cpp/absl/meta:type_traits", 97 "//third_party/abseil-cpp/absl/types:optional", 98 "//third_party/abseil-cpp/absl/types:span", 99 ] 100 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 101 } 102 103 absl_source_set("iostream_state_saver") { 104 public = [ "iostream_state_saver.h" ] 105 deps = [ 106 "//third_party/abseil-cpp/absl/base:config", 107 "//third_party/abseil-cpp/absl/meta:type_traits", 108 "//third_party/abseil-cpp/absl/numeric:int128", 109 ] 110 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 111 } 112 113 absl_source_set("generate_real") { 114 public = [ "generate_real.h" ] 115 deps = [ 116 ":fastmath", 117 ":traits", 118 "//third_party/abseil-cpp/absl/meta:type_traits", 119 "//third_party/abseil-cpp/absl/numeric:bits", 120 ] 121 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 122 } 123 124 absl_source_set("fastmath") { 125 public = [ "fastmath.h" ] 126 deps = [ "//third_party/abseil-cpp/absl/numeric:bits" ] 127 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 128 } 129 130 absl_source_set("wide_multiply") { 131 public = [ "wide_multiply.h" ] 132 deps = [ 133 ":traits", 134 "//third_party/abseil-cpp/absl/base:config", 135 "//third_party/abseil-cpp/absl/numeric:bits", 136 "//third_party/abseil-cpp/absl/numeric:int128", 137 ] 138 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 139 } 140 141 absl_source_set("nonsecure_base") { 142 public = [ "nonsecure_base.h" ] 143 deps = [ 144 ":entropy_pool", 145 ":salted_seed_seq", 146 ":seed_material", 147 "//third_party/abseil-cpp/absl/base:config", 148 "//third_party/abseil-cpp/absl/container:inlined_vector", 149 "//third_party/abseil-cpp/absl/meta:type_traits", 150 ] 151 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 152 } 153 154 absl_source_set("pcg_engine") { 155 public = [ "pcg_engine.h" ] 156 deps = [ 157 ":fastmath", 158 ":iostream_state_saver", 159 "//third_party/abseil-cpp/absl/base:config", 160 "//third_party/abseil-cpp/absl/meta:type_traits", 161 "//third_party/abseil-cpp/absl/numeric:bits", 162 "//third_party/abseil-cpp/absl/numeric:int128", 163 ] 164 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 165 } 166 167 absl_source_set("randen_engine") { 168 public = [ "randen_engine.h" ] 169 deps = [ 170 ":iostream_state_saver", 171 ":randen", 172 "//third_party/abseil-cpp/absl/base:endian", 173 "//third_party/abseil-cpp/absl/meta:type_traits", 174 ] 175 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 176 } 177 178 absl_source_set("platform") { 179 public = [ 180 "platform.h", 181 "randen_traits.h", 182 ] 183 sources = [ "randen_round_keys.cc" ] 184 deps = [ 185 "//build:chromeos_buildflags", 186 "//third_party/abseil-cpp/absl/base:config", 187 ] 188 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 189 190 if (moz_webrtc_build) { 191 # We don't really want to run Google's scripting to generate build flags 192 deps -= [ "//build:chromeos_buildflags" ] 193 } 194 } 195 196 absl_source_set("randen") { 197 public = [ "randen.h" ] 198 sources = [ "randen.cc" ] 199 deps = [ 200 ":platform", 201 ":randen_hwaes", 202 ":randen_slow", 203 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 204 ] 205 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 206 } 207 208 absl_source_set("randen_slow") { 209 public = [ "randen_slow.h" ] 210 sources = [ "randen_slow.cc" ] 211 deps = [ 212 ":platform", 213 "//third_party/abseil-cpp/absl/base:config", 214 "//third_party/abseil-cpp/absl/base:core_headers", 215 "//third_party/abseil-cpp/absl/base:endian", 216 "//third_party/abseil-cpp/absl/numeric:int128", 217 ] 218 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 219 } 220 221 absl_source_set("randen_hwaes") { 222 public = [ 223 "randen_detect.h", 224 "randen_hwaes.h", 225 ] 226 sources = [ "randen_detect.cc" ] 227 deps = [ 228 ":platform", 229 ":randen_hwaes_impl", 230 "//third_party/abseil-cpp/absl/base:config", 231 "//third_party/abseil-cpp/absl/types:optional", 232 ] 233 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 234 } 235 236 absl_source_set("randen_hwaes_impl") { 237 sources = [ 238 "randen_hwaes.cc", 239 "randen_hwaes.h", 240 ] 241 deps = [ 242 ":platform", 243 "//third_party/abseil-cpp/absl/base:config", 244 "//third_party/abseil-cpp/absl/base:core_headers", 245 "//third_party/abseil-cpp/absl/numeric:int128", 246 ] 247 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 248 } 249 250 if (!moz_webrtc_build) { 251 executable("gaussian_distribution_gentables") { 252 sources = [ "gaussian_distribution_gentables.cc" ] 253 deps = [ 254 "//third_party/abseil-cpp/absl/base:core_headers", 255 "//third_party/abseil-cpp/absl/random:distributions", 256 ] 257 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 258 } 259 } 260 261 absl_source_set("distribution_test_util") { 262 testonly = true 263 public = [ 264 "chi_square.h", 265 "distribution_test_util.h", 266 ] 267 sources = [ 268 "chi_square.cc", 269 "distribution_test_util.cc", 270 ] 271 deps = [ 272 "//third_party/abseil-cpp/absl/base:config", 273 "//third_party/abseil-cpp/absl/base:core_headers", 274 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 275 "//third_party/abseil-cpp/absl/strings", 276 "//third_party/abseil-cpp/absl/strings:str_format", 277 "//third_party/abseil-cpp/absl/strings:string_view", 278 "//third_party/abseil-cpp/absl/types:span", 279 ] 280 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 281 } 282 283 absl_source_set("mock_helpers") { 284 public = [ "mock_helpers.h" ] 285 deps = [ 286 "//third_party/abseil-cpp/absl/base:config", 287 "//third_party/abseil-cpp/absl/base:fast_type_id", 288 "//third_party/abseil-cpp/absl/types:optional", 289 ] 290 } 291 292 absl_source_set("mock_overload_set") { 293 testonly = true 294 public = [ "mock_overload_set.h" ] 295 deps = [ 296 ":mock_helpers", 297 "//third_party/abseil-cpp/absl/base:config", 298 "//third_party/abseil-cpp/absl/random:mocking_bit_gen", 299 "//third_party/googletest:gtest", 300 ] 301 } 302 303 absl_test("nonsecure_base_test") { 304 sources = [ "nonsecure_base_test.cc" ] 305 deps = [ 306 ":nonsecure_base", 307 "//third_party/abseil-cpp/absl/container:flat_hash_set", 308 "//third_party/abseil-cpp/absl/meta:type_traits", 309 "//third_party/abseil-cpp/absl/random", 310 "//third_party/abseil-cpp/absl/random:distributions", 311 "//third_party/abseil-cpp/absl/synchronization", 312 ] 313 } 314 315 absl_source_set("uniform_helper") { 316 public = [ "uniform_helper.h" ] 317 deps = [ 318 ":traits", 319 "//third_party/abseil-cpp/absl/base:config", 320 "//third_party/abseil-cpp/absl/meta:type_traits", 321 "//third_party/abseil-cpp/absl/numeric:int128", 322 ] 323 visibility = [ "//third_party/abseil-cpp/absl/random/*" ] 324 } 325 326 absl_source_set("mock_validators") { 327 public = [ "mock_validators.h" ] 328 deps = [ 329 ":iostream_state_saver", 330 ":uniform_helper", 331 "//third_party/abseil-cpp/absl/base:config", 332 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 333 "//third_party/abseil-cpp/absl/strings", 334 "//third_party/abseil-cpp/absl/strings:string_view", 335 ] 336 }