dawn-cmake/third_party/abseil-cpp/absl/random/internal/BUILD.gn

276 lines
7.2 KiB
Plaintext

# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/abseil-cpp/absl.gni")
absl_source_set("traits") {
public = [ "traits.h" ]
deps = [
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/numeric:bits",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
absl_source_set("distribution_caller") {
public = [ "distribution_caller.h" ]
deps = [
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:fast_type_id",
"//third_party/abseil-cpp/absl/utility",
]
}
absl_source_set("fast_uniform_bits") {
public = [ "fast_uniform_bits.h" ]
deps = [
":traits",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/meta:type_traits",
]
}
absl_source_set("seed_material") {
public = [ "seed_material.h" ]
sources = [ "seed_material.cc" ]
if (is_win) {
# TODO(mbonadei): In the bazel file this is -DEFAULTLIB:bcrypt.lib.
libs = [ "bcrypt.lib" ]
}
deps = [
":fast_uniform_bits",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/base:dynamic_annotations",
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
"//third_party/abseil-cpp/absl/types:span",
]
}
absl_source_set("pool_urbg") {
public = [ "pool_urbg.h" ]
sources = [ "pool_urbg.cc" ]
deps = [
":randen",
":seed_material",
":traits",
"//third_party/abseil-cpp/absl/base",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/base:endian",
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
"//third_party/abseil-cpp/absl/random:seed_gen_exception",
"//third_party/abseil-cpp/absl/types:span",
]
}
absl_source_set("explicit_seed_seq") {
testonly = true
public = [ "explicit_seed_seq.h" ]
deps = [
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:endian",
]
}
absl_source_set("sequence_urbg") {
testonly = true
public = [ "sequence_urbg.h" ]
deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}
absl_source_set("salted_seed_seq") {
public = [ "salted_seed_seq.h" ]
deps = [
":seed_material",
"//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/types:optional",
"//third_party/abseil-cpp/absl/types:span",
]
}
absl_source_set("iostream_state_saver") {
public = [ "iostream_state_saver.h" ]
deps = [
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
absl_source_set("generate_real") {
public = [ "generate_real.h" ]
deps = [
":fastmath",
":traits",
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/numeric:bits",
]
}
absl_source_set("fastmath") {
public = [ "fastmath.h" ]
deps = [ "//third_party/abseil-cpp/absl/numeric:bits" ]
}
absl_source_set("wide_multiply") {
public = [ "wide_multiply.h" ]
deps = [
":traits",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/numeric:bits",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
absl_source_set("nonsecure_base") {
public = [ "nonsecure_base.h" ]
deps = [
":pool_urbg",
":salted_seed_seq",
":seed_material",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/types:span",
]
}
absl_source_set("pcg_engine") {
public = [ "pcg_engine.h" ]
deps = [
":fastmath",
":iostream_state_saver",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/numeric:bits",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
absl_source_set("randen_engine") {
public = [ "randen_engine.h" ]
deps = [
":iostream_state_saver",
":randen",
"//third_party/abseil-cpp/absl/base:endian",
"//third_party/abseil-cpp/absl/meta:type_traits",
]
}
absl_source_set("platform") {
public = [
"platform.h",
"randen_traits.h",
]
sources = [ "randen_round_keys.cc" ]
deps = [
"//build:chromeos_buildflags",
"//third_party/abseil-cpp/absl/base:config",
]
}
absl_source_set("randen") {
public = [ "randen.h" ]
sources = [ "randen.cc" ]
deps = [
":platform",
":randen_hwaes",
":randen_slow",
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
]
}
absl_source_set("randen_slow") {
public = [ "randen_slow.h" ]
sources = [ "randen_slow.cc" ]
deps = [
":platform",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/base:endian",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
absl_source_set("randen_hwaes") {
public = [
"randen_detect.h",
"randen_hwaes.h",
]
sources = [ "randen_detect.cc" ]
deps = [
":platform",
":randen_hwaes_impl",
"//third_party/abseil-cpp/absl/base:config",
]
}
absl_source_set("randen_hwaes_impl") {
sources = [
"randen_hwaes.cc",
"randen_hwaes.h",
]
deps = [
":platform",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}
executable("gaussian_distribution_gentables") {
sources = [ "gaussian_distribution_gentables.cc" ]
deps = [
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/random:distributions",
]
}
absl_source_set("distribution_test_util") {
testonly = true
public = [
"chi_square.h",
"distribution_test_util.h",
]
sources = [
"chi_square.cc",
"distribution_test_util.cc",
]
deps = [
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/strings:str_format",
"//third_party/abseil-cpp/absl/types:span",
]
}
# TODO(danilchap): Enable when can be compiled on all chromium bots.
# nanobenchmark uses platform specific functions to take accurate current time,
# and fallbacks to clock_gettime. Several chromium configurations lack both
# dedicated code and the clock_gettime system function.
# absl_source_set("nanobenchmark") {
# sources = [ "nanobenchmark.cc" ]
# deps = [
# ":platform",
# ":randen_engine",
# "//third_party/abseil-cpp/absl/base:config",
# "//third_party/abseil-cpp/absl/base:core_headers",
# "//third_party/abseil-cpp/absl/base:raw_logging_internal",
# ]
# }
absl_source_set("uniform_helper") {
public = [ "uniform_helper.h" ]
deps = [
":traits",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/numeric:int128",
]
}