Re-enable ANGLE build on Android.

Also make ANGLE build for all tests, not just end2end tests.

Change-Id: Iafd07c037713d2c21fa2dbf8f01bb18c7a37ee74
Bug: dawn:1545
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/162820
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/scripts/dawn_features.gni b/scripts/dawn_features.gni
index c3515ff..ba91e46 100644
--- a/scripts/dawn_features.gni
+++ b/scripts/dawn_features.gni
@@ -47,12 +47,7 @@
 dawn_use_windows_ui = is_win
 
 declare_args() {
-  # TODO(dawn:1545): Re-enable dawn_use_angle on Android. In non-component
-  # builds, this is adding a dependency on ANGLE's libEGL.so and
-  # libGLESv2.so, apparently without regard for the use_static_angle=true
-  # GN variable. Chromium's linker on Android disallows production of more
-  # than one shared object per target (?).
-  dawn_use_angle = !is_android
+  dawn_tests_use_angle = true
 
   # Enables SwiftShader as the fallback adapter. Requires dawn_swiftshader_dir
   # to be set to take effect.
diff --git a/src/dawn/tests/BUILD.gn b/src/dawn/tests/BUILD.gn
index 8080bb4..a663313 100644
--- a/src/dawn/tests/BUILD.gn
+++ b/src/dawn/tests/BUILD.gn
@@ -174,6 +174,16 @@
 
     configs += [ "${dawn_root}/src/dawn/common:internal_config" ]
 
+    if (dawn_tests_use_angle && defined(dawn_angle_dir)) {
+      if (!defined(data_deps)) {
+        data_deps = []
+      }
+      data_deps += [
+        "${dawn_angle_dir}:libEGL",
+        "${dawn_angle_dir}:libGLESv2",
+      ]
+    }
+
     # Running Dawn tests within Chromium in Windows may require DXC, copy DXC
     # binary from Windows SDK.
     if (build_with_chromium && is_win &&
@@ -774,13 +784,6 @@
     ":white_box_tests_sources",
   ]
 
-  if (dawn_use_angle && defined(dawn_angle_dir)) {
-    data_deps = [
-      "${dawn_angle_dir}:libEGL",
-      "${dawn_angle_dir}:libGLESv2",
-    ]
-  }
-
   sources = []
   libs = []