| # Copyright 2018 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//flutter/third_party/abseil-cpp/absl.gni") |
| |
| absl_source_set("traits") { |
| public = [ "traits.h" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/numeric:bits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("distribution_caller") { |
| public = [ "distribution_caller.h" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:fast_type_id", |
| "//flutter/third_party/abseil-cpp/absl/utility", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("fast_uniform_bits") { |
| public = [ "fast_uniform_bits.h" ] |
| deps = [ |
| ":traits", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| 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", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/base:dynamic_annotations", |
| "//flutter/third_party/abseil-cpp/absl/base:raw_logging_internal", |
| "//flutter/third_party/abseil-cpp/absl/strings", |
| "//flutter/third_party/abseil-cpp/absl/strings:string_view", |
| "//flutter/third_party/abseil-cpp/absl/types:optional", |
| "//flutter/third_party/abseil-cpp/absl/types:span", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("pool_urbg") { |
| public = [ "pool_urbg.h" ] |
| sources = [ "pool_urbg.cc" ] |
| deps = [ |
| ":randen", |
| ":seed_material", |
| ":traits", |
| "//flutter/third_party/abseil-cpp/absl/base", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/base:endian", |
| "//flutter/third_party/abseil-cpp/absl/base:raw_logging_internal", |
| "//flutter/third_party/abseil-cpp/absl/random:seed_gen_exception", |
| "//flutter/third_party/abseil-cpp/absl/types:span", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("explicit_seed_seq") { |
| testonly = true |
| public = [ "explicit_seed_seq.h" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:endian", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("sequence_urbg") { |
| testonly = true |
| public = [ "sequence_urbg.h" ] |
| deps = [ "//flutter/third_party/abseil-cpp/absl/base:config" ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("salted_seed_seq") { |
| public = [ "salted_seed_seq.h" ] |
| deps = [ |
| ":seed_material", |
| "//flutter/third_party/abseil-cpp/absl/container:inlined_vector", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/types:optional", |
| "//flutter/third_party/abseil-cpp/absl/types:span", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("iostream_state_saver") { |
| public = [ "iostream_state_saver.h" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("generate_real") { |
| public = [ "generate_real.h" ] |
| deps = [ |
| ":fastmath", |
| ":traits", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:bits", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("fastmath") { |
| public = [ "fastmath.h" ] |
| deps = [ "//flutter/third_party/abseil-cpp/absl/numeric:bits" ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("wide_multiply") { |
| public = [ "wide_multiply.h" ] |
| deps = [ |
| ":traits", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/numeric:bits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("nonsecure_base") { |
| public = [ "nonsecure_base.h" ] |
| deps = [ |
| ":pool_urbg", |
| ":salted_seed_seq", |
| ":seed_material", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/container:inlined_vector", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/types:span", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("pcg_engine") { |
| public = [ "pcg_engine.h" ] |
| deps = [ |
| ":fastmath", |
| ":iostream_state_saver", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:bits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("randen_engine") { |
| public = [ "randen_engine.h" ] |
| deps = [ |
| ":iostream_state_saver", |
| ":randen", |
| "//flutter/third_party/abseil-cpp/absl/base:endian", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("platform") { |
| public = [ |
| "platform.h", |
| "randen_traits.h", |
| ] |
| sources = [ "randen_round_keys.cc" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("randen") { |
| public = [ "randen.h" ] |
| sources = [ "randen.cc" ] |
| deps = [ |
| ":platform", |
| ":randen_hwaes", |
| ":randen_slow", |
| "//flutter/third_party/abseil-cpp/absl/base:raw_logging_internal", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("randen_slow") { |
| public = [ "randen_slow.h" ] |
| sources = [ "randen_slow.cc" ] |
| deps = [ |
| ":platform", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/base:endian", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("randen_hwaes") { |
| public = [ |
| "randen_detect.h", |
| "randen_hwaes.h", |
| ] |
| sources = [ "randen_detect.cc" ] |
| deps = [ |
| ":platform", |
| ":randen_hwaes_impl", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| absl_source_set("randen_hwaes_impl") { |
| sources = [ |
| "randen_hwaes.cc", |
| "randen_hwaes.h", |
| ] |
| deps = [ |
| ":platform", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| executable("gaussian_distribution_gentables") { |
| sources = [ "gaussian_distribution_gentables.cc" ] |
| deps = [ |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/random:distributions", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| 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 = [ |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| "//flutter/third_party/abseil-cpp/absl/base:raw_logging_internal", |
| "//flutter/third_party/abseil-cpp/absl/strings", |
| "//flutter/third_party/abseil-cpp/absl/strings:str_format", |
| "//flutter/third_party/abseil-cpp/absl/strings:string_view", |
| "//flutter/third_party/abseil-cpp/absl/types:span", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |
| |
| # 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", |
| # "//flutter/third_party/abseil-cpp/absl/base:config", |
| # "//flutter/third_party/abseil-cpp/absl/base:core_headers", |
| # "//flutter/third_party/abseil-cpp/absl/base:raw_logging_internal", |
| # ] |
| # } |
| |
| absl_source_set("uniform_helper") { |
| public = [ "uniform_helper.h" ] |
| deps = [ |
| ":traits", |
| "//flutter/third_party/abseil-cpp/absl/base:config", |
| "//flutter/third_party/abseil-cpp/absl/meta:type_traits", |
| "//flutter/third_party/abseil-cpp/absl/numeric:int128", |
| ] |
| visibility = ["//flutter/third_party/abseil-cpp/absl/random/*"] |
| } |