BUILD.gn (3616B)
1 # Copyright 2022 The Chromium Authors 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//third_party/abseil-cpp/absl.gni") 6 7 absl_source_set("cpu_detect") { 8 public = [ "internal/cpu_detect.h" ] 9 sources = [ "internal/cpu_detect.cc" ] 10 deps = [ 11 "//third_party/abseil-cpp/absl/base", 12 "//third_party/abseil-cpp/absl/base:config", 13 "//third_party/abseil-cpp/absl/types:optional", 14 ] 15 visibility = [ ":*" ] 16 } 17 18 absl_source_set("crc_internal") { 19 public = [ 20 "internal/crc.h", 21 "internal/crc32_x86_arm_combined_simd.h", 22 ] 23 sources = [ 24 "internal/crc.cc", 25 "internal/crc_internal.h", 26 "internal/crc_x86_arm_combined.cc", 27 ] 28 deps = [ 29 ":cpu_detect", 30 "//third_party/abseil-cpp/absl/base:config", 31 "//third_party/abseil-cpp/absl/base:core_headers", 32 "//third_party/abseil-cpp/absl/base:endian", 33 "//third_party/abseil-cpp/absl/base:prefetch", 34 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 35 "//third_party/abseil-cpp/absl/memory", 36 "//third_party/abseil-cpp/absl/numeric:bits", 37 ] 38 visibility = [ ":*" ] 39 } 40 41 absl_source_set("crc32c") { 42 public = [ 43 "crc32c.h", 44 "internal/crc32c.h", 45 "internal/crc_memcpy.h", 46 ] 47 sources = [ 48 "crc32c.cc", 49 "internal/crc32c_inline.h", 50 "internal/crc_memcpy_fallback.cc", 51 "internal/crc_memcpy_x86_arm_combined.cc", 52 "internal/crc_non_temporal_memcpy.cc", 53 ] 54 deps = [ 55 ":cpu_detect", 56 ":crc_internal", 57 ":non_temporal_memcpy", 58 "//third_party/abseil-cpp/absl/base:config", 59 "//third_party/abseil-cpp/absl/base:core_headers", 60 "//third_party/abseil-cpp/absl/base:endian", 61 "//third_party/abseil-cpp/absl/base:prefetch", 62 "//third_party/abseil-cpp/absl/strings:str_format", 63 "//third_party/abseil-cpp/absl/strings:string_view", 64 ] 65 } 66 67 absl_test("crc32c_test") { 68 sources = [ "crc32c_test.cc" ] 69 deps = [ 70 ":crc32c", 71 "//third_party/abseil-cpp/absl/strings", 72 "//third_party/abseil-cpp/absl/strings:str_format", 73 "//third_party/abseil-cpp/absl/strings:string_view", 74 ] 75 } 76 77 absl_source_set("non_temporal_arm_intrinsics") { 78 public = [ "internal/non_temporal_arm_intrinsics.h" ] 79 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 80 visibility = [ ":*" ] 81 } 82 83 absl_source_set("non_temporal_memcpy") { 84 public = [ "internal/non_temporal_memcpy.h" ] 85 deps = [ 86 ":non_temporal_arm_intrinsics", 87 "//third_party/abseil-cpp/absl/base:config", 88 "//third_party/abseil-cpp/absl/base:core_headers", 89 ] 90 visibility = [ ":*" ] 91 } 92 93 absl_test("crc_memcpy_test") { 94 sources = [ "internal/crc_memcpy_test.cc" ] 95 deps = [ 96 ":crc32c", 97 "//third_party/abseil-cpp/absl/memory", 98 "//third_party/abseil-cpp/absl/random", 99 "//third_party/abseil-cpp/absl/random:distributions", 100 "//third_party/abseil-cpp/absl/strings", 101 "//third_party/abseil-cpp/absl/strings:string_view", 102 ] 103 } 104 105 absl_test("non_temporal_memcpy_test") { 106 sources = [ "internal/non_temporal_memcpy_test.cc" ] 107 deps = [ ":non_temporal_memcpy" ] 108 } 109 110 absl_source_set("crc_cord_state") { 111 public = [ "internal/crc_cord_state.h" ] 112 sources = [ "internal/crc_cord_state.cc" ] 113 deps = [ 114 ":crc32c", 115 "//third_party/abseil-cpp/absl/base:config", 116 "//third_party/abseil-cpp/absl/base:no_destructor", 117 "//third_party/abseil-cpp/absl/numeric:bits", 118 ] 119 visibility = [ 120 "//third_party/abseil-cpp/absl/crc/*", 121 "//third_party/abseil-cpp/absl/strings:*", 122 ] 123 } 124 125 absl_test("crc_cord_state_test") { 126 sources = [ "internal/crc_cord_state_test.cc" ] 127 deps = [ 128 ":crc32c", 129 ":crc_cord_state", 130 ] 131 }