Update Android Bazel build support in BUILD.toplevel.

Newer versions of Bazel use a different setting for the crosstool_top
flag, depending on the NDK toolchain in use. This change detects these
crosstools and builds them using Android flags.

Fixes: 180083900
Change-Id: I937d18e53d72b2911e1c472adbce65282d31885d
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/45564
Commit-Queue: Justin Paupore <jpaupore@google.com>
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/util/BUILD.toplevel b/util/BUILD.toplevel
index 5e62b44..aa14c8e 100644
--- a/util/BUILD.toplevel
+++ b/util/BUILD.toplevel
@@ -54,10 +54,30 @@
 )
 
 config_setting(
-    name = "android",
+    name = "android_legacy",
     values = {"crosstool_top": "//external:android/crosstool"},
 )
 
+config_setting(
+    name = "android_stlport",
+    values = {"crosstool_top": "@androidndk//:toolchain-stlport"},
+)
+
+config_setting(
+    name = "android_libcpp",
+    values = {"crosstool_top": "@androidndk//:toolchain-libcpp"},
+)
+
+config_setting(
+    name = "android_gnu_libstdcpp",
+    values = {"crosstool_top": "@androidndk//:toolchain-gnu-libstdcpp"},
+)
+
+config_setting(
+    name = "android_default",
+    values = {"crosstool_top": "@androidndk//:default_crosstool"},
+)
+
 posix_copts = [
     # Assembler option --noexecstack adds .note.GNU-stack to each object to
     # ensure that binaries can be built with non-executable stack.
@@ -137,7 +157,11 @@
     linkopts = select({
         # Android supports pthreads, but does not provide a libpthread
         # to link against.
-        ":android": [],
+        ":android_legacy": [],
+        ":android_stlport": [],
+        ":android_libcpp": [],
+        ":android_gnu_libcpp": [],
+        ":android_default": [],
         ":mac_x86_64": [],
         ":windows_x86_64": ["-defaultlib:advapi32.lib"],
         "//conditions:default": ["-lpthread"],