Follow Google's BuildSystemMaintainers doc to support future NDK releases.

Upstream commit:
 - Qt 5.14: 9b14950ff600a4ce5a8698b67ab38907c50417f1

--- old/qtbase/mkspecs/android-clang/qmake.conf
+++ new/qtbase/mkspecs/android-clang/qmake.conf
@@ -14,43 +14,29 @@
 QMAKE_CC      = $$NDK_LLVM_PATH/bin/clang
 QMAKE_CXX     = $$NDK_LLVM_PATH/bin/clang++
 
+# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
+
 equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-    QMAKE_CFLAGS += -target armv7-none-linux-androideabi
-else: equals(ANDROID_TARGET_ARCH, armeabi): \
-    QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
+    QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
 else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
-    QMAKE_CFLAGS += -target aarch64-none-linux-android
+    QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
 else: equals(ANDROID_TARGET_ARCH, x86): \
-    QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
+    QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
 else: equals(ANDROID_TARGET_ARCH, x86_64): \
-    QMAKE_CFLAGS += -target x86_64-none-linux-android
-else: equals(ANDROID_TARGET_ARCH, mips): \
-    QMAKE_CFLAGS += -target mipsel-none-linux-android
-else: equals(ANDROID_TARGET_ARCH, mips64): \
-    QMAKE_CFLAGS += -target mips64el-none-linux-android
-
-QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
-
-QMAKE_LINK    = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
-equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
-
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
-                -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-                -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-                -isystem $$NDK_ROOT/sources/android/support/include \
-                -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+    QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
 
-ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
+QMAKE_CFLAGS += -fno-limit-debug-info
 
-ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
+QMAKE_LINK    = $$QMAKE_CXX $$QMAKE_CFLAGS
 
-ANDROID_USE_LLVM = true
+ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/$$NDK_TOOLS_PREFIX/libc++_shared.so
 
-exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
-    ANDROID_CXX_STL_LIBS = -lc++
-else: \
-    ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
+ANDROID_USE_LLVM = true
 
-QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
+QMAKE_CFLAGS_OPTIMIZE_SIZE  = -Oz
+QMAKE_LIBDIR_POST           =
+QMAKE_LFLAGS                =
+QMAKE_LIBS_PRIVATE          =
+ANDROID_CXX_STL_LIBS        =
 
 include(../common/android-base-tail.conf)

--- old/qtbase/mkspecs/common/android-base-head.conf
+++ new/qtbase/mkspecs/common/android-base-head.conf
@@ -64,7 +58,6 @@
 }
 
 CONFIG += $$ANDROID_PLATFORM
-QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
 
 ANDROID_PLATFORM_ROOT_PATH  = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
 
--- old/qtbase/mkspecs/common/android-base-tail.conf
+++ new/qtbase/mkspecs/common/android-base-tail.conf
@@ -6,22 +6,17 @@
 QMAKE_CFLAGS += -fstack-protector-strong -DANDROID
 
 equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-    QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove
+    QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp
 else: equals(ANDROID_TARGET_ARCH, armeabi): \
-    QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float -fno-builtin-memmove
-# -fno-builtin-memmove is used to workaround https://code.google.com/p/android/issues/detail?id=81692
+    QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float
 
 QMAKE_CFLAGS_WARN_ON    = -Wall -W
 QMAKE_CFLAGS_WARN_OFF   =
 equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
     CONFIG += optimize_size
     QMAKE_CFLAGS_DEBUG                     = -g -marm -O0
-    equals(ANDROID_TARGET_ARCH, armeabi):if(equals(NDK_TOOLCHAIN_VERSION, 4.8)|equals(NDK_TOOLCHAIN_VERSION, 4.9)) {
-        DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
-    } else {
-        QMAKE_CFLAGS_RELEASE += -mthumb
-        QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
-    }
+    QMAKE_CFLAGS_RELEASE += -mthumb
+    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
 }
 
 QMAKE_CFLAGS_SHLIB      = -fPIC
@@ -61,15 +56,12 @@
 QMAKE_RANLIB            = $${CROSS_COMPILE}ranlib
 
 QMAKE_INCDIR_POST       =
-QMAKE_LIBDIR_POST       = $$ANDROID_SOURCES_CXX_STL_LIBDIR
 QMAKE_INCDIR_X11        =
 QMAKE_LIBDIR_X11        =
 QMAKE_INCDIR_OPENGL     =
 QMAKE_LIBDIR_OPENGL     =
 
 QMAKE_LINK_SHLIB        = $$QMAKE_LINK
-QMAKE_LFLAGS            = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
-equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64
 QMAKE_LFLAGS_APP        = -Wl,--no-undefined -Wl,-z,noexecstack -shared
 QMAKE_LFLAGS_SHLIB      = -Wl,--no-undefined -Wl,-z,noexecstack -shared
 QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
