# 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" ] } 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 = [ "//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/meta:type_traits", "//third_party/abseil-cpp/absl/types:optional", "//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/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", ] } 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", ] }