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::strings 81) 82 83absl_cc_test( 84 NAME 85 crc32c_test 86 SRCS 87 "crc32c_test.cc" 88 COPTS 89 ${ABSL_DEFAULT_COPTS} 90 DEPS 91 absl::crc32c 92 absl::strings 93 GTest::gtest_main 94) 95 96# Internal-only target, do not depend on directly. 97absl_cc_library( 98 NAME 99 non_temporal_arm_intrinsics 100 HDRS 101 "internal/non_temporal_arm_intrinsics.h" 102 COPTS 103 ${ABSL_DEFAULT_COPTS} 104 DEPS 105 absl::config 106) 107 108# Internal-only target, do not depend on directly. 109absl_cc_library( 110 NAME 111 non_temporal_memcpy 112 HDRS 113 "internal/non_temporal_memcpy.h" 114 COPTS 115 ${ABSL_DEFAULT_COPTS} 116 DEPS 117 absl::non_temporal_arm_intrinsics 118 absl::config 119 absl::core_headers 120) 121 122absl_cc_test( 123 NAME 124 crc_memcpy_test 125 SRCS 126 "internal/crc_memcpy_test.cc" 127 COPTS 128 ${ABSL_DEFAULT_COPTS} 129 DEPS 130 absl::crc32c 131 absl::memory 132 absl::random_random 133 absl::random_distributions 134 absl::strings 135 GTest::gtest_main 136) 137 138absl_cc_test( 139 NAME 140 non_temporal_memcpy_test 141 SRCS 142 "internal/non_temporal_memcpy_test.cc" 143 COPTS 144 ${ABSL_DEFAULT_COPTS} 145 DEPS 146 absl::non_temporal_memcpy 147 GTest::gtest_main 148) 149 150absl_cc_library( 151 NAME 152 crc_cord_state 153 HDRS 154 "internal/crc_cord_state.h" 155 SRCS 156 "internal/crc_cord_state.cc" 157 COPTS 158 ${ABSL_DEFAULT_COPTS} 159 DEPS 160 absl::crc32c 161 absl::config 162 absl::strings 163) 164 165absl_cc_test( 166 NAME 167 crc_cord_state_test 168 SRCS 169 "internal/crc_cord_state_test.cc" 170 COPTS 171 ${ABSL_DEFAULT_COPTS} 172 DEPS 173 absl::crc_cord_state 174 absl::crc32c 175 GTest::gtest_main 176) 177