| --- 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, |
| +} |