xref: /aosp_15_r20/external/cronet/third_party/abseil-cpp/absl/random/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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
5import("//third_party/abseil-cpp/absl.gni")
6
7absl_source_set("random") {
8  public = [ "random.h" ]
9  deps = [
10    ":distributions",
11    ":seed_sequences",
12    "//third_party/abseil-cpp/absl/random/internal:nonsecure_base",
13    "//third_party/abseil-cpp/absl/random/internal:pcg_engine",
14    "//third_party/abseil-cpp/absl/random/internal:pool_urbg",
15    "//third_party/abseil-cpp/absl/random/internal:randen_engine",
16  ]
17}
18
19absl_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/numeric:bits",
43    "//third_party/abseil-cpp/absl/random/internal:distribution_caller",
44    "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits",
45    "//third_party/abseil-cpp/absl/random/internal:fastmath",
46    "//third_party/abseil-cpp/absl/random/internal:generate_real",
47    "//third_party/abseil-cpp/absl/random/internal:iostream_state_saver",
48    "//third_party/abseil-cpp/absl/random/internal:traits",
49    "//third_party/abseil-cpp/absl/random/internal:uniform_helper",
50    "//third_party/abseil-cpp/absl/random/internal:wide_multiply",
51    "//third_party/abseil-cpp/absl/strings",
52  ]
53}
54
55absl_source_set("seed_gen_exception") {
56  public = [ "seed_gen_exception.h" ]
57  sources = [ "seed_gen_exception.cc" ]
58  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
59}
60
61absl_source_set("seed_sequences") {
62  public = [ "seed_sequences.h" ]
63  sources = [ "seed_sequences.cc" ]
64  deps = [
65    ":seed_gen_exception",
66    "//third_party/abseil-cpp/absl/base:config",
67    "//third_party/abseil-cpp/absl/base:nullability",
68    "//third_party/abseil-cpp/absl/random/internal:pool_urbg",
69    "//third_party/abseil-cpp/absl/random/internal:salted_seed_seq",
70    "//third_party/abseil-cpp/absl/random/internal:seed_material",
71    "//third_party/abseil-cpp/absl/strings:string_view",
72    "//third_party/abseil-cpp/absl/types:span",
73  ]
74}
75
76absl_source_set("bit_gen_ref") {
77  public = [ "bit_gen_ref.h" ]
78  deps = [
79    ":random",
80    "//third_party/abseil-cpp/absl/base:core_headers",
81    "//third_party/abseil-cpp/absl/base:fast_type_id",
82    "//third_party/abseil-cpp/absl/meta:type_traits",
83    "//third_party/abseil-cpp/absl/random/internal:distribution_caller",
84    "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits",
85  ]
86}
87