1# Copyright 2022 The Abseil Authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# Internal-only target, do not depend on directly. 16absl_cc_library( 17 NAME 18 crc_cpu_detect 19 HDRS 20 "internal/cpu_detect.h" 21 SRCS 22 "internal/cpu_detect.cc" 23 COPTS 24 ${ABSL_DEFAULT_COPTS} 25 DEPS 26 absl::base 27 absl::config 28) 29 30# Internal-only target, do not depend on directly. 31absl_cc_library( 32 NAME 33 crc_internal 34 HDRS 35 "internal/crc.h" 36 "internal/crc32_x86_arm_combined_simd.h" 37 SRCS 38 "internal/crc.cc" 39 "internal/crc_internal.h" 40 "internal/crc_x86_arm_combined.cc" 41 COPTS 42 ${ABSL_DEFAULT_COPTS} 43 DEPS 44 absl::crc_cpu_detect 45 absl::base 46 absl::config 47 absl::core_headers 48 absl::dynamic_annotations 49 absl::endian 50 absl::prefetch 51 absl::raw_logging_internal 52 absl::memory 53 absl::bits 54) 55 56absl_cc_library( 57 NAME 58 crc32c 59 HDRS 60 "crc32c.h" 61 "internal/crc32c.h" 62 "internal/crc_memcpy.h" 63 SRCS 64 "crc32c.cc" 65 "internal/crc32c_inline.h" 66 "internal/crc_memcpy_fallback.cc" 67 "internal/crc_memcpy_x86_64.cc" 68 "internal/crc_non_temporal_memcpy.cc" 69 COPTS 70 ${ABSL_DEFAULT_COPTS} 71 DEPS 72 absl::crc_cpu_detect 73 absl::crc_internal 74 absl::non_temporal_memcpy 75 absl::config 76 absl::core_headers 77 absl::dynamic_annotations 78 absl::endian 79 absl::prefetch 80 absl::str_format 81 absl::strings 82) 83 84absl_cc_test( 85 NAME 86 crc32c_test 87 SRCS 88 "crc32c_test.cc" 89 COPTS 90 ${ABSL_DEFAULT_COPTS} 91 DEPS 92 absl::crc32c 93 absl::strings 94 absl::str_format 95 GTest::gtest_main 96) 97 98# Internal-only target, do not depend on directly. 99absl_cc_library( 100 NAME 101 non_temporal_arm_intrinsics 102 HDRS 103 "internal/non_temporal_arm_intrinsics.h" 104 COPTS 105 ${ABSL_DEFAULT_COPTS} 106 DEPS 107 absl::config 108) 109 110# Internal-only target, do not depend on directly. 111absl_cc_library( 112 NAME 113 non_temporal_memcpy 114 HDRS 115 "internal/non_temporal_memcpy.h" 116 COPTS 117 ${ABSL_DEFAULT_COPTS} 118 DEPS 119 absl::non_temporal_arm_intrinsics 120 absl::config 121 absl::core_headers 122) 123 124absl_cc_test( 125 NAME 126 crc_memcpy_test 127 SRCS 128 "internal/crc_memcpy_test.cc" 129 COPTS 130 ${ABSL_DEFAULT_COPTS} 131 DEPS 132 absl::crc32c 133 absl::memory 134 absl::random_random 135 absl::random_distributions 136 absl::strings 137 GTest::gtest_main 138) 139 140absl_cc_test( 141 NAME 142 non_temporal_memcpy_test 143 SRCS 144 "internal/non_temporal_memcpy_test.cc" 145 COPTS 146 ${ABSL_DEFAULT_COPTS} 147 DEPS 148 absl::non_temporal_memcpy 149 GTest::gtest_main 150) 151 152absl_cc_library( 153 NAME 154 crc_cord_state 155 HDRS 156 "internal/crc_cord_state.h" 157 SRCS 158 "internal/crc_cord_state.cc" 159 COPTS 160 ${ABSL_DEFAULT_COPTS} 161 DEPS 162 absl::crc32c 163 absl::config 164 absl::strings 165) 166 167absl_cc_test( 168 NAME 169 crc_cord_state_test 170 SRCS 171 "internal/crc_cord_state_test.cc" 172 COPTS 173 ${ABSL_DEFAULT_COPTS} 174 DEPS 175 absl::crc_cord_state 176 absl::crc32c 177 GTest::gtest_main 178) 179