Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -85,6 +85,13 @@ #define __is_identifier(__x) 1 #endif +// Need to detect which libc we're using if we're on Linux. +#if defined(__linux__) +#include +#if !defined(__GLIBC_PREREQ) +#define __GLIBC_PREREQ(a, b) 0 +#endif // !defined(__GLIBC_PREREQ) +#endif // defined(__linux__) #ifdef __LITTLE_ENDIAN__ #if __LITTLE_ENDIAN__ @@ -333,12 +340,9 @@ #if defined(__FreeBSD__) #define _LIBCPP_HAS_QUICK_EXIT #define _LIBCPP_HAS_C11_FEATURES -#elif defined(__ANDROID__) -#define _LIBCPP_HAS_QUICK_EXIT #elif defined(__linux__) #if !defined(_LIBCPP_HAS_MUSL_LIBC) -# include -#if __GLIBC_PREREQ(2, 15) +#if __GLIBC_PREREQ(2, 15) || defined(__BIONIC__) #define _LIBCPP_HAS_QUICK_EXIT #endif #if __GLIBC_PREREQ(2, 17) @@ -759,7 +763,7 @@ #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) // Most unix variants have catopen. These are the specific ones that don't. -#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) +#if !defined(_WIN32) && !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) #define _LIBCPP_HAS_CATOPEN 1 #endif #endif @@ -885,7 +889,8 @@ #define _LIBCPP_HAS_NO_STDOUT #endif -#if defined(__ANDROID__) || defined(__CloudABI__) || defined(_LIBCPP_HAS_MUSL_LIBC) +#if defined(__BIONIC__) || defined(__CloudABI__) || \ + defined(_LIBCPP_HAS_MUSL_LIBC) #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE #endif Index: include/support/android/locale_bionic.h =================================================================== --- include/support/android/locale_bionic.h +++ include/support/android/locale_bionic.h @@ -11,7 +11,7 @@ #ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H #define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H -#if defined(__ANDROID__) +#if defined(__BIONIC__) #ifdef __cplusplus extern "C" { @@ -27,5 +27,5 @@ #include #include -#endif // defined(__ANDROID__) +#endif // defined(__BIONIC__) #endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H Index: src/locale.cpp =================================================================== --- src/locale.cpp +++ src/locale.cpp @@ -28,7 +28,7 @@ #include "__sso_allocator" #if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) #include "support/win32/locale_win32.h" -#elif !defined(__ANDROID__) +#elif !defined(__BIONIC__) #include #endif #include