1#ifndef BORINGSSL_LIBCXX_CONFIG_SITE_ 2#define BORINGSSL_LIBCXX_CONFIG_SITE_ 3 4#if defined(__APPLE__) 5#define _LIBCPP_PSTL_BACKEND_LIBDISPATCH 1 6#else 7#define _LIBCPP_PSTL_BACKEND_STD_THREAD 1 8#endif 9 10// We only use our custom libc++ for testing, so enable all checks. 11#define _LIBCPP_HARDENING_MODE _LIBCPP_HARDENING_MODE_DEBUG 12 13// libc++ headers disable std::string ASan annotations if this is not defined. 14// This is to avoid false positives when libc++'s runtime components are 15// uninstrumented. When building our custom libc++, libc++ will be as 16// instrumented as the caller, so we can safely enable this. 17#define _LIBCPP_INSTRUMENTED_WITH_ASAN 1 18 19#define _LIBCPP_HAS_FILESYSTEM 1 20#define _LIBCPP_HAS_LOCALIZATION 1 21#define _LIBCPP_HAS_MONOTONIC_CLOCK 1 22#define _LIBCPP_HAS_RANDOM_DEVICE 1 23#define _LIBCPP_HAS_THREADS 1 24#define _LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS 0 25#define _LIBCPP_HAS_UNICODE 1 26#define _LIBCPP_HAS_WIDE_CHARACTERS 1 27 28#ifdef _WIN32 29#define _LIBCPP_HAS_THREAD_API_PTHREAD 0 30#define _LIBCPP_HAS_THREAD_API_EXTERNAL 0 31#define _LIBCPP_HAS_THREAD_API_WIN32 1 32#else 33#define _LIBCPP_HAS_THREAD_API_PTHREAD 1 34#define _LIBCPP_HAS_THREAD_API_EXTERNAL 0 35#define _LIBCPP_HAS_THREAD_API_WIN32 0 36#endif 37 38#endif // BORINGSSL_LIBCXX_CONFIG_SITE_ 39