[package]
name = "squire-sqlite3-sys"
description = "External FFI bindings for the SQLite C API"
version = "0.0.1-alpha.8"
edition = "2024"
links = "sqlite3"
readme = "Readme.md"
repository.workspace = true
license.workspace = true
categories = ["external-ffi-bindings"]
keywords = ["sqlite", "ffi"]

[features]
default = ["bundled", "common", "multi-thread"]
bindgen = [
    "dep:bindgen",
    "dep:syn",
    "dep:prettyplease",
    "dep:proc-macro2",
    "dep:quote",
]
bundled = ["dep:sqlite", "static"]
static = []

multi-thread = []
serialized = ["multi-thread"]

core = [
    "json",
    "vtab",
]
common = [
    "core",
    "blob-io",
    "fts",
    "geo",
    "serialize",
    "snapshot",
    "stat4",
    "stat-vtab",
]
full = [
    "common",
    "authorization",
    "extensions",
    "fts3",
    "memory-status",
    "metadata",
    "normalize-sql",
    "preupdate-hook",
    "progress-callback",
    "session",
    "soundex",
    "trace",
]
metadata = ["column-metadata", "decltype"]

armor = []
authorization = []
auto-vacuum = []
blob-io = []
column-metadata = []
decltype = []
extensions = []
fts = ["fts5"]
fts3 = []
fts5 = ["blob-io"]
geo = ["geopoly", "rtree"]
geopoly = ["vtab"]
json = []
memory-status = []
normalize-sql = []
page-vtab = ["vtab"]
preupdate-hook = []
progress-callback = []
rtree = ["vtab"]
serialize = []
session = ["preupdate-hook"]
shared-cache = ["multi-thread"]
snapshot = []
soundex = []
stat-vtab = ["vtab"]
stat4 = []
trace = []
utf-16 = []
vtab = []

[build-dependencies.sqlite]
package = "squire-sqlite3-src"
path = "../src"
version = "3.51.3-alpha.3"
optional = true

[build-dependencies.features]
package = "squire-sqlite3-features"
path = "../features"
version = "0.1.0-alpha.3"
features = ["metadata", "build"]

[build-dependencies.bindgen]
version = "^0.72"
optional = true

[build-dependencies.syn]
version = "^2.0"
features = ["full", "parsing", "printing"]
optional = true

[build-dependencies.prettyplease]
version = "^0.2"
optional = true

[build-dependencies.proc-macro2]
version = "^1.0"
optional = true

[build-dependencies.quote]
version = "^1.0"
optional = true

[build-dependencies.pkg-config]
version = "^0.3.32"
optional = true

[package.metadata.docs.rs]
features = ["bundled", "full", "serialized"]
no-default-features = true

rustdoc-args = ["--cfg", "docsrs"]

targets = [
    "aarch64-apple-darwin",
    "aarch64-unknown-linux-gnu",
    "i686-unknown-linux-gnu",
    "x86_64-unknown-linux-gnu",
]
