diff --git a/Cargo.toml b/Cargo.toml index a090fbb..5616c99 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,6 +72,7 @@ bundled-windows = ["libsqlite3-sys/bundled-windows"] with-asan = ["libsqlite3-sys/with-asan"] column_decltype = [] wasm32-wasi-vfs = ["libsqlite3-sys/wasm32-wasi-vfs"] +# Note: doesn't support 32-bit. winsqlite3 = ["libsqlite3-sys/winsqlite3"] # Helper feature for enabling most non-build-related optional features diff --git a/libsqlite3-sys/Cargo.toml b/libsqlite3-sys/Cargo.toml index 44d805d..c507e6f 100644 --- a/libsqlite3-sys/Cargo.toml +++ b/libsqlite3-sys/Cargo.toml @@ -35,8 +35,13 @@ session = ["preupdate_hook", "buildtime_bindgen"] in_gecko = [] with-asan = [] wasm32-wasi-vfs = [] + # lowest version shipped with Windows 10.0.10586 was 3.8.8.3 -winsqlite3 = ["min_sqlite_version_3_7_16", "buildtime_bindgen"] +# +# Note that because `winsqlite3.dll` exports SQLite functions using a atypical +# ABI on 32-bit systems, this is currently unsupported on these. This may change +# in the future. +winsqlite3 = ["min_sqlite_version_3_7_16"] [dependencies] openssl-sys = { version = "0.9", optional = true } diff --git a/libsqlite3-sys/src/lib.rs b/libsqlite3-sys/src/lib.rs index 00e57fb..5141df3 100644 --- a/libsqlite3-sys/src/lib.rs +++ b/libsqlite3-sys/src/lib.rs @@ -5,6 +5,9 @@ #[cfg(feature = "bundled-sqlcipher-vendored-openssl")] extern crate openssl_sys; +#[cfg(all(windows, feature = "winsqlite3", target_pointer_width = "32"))] +compile_error!("The `libsqlite3-sys/winsqlite3` feature is not supported on 32 bit targets."); + pub use self::error::*; use std::default::Default;