Build the _ssl module

Bug: 110170704
Test: cd external/python/cpython2; mma
Change-Id: If8e4b0b4c46a7d610abe7803a1fc5e3a6ba4b7a1
diff --git a/Android.bp b/Android.bp
index 3ad97a2..f161d8f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -277,6 +277,7 @@
         "py2-c-module-_csv",
         "py2-c-module-_socket",
         "py2-c-module-termios",
+        "py2-c-module-_ssl",
         "py2-c-module-_md5",
         "py2-c-module-_sha",
         "py2-c-module-_sha256",
@@ -307,8 +308,10 @@
         "py2-c-module-_sqlite3",
         "py2-c-module-_ctypes_test",
         "py2-c-module-_ctypes",
-        "libz",
+        "libcrypto",
         "libexpat",
+        "libssl",
+        "libz",
     ],
     target: {
         linux_glibc_x86_64: {
@@ -531,6 +534,17 @@
 }
 
 cc_library_static {
+    name: "py2-c-module-_ssl",
+    defaults: ["py2-interp-defaults"],
+    srcs: ["Modules/_ssl.c"],
+    cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
+    static_libs: [
+        "libssl",
+        "libcrypto",
+    ],
+}
+
+cc_library_static {
     name: "py2-c-module-_md5",
     defaults: ["py2-interp-defaults"],
     srcs: [
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index d0ce913..0e0dacd 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -591,7 +591,9 @@
     Py_INCREF(sslctx);
 
     /* Make sure the SSL error state is initialized */
+#ifndef OPENSSL_IS_BORINGSSL
     (void) ERR_get_state();
+#endif
     ERR_clear_error();
 
     PySSL_BEGIN_ALLOW_THREADS
diff --git a/Modules/config.c b/Modules/config.c
index 67a0bc6..677c063 100644
--- a/Modules/config.c
+++ b/Modules/config.c
@@ -56,6 +56,7 @@
 extern void init_csv(void);
 extern void init_socket(void);
 extern void inittermios(void);
+extern void init_ssl(void);
 extern void init_md5(void);
 extern void init_sha(void);
 extern void init_sha256(void);
@@ -124,6 +125,7 @@
     {"_csv", init_csv},
     {"_socket", init_socket},
     {"termios", inittermios},
+    {"_ssl", init_ssl},
     {"_md5", init_md5},
     {"_sha", init_sha},
     {"_sha256", init_sha256},