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::config 46 absl::core_headers 47 absl::endian 48 absl::prefetch 49 absl::raw_logging_internal 50 absl::memory 51 absl::bits 52) 53 54absl_cc_library( 55 NAME 56 crc32c 57 HDRS 58 "crc32c.h" 59 "internal/crc32c.h" 60 "internal/crc_memcpy.h" 61 SRCS 62 "crc32c.cc" 63 "internal/crc32c_inline.h" 64 "internal/crc_memcpy_fallback.cc" 65 "internal/crc_memcpy_x86_arm_combined.cc" 66 "internal/crc_non_temporal_memcpy.cc" 67 COPTS 68 ${ABSL_DEFAULT_COPTS} 69 DEPS 70 absl::crc_cpu_detect 71 absl::crc_internal 72 absl::non_temporal_memcpy 73 absl::config 74 absl::core_headers 75 absl::endian 76 absl::prefetch 77 absl::str_format 78 absl::strings 79) 80 81absl_cc_test( 82 NAME 83 crc32c_test 84 SRCS 85 "crc32c_test.cc" 86 COPTS 87 ${ABSL_DEFAULT_COPTS} 88 DEPS 89 absl::crc32c 90 absl::strings 91 absl::str_format 92 GTest::gtest_main 93) 94 95# Internal-only target, do not depend on directly. 96absl_cc_library( 97 NAME 98 non_temporal_arm_intrinsics 99 HDRS 100 "internal/non_temporal_arm_intrinsics.h" 101 COPTS 102 ${ABSL_DEFAULT_COPTS} 103 DEPS 104 absl::config 105) 106 107# Internal-only target, do not depend on directly. 108absl_cc_library( 109 NAME 110 non_temporal_memcpy 111 HDRS 112 "internal/non_temporal_memcpy.h" 113 COPTS 114 ${ABSL_DEFAULT_COPTS} 115 DEPS 116 absl::non_temporal_arm_intrinsics 117 absl::config 118 absl::core_headers 119) 120 121absl_cc_test( 122 NAME 123 crc_memcpy_test 124 SRCS 125 "internal/crc_memcpy_test.cc" 126 COPTS 127 ${ABSL_DEFAULT_COPTS} 128 DEPS 129 absl::crc32c 130 absl::memory 131 absl::random_random 132 absl::random_distributions 133 absl::strings 134 GTest::gtest_main 135) 136 137absl_cc_test( 138 NAME 139 non_temporal_memcpy_test 140 SRCS 141 "internal/non_temporal_memcpy_test.cc" 142 COPTS 143 ${ABSL_DEFAULT_COPTS} 144 DEPS 145 absl::non_temporal_memcpy 146 GTest::gtest_main 147) 148 149absl_cc_library( 150 NAME 151 crc_cord_state 152 HDRS 153 "internal/crc_cord_state.h" 154 SRCS 155 "internal/crc_cord_state.cc" 156 COPTS 157 ${ABSL_DEFAULT_COPTS} 158 DEPS 159 absl::crc32c 160 absl::config 161 absl::strings 162 absl::no_destructor 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