blob: 0a2d5c39d1c0587b8ef40ffa63d627a1d5c2b58e [file] [log] [blame]
--- Android.bp 2020-10-30 16:41:52.854552104 -0700
+++ Android.bp 2020-10-30 16:47:00.153323579 -0700
@@ -1,10 +1,16 @@
// This file is generated by cargo2android.py --device --run --dependencies --test --patch=patches/Android.bp.patch.
+// We renamed the shared_libs dependence from libsqlite3 to libsqlite.
+// srcs has been moved out of _defaults to work around b/163420435
+
rust_library {
name: "liblibsqlite3_sys",
host_supported: true,
crate_name: "libsqlite3_sys",
- srcs: ["src/lib.rs"],
+ srcs: [
+ "src/lib.rs",
+ ":libsqlite3_bindgen",
+ ],
edition: "2018",
features: [
"default",
@@ -12,13 +18,14 @@
"pkg-config",
"vcpkg",
],
- shared_libs: ["libsqlite3"],
+ shared_libs: [
+ "libsqlite",
+ ],
}
rust_defaults {
name: "libsqlite3-sys_defaults",
crate_name: "libsqlite3_sys",
- srcs: ["src/lib.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
edition: "2018",
@@ -28,23 +35,70 @@
"pkg-config",
"vcpkg",
],
- shared_libs: ["libsqlite3"],
+ shared_libs: [
+ "libsqlite",
+ ],
}
rust_test_host {
name: "libsqlite3-sys_host_test_src_lib",
+ srcs: [
+ "src/lib.rs",
+ ":libsqlite3_bindgen",
+ ],
defaults: ["libsqlite3-sys_defaults"],
}
rust_test {
name: "libsqlite3-sys_device_test_src_lib",
+ srcs: [
+ "src/lib.rs",
+ ":libsqlite3_bindgen",
+ ],
defaults: ["libsqlite3-sys_defaults"],
}
// dependent_library ["feature_list"]
// pkg-config-0.3.19
-Errors in cargo.out:
-error: linking with `cc` failed: exit code: 1
-error: aborting due to previous error
-error: could not compile `libsqlite3-sys`.
+// Keep this array in sync with the cflags used in external/sqlite
+// After b/163598610 is resolved, use defaults instead.
+sqlite3_bindgen_clang_flags = [
+ " -DNDEBUG=1",
+ " -DHAVE_USLEEP=1",
+ " -DSQLITE_HAVE_ISNAN",
+ " -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576",
+ " -DSQLITE_THREADSAFE=2",
+ " -DSQLITE_TEMP_STORE=3",
+ " -DSQLITE_POWERSAFE_OVERWRITE=1",
+ " -DSQLITE_DEFAULT_FILE_FORMAT=4",
+ " -DSQLITE_DEFAULT_AUTOVACUUM=1",
+ " -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1",
+ " -DSQLITE_ENABLE_FTS3",
+ " -DSQLITE_ENABLE_FTS3_BACKWARDS",
+ " -DSQLITE_ENABLE_FTS4",
+ " -DSQLITE_OMIT_BUILTIN_TEST",
+ " -DSQLITE_OMIT_COMPILEOPTION_DIAGS",
+ " -DSQLITE_OMIT_LOAD_EXTENSION",
+ " -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600",
+ " -DSQLITE_SECURE_DELETE",
+ " -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE",
+ " -DBIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD",
+ " -DHAVE_POSIX_FALLOCATE=1",
+ // extra -D flags for android targets
+ " -DUSE_PREAD64",
+ " -Dfdatasync=fdatasync",
+ " -DHAVE_MALLOC_H=1",
+ " -DHAVE_MALLOC_USABLE_SIZE",
+ " -Wno-unused-parameter",
+]
+
+rust_bindgen {
+ name: "libsqlite3_bindgen",
+ host_supported: true,
+ crate_name: "sqlite3_bindgen",
+ custom_bindgen: "sqlite3_bindgen_build",
+ wrapper_src: "wrapper.h",
+ source_stem: "bindgen",
+ cflags: ["-I external/sqlite/dist"] + sqlite3_bindgen_clang_flags,
+}