diff --git a/libcxx/include/__support/android/locale_bionic.h b/libcxx/include/__support/android/locale_bionic.h --- a/libcxx/include/__support/android/locale_bionic.h +++ b/libcxx/include/__support/android/locale_bionic.h @@ -30,6 +30,19 @@ #if __ANDROID_API__ < 21 #include <__support/xlocale/__posix_l_fallback.h> #endif + +// HACK: Not in upstream NDK or libc++. +// Upstream now supports using ToT libc++ with old NDKs, but as such it is now +// *only* compatible with the NDK. That will need to be fixed both for the +// platorm and for the NDK-in-platform use case since neither has +// android/ndk-version.h. + +// If we do not have this header, we are in a platform build rather than an NDK +// build, which will always be at least as new as the ToT NDK, in which case we +// don't need any of the inlines below since libc provides them. +# if __has_include() +# include +# include // In NDK versions later than 16, locale-aware functions are provided by // legacy_stdlib_inlines.h #if __NDK_MAJOR__ <= 16 @@ -63,6 +76,7 @@ #endif // __ANDROID_API__ < 26 #endif // __NDK_MAJOR__ <= 16 +# endif // __has_include() #endif // defined(__ANDROID__) #endif // defined(__BIONIC__)