Add missing sqlite module into our python3 build

Bug: 195474139
Test: py3-cmd -c "import sqlite3; print(sqlite3.sqlite_version)"
Change-Id: I439da2b86bd4b9425293c633a6217775daf5132a
diff --git a/Android-bionic.bp b/Android-bionic.bp
index 690f831..9cc5bd4 100644
--- a/Android-bionic.bp
+++ b/Android-bionic.bp
@@ -70,6 +70,15 @@
         "Modules/sha512module.c",
         "Modules/signalmodule.c",
         "Modules/socketmodule.c",
+        "Modules/_sqlite/cache.c",
+        "Modules/_sqlite/connection.c",
+        "Modules/_sqlite/cursor.c",
+        "Modules/_sqlite/microprotocols.c",
+        "Modules/_sqlite/module.c",
+        "Modules/_sqlite/prepare_protocol.c",
+        "Modules/_sqlite/row.c",
+        "Modules/_sqlite/statement.c",
+        "Modules/_sqlite/util.c",
         "Modules/_sre.c",
         "Modules/_stat.c",
         "Modules/_statisticsmodule.c",
diff --git a/Android-darwin.bp b/Android-darwin.bp
index 5ad3a7d..023d371 100644
--- a/Android-darwin.bp
+++ b/Android-darwin.bp
@@ -40,6 +40,15 @@
         "Modules/_queuemodule.c",
         "Modules/_randommodule.c",
         "Modules/_sha3/sha3module.c",
+        "Modules/_sqlite/cache.c",
+        "Modules/_sqlite/connection.c",
+        "Modules/_sqlite/cursor.c",
+        "Modules/_sqlite/microprotocols.c",
+        "Modules/_sqlite/module.c",
+        "Modules/_sqlite/prepare_protocol.c",
+        "Modules/_sqlite/row.c",
+        "Modules/_sqlite/statement.c",
+        "Modules/_sqlite/util.c",
         "Modules/_sre.c",
         "Modules/_stat.c",
         "Modules/_statisticsmodule.c",
diff --git a/Android-linux_arm64.bp b/Android-linux_arm64.bp
index 796b1fa..fce7087 100644
--- a/Android-linux_arm64.bp
+++ b/Android-linux_arm64.bp
@@ -40,6 +40,15 @@
         "Modules/_queuemodule.c",
         "Modules/_randommodule.c",
         "Modules/_sha3/sha3module.c",
+        "Modules/_sqlite/cache.c",
+        "Modules/_sqlite/connection.c",
+        "Modules/_sqlite/cursor.c",
+        "Modules/_sqlite/microprotocols.c",
+        "Modules/_sqlite/module.c",
+        "Modules/_sqlite/prepare_protocol.c",
+        "Modules/_sqlite/row.c",
+        "Modules/_sqlite/statement.c",
+        "Modules/_sqlite/util.c",
         "Modules/_sre.c",
         "Modules/_stat.c",
         "Modules/_statisticsmodule.c",
diff --git a/Android-linux_x86_64.bp b/Android-linux_x86_64.bp
index 234b38d..fb11a39 100644
--- a/Android-linux_x86_64.bp
+++ b/Android-linux_x86_64.bp
@@ -72,6 +72,15 @@
         "Modules/sha512module.c",
         "Modules/signalmodule.c",
         "Modules/socketmodule.c",
+        "Modules/_sqlite/cache.c",
+        "Modules/_sqlite/connection.c",
+        "Modules/_sqlite/cursor.c",
+        "Modules/_sqlite/microprotocols.c",
+        "Modules/_sqlite/module.c",
+        "Modules/_sqlite/prepare_protocol.c",
+        "Modules/_sqlite/row.c",
+        "Modules/_sqlite/statement.c",
+        "Modules/_sqlite/util.c",
         "Modules/_sre.c",
         "Modules/_ssl.c",
         "Modules/_stat.c",
diff --git a/Android.bp b/Android.bp
index d7e8449..5154b97 100644
--- a/Android.bp
+++ b/Android.bp
@@ -499,7 +499,9 @@
     cflags: [
         "-DPy_BUILD_CORE_BUILTIN",
         "-DUSE_PYEXPAT_CAPI",
+        "-DSQLITE_OMIT_LOAD_EXTENSION",
     ],
+    shared_libs: ["libsqlite"],
     static_libs: [
         "libexpat",
         "libz",
diff --git a/android/Setup.local b/android/Setup.local
index 0113ebb..307db34 100644
--- a/android/Setup.local
+++ b/android/Setup.local
@@ -58,3 +58,5 @@
 _sha3 _sha3/sha3module.c
 
 _struct _struct.c
+
+_sqlite3 _sqlite/cache.c _sqlite/connection.c _sqlite/cursor.c _sqlite/microprotocols.c _sqlite/module.c _sqlite/prepare_protocol.c _sqlite/row.c _sqlite/statement.c _sqlite/util.c
diff --git a/android/bionic/config.c b/android/bionic/config.c
index 8cdc768..cf249dc 100644
--- a/android/bionic/config.c
+++ b/android/bionic/config.c
@@ -73,6 +73,7 @@ extern PyObject* PyInit__sha256(void);
 extern PyObject* PyInit__sha512(void);
 extern PyObject* PyInit__sha3(void);
 extern PyObject* PyInit__struct(void);
+extern PyObject* PyInit__sqlite3(void);
 extern PyObject* PyInit_posix(void);
 extern PyObject* PyInit_errno(void);
 extern PyObject* PyInit_pwd(void);
@@ -157,6 +158,7 @@ struct _inittab _PyImport_Inittab[] = {
     {"_sha512", PyInit__sha512},
     {"_sha3", PyInit__sha3},
     {"_struct", PyInit__struct},
+    {"_sqlite3", PyInit__sqlite3},
     {"posix", PyInit_posix},
     {"errno", PyInit_errno},
     {"pwd", PyInit_pwd},
diff --git a/android/darwin/config.c b/android/darwin/config.c
index 8cdc768..cf249dc 100644
--- a/android/darwin/config.c
+++ b/android/darwin/config.c
@@ -73,6 +73,7 @@ extern PyObject* PyInit__sha256(void);
 extern PyObject* PyInit__sha512(void);
 extern PyObject* PyInit__sha3(void);
 extern PyObject* PyInit__struct(void);
+extern PyObject* PyInit__sqlite3(void);
 extern PyObject* PyInit_posix(void);
 extern PyObject* PyInit_errno(void);
 extern PyObject* PyInit_pwd(void);
@@ -157,6 +158,7 @@ struct _inittab _PyImport_Inittab[] = {
     {"_sha512", PyInit__sha512},
     {"_sha3", PyInit__sha3},
     {"_struct", PyInit__struct},
+    {"_sqlite3", PyInit__sqlite3},
     {"posix", PyInit_posix},
     {"errno", PyInit_errno},
     {"pwd", PyInit_pwd},
diff --git a/android/linux_arm64/config.c b/android/linux_arm64/config.c
index 8cdc768..cf249dc 100644
--- a/android/linux_arm64/config.c
+++ b/android/linux_arm64/config.c
@@ -73,6 +73,7 @@ extern PyObject* PyInit__sha256(void);
 extern PyObject* PyInit__sha512(void);
 extern PyObject* PyInit__sha3(void);
 extern PyObject* PyInit__struct(void);
+extern PyObject* PyInit__sqlite3(void);
 extern PyObject* PyInit_posix(void);
 extern PyObject* PyInit_errno(void);
 extern PyObject* PyInit_pwd(void);
@@ -157,6 +158,7 @@ struct _inittab _PyImport_Inittab[] = {
     {"_sha512", PyInit__sha512},
     {"_sha3", PyInit__sha3},
     {"_struct", PyInit__struct},
+    {"_sqlite3", PyInit__sqlite3},
     {"posix", PyInit_posix},
     {"errno", PyInit_errno},
     {"pwd", PyInit_pwd},
diff --git a/android/linux_x86_64/config.c b/android/linux_x86_64/config.c
index 7889efe..c97555f 100644
--- a/android/linux_x86_64/config.c
+++ b/android/linux_x86_64/config.c
@@ -76,6 +76,7 @@ extern PyObject* PyInit__sha256(void);
 extern PyObject* PyInit__sha512(void);
 extern PyObject* PyInit__sha3(void);
 extern PyObject* PyInit__struct(void);
+extern PyObject* PyInit__sqlite3(void);
 extern PyObject* PyInit_posix(void);
 extern PyObject* PyInit_errno(void);
 extern PyObject* PyInit_pwd(void);
@@ -163,6 +164,7 @@ struct _inittab _PyImport_Inittab[] = {
     {"_sha512", PyInit__sha512},
     {"_sha3", PyInit__sha3},
     {"_struct", PyInit__struct},
+    {"_sqlite3", PyInit__sqlite3},
     {"posix", PyInit_posix},
     {"errno", PyInit_errno},
     {"pwd", PyInit_pwd},