Work around upstream patch for old NDKs.

The Chrome folks are trying to build libc++ with an old NDK and added
checks to handle that, but we don't have <android/ndk-version.h> in
the platform.

Test: make checkbuild
Bug: None
Change-Id: Ic28bd67ecee1a93b47ce0b307415c3ff25b449eb
This commit is contained in:
Dan Albert
2018-06-25 11:49:54 -07:00
parent 38a905636d
commit 4bbd15bc71

View File

@@ -26,9 +26,15 @@ extern "C" {
#if defined(__ANDROID__)
#include <support/xlocale/__posix_l_fallback.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(<android/ndk-version.h>)
#include <android/api-level.h>
#include <android/ndk-version.h>
#include <support/xlocale/__posix_l_fallback.h>
// In NDK versions later than 16, locale-aware functions are provided by
// legacy_stdlib_inlines.h
#if __NDK_MAJOR__ <= 16
@@ -62,6 +68,7 @@ inline _LIBCPP_ALWAYS_INLINE long strtol_l(const char* __nptr, char** __endptr,
#endif // __ANDROID_API__ < 26
#endif // __NDK_MAJOR__ <= 16
#endif // __has_include(<android/ndk-version.h>)
#endif // defined(__ANDROID__)
#endif // defined(__BIONIC__)