// Copyright 2017 The CRC32C Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. See the AUTHORS file for names of contributors. #ifndef CRC32C_CRC32C_CONFIG_H_ #define CRC32C_CRC32C_CONFIG_H_ // Define to 1 if building for a big-endian platform. #undef BYTE_ORDER_BIG_ENDIAN // Define to 1 if the compiler has the __builtin_prefetch intrinsic. #if __has_builtin(__builtin_prefetch) #define HAVE_BUILTIN_PREFETCH 1 #else #undef HAVE_BUILTIN_PREFETCH #endif // Define to 1 if targeting X86 and the compiler has the _mm_prefetch intrinsic. #undef HAVE_MM_PREFETCH // Define to 1 if targeting X86 and the compiler has the _mm_crc32_u{8,32,64} // intrinsics. #if defined(__x86_64__) #define HAVE_SSE42 1 #else #undef HAVE_SSE42 #endif // Define to 1 if targeting ARM and the compiler has the __crc32c{b,h,w,d} and // the vmull_p64 intrinsics. #if defined(__aarch64__) #define HAVE_ARM64_CRC32C 1 #else #undef HAVE_ARM64_CRC32C #endif // Define to 1 if the system libraries have the getauxval function in the // header. Should be true on Linux and Android API level 20+. #undef HAVE_STRONG_GETAUXVAL // Define to 1 if the compiler supports defining getauxval as a weak symbol. // Should be true for any compiler that supports __attribute__((weak)). #undef HAVE_WEAK_GETAUXVAL // Define to 1 if CRC32C tests have been built with Google Logging. #undef CRC32C_TESTS_BUILT_WITH_GLOG #endif // CRC32C_CRC32C_CONFIG_H_