1// Copyright 2024 The Pigweed Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); you may not 4// use this file except in compliance with the License. You may obtain a copy of 5// 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, WITHOUT 11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12// License for the specific language governing permissions and limitations under 13// the License. 14 15#pragma once 16 17// The libc++ internal header <__config> does #include <__config_site> to get 18// definitions that vary by operating system, machine, or configuration. 19 20#define _LIBCPP_ABI_VERSION 2 21#define _LIBCPP_ABI_NAMESPACE __pw 22#define _LIBCPP_ABI_FORCE_ITANIUM 23// TODO: https://pwbug.dev/298822102 - Ideally we would use 24// _LIBCPP_HAS_NO_THREADS but that disables std::lock_guard which is being used. 25#define _LIBCPP_HAS_THREAD_API_EXTERNAL 26#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS 27#define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC 28#define _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY 29// TODO: https://pwbug.dev/298822102 - Ideally we would use 30// _LIBCPP_HAS_NO_MONOTONIC_CLOCK which requires _LIBCPP_HAS_NO_THREADS. 31#define _LIBCPP_HAS_NO_RANDOM_DEVICE 32#define _LIBCPP_HAS_NO_LOCALIZATION 33#define _LIBCPP_HAS_NO_UNICODE 34#define _LIBCPP_HAS_NO_WIDE_CHARACTERS 35#define _LIBCPP_HAS_NO_STD_MODULES 36#define _LIBCPP_HAS_NO_TIME_ZONE_DATABASE 37#define _LIBCPP_HAS_NO_FSTREAM 38 39// PSTL backend 40#define _LIBCPP_PSTL_CPU_BACKEND_SERIAL 41 42// Hardening 43#define _LIBCPP_HARDENING_MODE_DEFAULT _LIBCPP_HARDENING_MODE_NONE 44 45// #undef _LIBCPP_BUILDING_LIBRARY 46#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES 47