130 lines
3.5 KiB
Text
130 lines
3.5 KiB
Text
# 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",
|
|
]
|
|
}
|