# Copyright 2022 The Chromium Authors # 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("cpu_detect") { public = [ "internal/cpu_detect.h" ] sources = [ "internal/cpu_detect.cc" ] deps = [ "//third_party/abseil-cpp/absl/base", "//third_party/abseil-cpp/absl/base:config", ] visibility = [ ":*" ] } absl_source_set("crc_internal") { public = [ "internal/crc.h", "internal/crc32_x86_arm_combined_simd.h", ] sources = [ "internal/crc.cc", "internal/crc_internal.h", "internal/crc_x86_arm_combined.cc", ] deps = [ ":cpu_detect", "//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:prefetch", "//third_party/abseil-cpp/absl/base:raw_logging_internal", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/numeric:bits", ] visibility = [ ":*" ] } absl_source_set("crc32c") { public = [ "crc32c.h", "internal/crc32c.h", "internal/crc_memcpy.h", ] sources = [ "crc32c.cc", "internal/crc32c_inline.h", "internal/crc_memcpy_fallback.cc", "internal/crc_memcpy_x86_arm_combined.cc", "internal/crc_non_temporal_memcpy.cc", ] deps = [ ":cpu_detect", ":crc_internal", ":non_temporal_memcpy", "//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:prefetch", "//third_party/abseil-cpp/absl/strings:str_format", "//third_party/abseil-cpp/absl/strings:string_view", ] } absl_test("crc32c_test") { sources = [ "crc32c_test.cc" ] deps = [ ":crc32c", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/strings:str_format", "//third_party/abseil-cpp/absl/strings:string_view", ] } absl_source_set("non_temporal_arm_intrinsics") { public = [ "internal/non_temporal_arm_intrinsics.h" ] deps = [ "//third_party/abseil-cpp/absl/base:config" ] visibility = [ ":*" ] } absl_source_set("non_temporal_memcpy") { public = [ "internal/non_temporal_memcpy.h" ] deps = [ ":non_temporal_arm_intrinsics", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", ] visibility = [ ":*" ] } absl_test("crc_memcpy_test") { sources = [ "internal/crc_memcpy_test.cc" ] deps = [ ":crc32c", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/random", "//third_party/abseil-cpp/absl/random:distributions", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/strings:string_view", ] } absl_test("non_temporal_memcpy_test") { sources = [ "internal/non_temporal_memcpy_test.cc" ] deps = [ ":non_temporal_memcpy" ] } absl_source_set("crc_cord_state") { public = [ "internal/crc_cord_state.h" ] sources = [ "internal/crc_cord_state.cc" ] deps = [ ":crc32c", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:no_destructor", "//third_party/abseil-cpp/absl/numeric:bits", ] visibility = [ "//third_party/abseil-cpp/absl/crc/*", "//third_party/abseil-cpp/absl/strings:*", ] } absl_test("crc_cord_state_test") { sources = [ "internal/crc_cord_state_test.cc" ] deps = [ ":crc32c", ":crc_cord_state", ] }