gn2bp: Drop upstream boringssl build rules in favor of local Android.bp

Due to AOSP's FIPS requirements, AOSP-Cronet's BoringSSL must be
built differently than Chromium-Cronet's BoringSSL. The downstream way
of building BoringSSL is manually mantained in
//external/cronet/third_party/boringssl. So, whenever a target depends
on upstream's boringssl translate that to the downstream custom target.

Test: m && CtsNetHttpTestCases
Change-Id: I34a69de79397c35358745388be433934c203d2b2
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index dcd0acb..d8e12de 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -215,6 +215,14 @@
   else:
     module.arch[arch].shared_libs.add('libz')
 
+def enable_boringssl(module, arch):
+  if arch is None:
+    shared_libs = module.shared_libs
+  else:
+    shared_libs = module.arch[arch].shared_libs
+  shared_libs.add('//external/cronet/third_party/boringssl:libcrypto')
+  shared_libs.add('//external/cronet/third_party/boringssl:libssl')
+
 # Android equivalents for third-party libraries that the upstream project
 # depends on.
 builtin_deps = {
@@ -234,6 +242,13 @@
         enable_zlib,
     '//third_party/zlib:zlib__testing':
         enable_zlib,
+    '//third_party/boringssl:boringssl':
+        enable_boringssl,
+    '//third_party/boringssl:boringssl_asm':
+        # Due to FIPS requirements, downstream BoringSSL has a different "shape" than upstream's.
+        # We're guaranteed that if X depends on :boringssl it will also depend on :boringssl_asm.
+        # Hence, always drop :boringssl_asm and handle the translation entirely in :boringssl.
+        always_disable,
 }
 
 experimental_android_deps = {