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