Android: Add support for NDK r18

Merged Brad King requested to merge brad.king/cmake:android-ndk-r18 into master

NDK r18 drops GCC toolchains and some STL types. We need to choose a clang toolchain by default when no gcc toolchains are available. Switch the STL type default to c++_static when the old gnustl_static default is not available.

Update the test suite to not run tests for STL types that do not exist. Also do not expect the gcc toolchain cpp tool to be available because r18 does not provide it. Also teach it to tolerate gcc -dumpmachine output like arm--linux-android that differs from the toolchain prefix.

Fixes: #18301 (closed)

Merge request reports