Enable build of openssl crate against BoringSSL

Bug: 177080016
Test: mm
Change-Id: I26a60ee18fbc3b8024bf6c1b32584ce0d93176ac
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..c17b1ca
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,50 @@
+// This file is generated by cargo2android.py --run --device.
+
+// WARNING! This crate has a change in dependency structure that is not yet
+// reflected on crates.io. This means that the automated update tool will
+// not be able to handle the next update, and it will need to be performed
+// manually - openssl-error and openssl-macros will need to be imported,
+// and the applied patch will need to be rebased one directory down to apply
+// to only the openssl crate if it is not yet upstreamed at that point.
+//
+// Even if upstreamed, cargo2android.py will likely never run correctly on
+// this package without modification because boringssl does not intend to
+// publish "bssl-ffi" on crates.io, since it needs to match the exact local
+// version of boringssl.
+
+rust_library {
+    name: "libopenssl",
+    host_supported: true,
+    crate_name: "openssl",
+    srcs: ["openssl/src/lib.rs"],
+    edition: "2018",
+    cfgs: [
+        "boringssl",
+    ],
+    features: [
+        "boringssl",
+    ],
+    proc_macros: [
+        "libopenssl_macros",
+    ],
+    rustlibs: [
+        "libbitflags",
+        "libbssl_ffi",
+        "libcfg_if",
+        "libforeign_types",
+        "liblibc",
+        "libonce_cell",
+    ],
+}
+
+rust_proc_macro {
+    name: "libopenssl_macros",
+    crate_name: "openssl_macros",
+    srcs: ["openssl-macros/src/lib.rs"],
+    edition: "2018",
+    rustlibs: [
+        "libquote",
+	"libsyn",
+	"libproc_macro2",
+    ],
+}