diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f74fd55..b251ebf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -122,18 +122,6 @@ jobs: - run: cargo test --features 'bundled-full session buildtime_bindgen' --all-targets --workspace --verbose - run: cargo test --features 'bundled-full session buildtime_bindgen' --doc --workspace --verbose - winsqlite3: - name: Test with winsqlite3 - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - uses: hecrj/setup-rust-action@v1 - - uses: Swatinem/rust-cache@v2 - # TODO: Should this test GNU toolchain? What about +crt-static? - # TODO: Is it worth testing other features? - - run: cargo build --features winsqlite3 --workspace --all-targets --verbose - - run: cargo test --features winsqlite3 --workspace --all-targets --verbose - sqlcipher: name: Test with sqlcipher runs-on: ubuntu-latest diff --git a/Cargo.toml b/Cargo.toml index 94cc830..6cf3e02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,8 +76,6 @@ 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"] # 3.23.0 serialize = ["modern_sqlite"] diff --git a/README.md b/README.md index 13db5ff..3e2bcc4 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,6 @@ features](https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-s * `extra_check` fail when a query passed to execute is readonly or has a column count > 0. * `column_decltype` provides `columns()` method for Statements and Rows; omit if linking to a version of SQLite/SQLCipher compiled with `-DSQLITE_OMIT_DECLTYPE`. * `collation` exposes [`sqlite3_create_collation_v2`](https://sqlite.org/c3ref/create_collation.html). -* `winsqlite3` allows linking against the SQLite present in newer versions of Windows ## Notes on building rusqlite and libsqlite3-sys diff --git a/libsqlite3-sys/Cargo.toml b/libsqlite3-sys/Cargo.toml index 248c69c..d16a050 100644 --- a/libsqlite3-sys/Cargo.toml +++ b/libsqlite3-sys/Cargo.toml @@ -34,13 +34,6 @@ in_gecko = [] with-asan = [] wasm32-wasi-vfs = [] -# lowest version shipped with Windows 10.0.10586 was 3.8.8.3 -# -# 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 = [] - [dependencies] openssl-sys = { version = "0.9", optional = true } diff --git a/libsqlite3-sys/build.rs b/libsqlite3-sys/build.rs index 79721e6..ca5a21c 100644 --- a/libsqlite3-sys/build.rs +++ b/libsqlite3-sys/build.rs @@ -331,8 +331,6 @@ fn env_prefix() -> &'static str { fn lib_name() -> &'static str { if cfg!(any(feature = "sqlcipher", feature = "bundled-sqlcipher")) { "sqlcipher" - } else if cfg!(all(windows, feature = "winsqlite3")) { - "winsqlite3" } else { "sqlite3" } @@ -433,12 +431,6 @@ mod build_linked { #[cfg(not(feature = "loadable_extension"))] println!("cargo:link-target={link_lib}"); - if win_target() && cfg!(feature = "winsqlite3") { - #[cfg(not(feature = "loadable_extension"))] - println!("cargo:rustc-link-lib=dylib={link_lib}"); - return HeaderLocation::Wrapper; - } - // Allow users to specify where to find SQLite. if let Ok(dir) = env::var(format!("{}_LIB_DIR", env_prefix())) { // Try to use pkg-config to determine link commands @@ -599,36 +591,6 @@ mod bindings { if cfg!(feature = "session") { bindings = bindings.clang_arg("-DSQLITE_ENABLE_SESSION"); } - if win_target() && cfg!(feature = "winsqlite3") { - bindings = bindings - .clang_arg("-DBINDGEN_USE_WINSQLITE3") - .blocklist_item("NTDDI_.+") - .blocklist_item("WINAPI_FAMILY.*") - .blocklist_item("_WIN32_.+") - .blocklist_item("_VCRT_COMPILER_PREPROCESSOR") - .blocklist_item("_SAL_VERSION") - .blocklist_item("__SAL_H_VERSION") - .blocklist_item("_USE_DECLSPECS_FOR_SAL") - .blocklist_item("_USE_ATTRIBUTES_FOR_SAL") - .blocklist_item("_CRT_PACKING") - .blocklist_item("_HAS_EXCEPTIONS") - .blocklist_item("_STL_LANG") - .blocklist_item("_HAS_CXX17") - .blocklist_item("_HAS_CXX20") - .blocklist_item("_HAS_NODISCARD") - .blocklist_item("WDK_NTDDI_VERSION") - .blocklist_item("OSVERSION_MASK") - .blocklist_item("SPVERSION_MASK") - .blocklist_item("SUBVERSION_MASK") - .blocklist_item("WINVER") - .blocklist_item("__security_cookie") - .blocklist_type("size_t") - .blocklist_type("__vcrt_bool") - .blocklist_type("wchar_t") - .blocklist_function("__security_init_cookie") - .blocklist_function("__report_gsfailure") - .blocklist_function("__va_start"); - } // When cross compiling unless effort is taken to fix the issue, bindgen // will find the wrong headers. There's only one header included by the diff --git a/libsqlite3-sys/src/lib.rs b/libsqlite3-sys/src/lib.rs index 49ec1d5..4e5e948 100644 --- a/libsqlite3-sys/src/lib.rs +++ b/libsqlite3-sys/src/lib.rs @@ -5,9 +5,6 @@ #[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; diff --git a/libsqlite3-sys/wrapper.h b/libsqlite3-sys/wrapper.h index ecbcc44..b5e2c60 100644 --- a/libsqlite3-sys/wrapper.h +++ b/libsqlite3-sys/wrapper.h @@ -1,5 +1 @@ -#ifdef BINDGEN_USE_WINSQLITE3 -#include <winsqlite/winsqlite3.h> -#else #include "sqlite3.h" -#endif