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 = {