From 8e5c8e8167f0d53d8049ec4d60c9ce2bba8a6e00 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Tue, 14 Sep 2021 09:31:54 +0900 Subject: Add liblibsqlite3_sys_noicu The library is a variant of liblibsqlite3_sys which uses libsqlite built with no ICU extension. Bug: 199674764 Test: m Change-Id: I0a80f0005f747a9ab92d1b3b7e335b24252f4a1b --- Android.bp | 22 ++++++++++++++++ cargo2android.json | 6 +++-- extra-module.bp | 20 +++++++++++++++ patches/Android.bp.patch | 67 ++++++++++++++++++++++-------------------------- 4 files changed, 76 insertions(+), 39 deletions(-) create mode 100644 extra-module.bp diff --git a/Android.bp b/Android.bp index df125da..1d265d8 100644 --- a/Android.bp +++ b/Android.bp @@ -116,3 +116,25 @@ rust_test { clippy_lints: "none", lints: "none", } + +rust_library { + name: "liblibsqlite3_sys_noicu", + host_supported: true, + crate_name: "libsqlite3_sys", + cargo_env_compat: true, + srcs: [ + "src/lib.rs", + ":libsqlite3_bindgen", + ], + edition: "2018", + features: [ + "default", + "min_sqlite_version_3_6_8", + "pkg-config", + "vcpkg", + ], + static_libs: [ + "libsqlite_static_noicu", + ], +} + diff --git a/cargo2android.json b/cargo2android.json index 3362132..3668ba2 100644 --- a/cargo2android.json +++ b/cargo2android.json @@ -2,5 +2,7 @@ "device": true, "patch": "patches/Android.bp.patch", "run": true, - "tests": true -} \ No newline at end of file + "tests": true, + "copy-out": true, + "add-toplevel-block": "extra-module.bp" +} diff --git a/extra-module.bp b/extra-module.bp new file mode 100644 index 0000000..8676b74 --- /dev/null +++ b/extra-module.bp @@ -0,0 +1,20 @@ +rust_library { + name: "liblibsqlite3_sys_noicu", + host_supported: true, + crate_name: "libsqlite3_sys", + cargo_env_compat: true, + srcs: [ + "src/lib.rs", + ":libsqlite3_bindgen", + ], + edition: "2018", + features: [ + "default", + "min_sqlite_version_3_6_8", + "pkg-config", + "vcpkg", + ], + static_libs: [ + "libsqlite_static_noicu", + ], +} diff --git a/patches/Android.bp.patch b/patches/Android.bp.patch index e277bb8..0928aa0 100644 --- a/patches/Android.bp.patch +++ b/patches/Android.bp.patch @@ -1,56 +1,53 @@ ---- Android.bp 2021-04-14 17:32:44.882379059 +0000 -+++ Android.bp 2021-04-14 17:33:25.765957305 +0000 -@@ -40,7 +40,10 @@ - crate_name: "libsqlite3_sys", - cargo_env_compat: true, - cargo_pkg_version: "0.22.2", -- srcs: ["src/lib.rs"], -+ srcs: [ -+ "src/lib.rs", +diff --git a/Android.bp b/Android.bp +index 1764165..df125da 100644 +--- a/Android.bp ++++ b/Android.bp +@@ -38,9 +38,2 @@ license { + +-genrule { +- name: "copy_libsqlite3-sys_build_out", +- srcs: ["out/*"], +- cmd: "cp $(in) $(genDir)", +- out: ["bindgen.rs"], +-} +- + rust_library { +@@ -53,3 +46,3 @@ rust_library { + "src/lib.rs", +- ":copy_libsqlite3-sys_build_out", + ":libsqlite3_bindgen", -+ ], - edition: "2018", - features: [ - "default", -@@ -48,13 +51,14 @@ - "pkg-config", - "vcpkg", + ], +@@ -62,3 +55,5 @@ rust_library { ], - shared_libs: ["libsqlite3"], + shared_libs: [ + "libsqlite", + ], } - - rust_defaults { - name: "libsqlite3-sys_test_defaults", +@@ -68,8 +63,2 @@ rust_defaults { crate_name: "libsqlite3_sys", -- srcs: ["src/lib.rs"], +- srcs: [ +- "src/lib.rs", +- ":copy_libsqlite3-sys_build_out", +- ], +- cargo_env_compat: true, +- cargo_pkg_version: "0.22.2", test_suites: ["general-tests"], - auto_gen_config: true, - edition: "2018", -@@ -64,11 +68,17 @@ - "pkg-config", - "vcpkg", +@@ -83,3 +72,5 @@ rust_defaults { ], - shared_libs: ["libsqlite3"], + shared_libs: [ + "libsqlite", + ], } - - rust_test_host { +@@ -88,2 +79,6 @@ rust_test_host { name: "libsqlite3-sys_host_test_src_lib", + srcs: [ + "src/lib.rs", + ":libsqlite3_bindgen", + ], defaults: ["libsqlite3-sys_test_defaults"], - test_options: { - unit_test: true, -@@ -77,10 +87,30 @@ - - rust_test { +@@ -96,3 +91,28 @@ rust_test { name: "libsqlite3-sys_device_test_src_lib", + srcs: [ + "src/lib.rs", @@ -58,11 +55,7 @@ + ], defaults: ["libsqlite3-sys_test_defaults"], } - --Errors in cargo.out: --error: linking with `cc` failed: exit status: 1 --error: aborting due to previous error --error: could not compile `libsqlite3-sys` ++ +rust_bindgen { + name: "libsqlite3_bindgen", + host_supported: true, -- cgit v1.2.3