Skip to content

libsql-sqlite3: Skip SQLITE_USER_AUTHENTICATION #warning on MSVC#2241

Merged
penberg merged 1 commit into
mainfrom
windows-build-error
May 27, 2026
Merged

libsql-sqlite3: Skip SQLITE_USER_AUTHENTICATION #warning on MSVC#2241
penberg merged 1 commit into
mainfrom
windows-build-error

Conversation

@penberg
Copy link
Copy Markdown
Collaborator

@penberg penberg commented May 27, 2026

The SQLITE_USER_AUTHENTICATION deprecation #warning (added upstream in SQLite 3.46.0) is a hard error under MSVC's default traditional C preprocessor (error C1021: invalid preprocessor command 'warning'), breaking Windows builds. SQLite3MultipleCiphers force-enables SQLITE_USER_AUTHENTICATION by default, so the directive is active even though build.rs passes -DSQLITE_USER_AUTHENTICATION=OFF.

Guard the directive with !defined(_MSC_VER) so the deprecation notice is kept for GCC/Clang and skipped on MSVC. This is purely a compile-time diagnostic; the extension's runtime behavior is unchanged on all platforms.

Upstream removed this extension entirely in SQLite 3.48.0 (commit bc4df60), so this local patch becomes moot once the bundled SQLite is updated past 3.47.0. The patch is applied in libsql-sqlite3/src and mirrored into both regenerated bundled amalgamations.

The SQLITE_USER_AUTHENTICATION deprecation #warning (added upstream in
SQLite 3.46.0) is a hard error under MSVC's default traditional C
preprocessor (error C1021: invalid preprocessor command 'warning'),
breaking Windows builds. SQLite3MultipleCiphers force-enables
SQLITE_USER_AUTHENTICATION by default, so the directive is active even
though build.rs passes -DSQLITE_USER_AUTHENTICATION=OFF.

Guard the directive with !defined(_MSC_VER) so the deprecation notice is
kept for GCC/Clang and skipped on MSVC. This is purely a compile-time
diagnostic; the extension's runtime behavior is unchanged on all
platforms.

Upstream removed this extension entirely in SQLite 3.48.0 (commit
bc4df60), so this local patch becomes moot once the bundled SQLite is
updated past 3.47.0. The patch is applied in libsql-sqlite3/src and
mirrored into both regenerated bundled amalgamations.
@penberg penberg merged commit 23c1dd1 into main May 27, 2026
20 checks passed
@penberg penberg deleted the windows-build-error branch May 27, 2026 08:18
penberg added a commit that referenced this pull request May 27, 2026
…SVC (#2241)"

This reverts commit 23c1dd1, reversing
changes made to d1d48dd.
penberg added a commit that referenced this pull request May 28, 2026
…SVC (#2241)"

This reverts commit 23c1dd1, reversing
changes made to d1d48dd.
penberg added a commit that referenced this pull request May 28, 2026
…SVC (#2241)"

This reverts commit 23c1dd1, reversing
changes made to d1d48dd.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant