[package]
name = "bsql-macros"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme = "../../README.md"
description = "Proc macros for bsql — compile-time safe SQL for Rust"

[lib]
proc-macro = true

[features]
default = []
time = []
chrono = []
uuid = []
decimal = []
explain = []
tls = ["bsql-driver-postgres/tls"]
sqlite = ["dep:bsql-driver-sqlite", "dep:libsqlite3-sys"]
sqlite-bundled = ["sqlite", "bsql-driver-sqlite/bundled", "libsqlite3-sys/bundled"]
sqlite-system = ["sqlite", "bsql-driver-sqlite/system"]

[dependencies]
syn = { workspace = true }
quote = { workspace = true }
proc-macro2 = { workspace = true }
bitcode = { workspace = true }
bsql-core = { workspace = true }
bsql-driver-postgres = { workspace = true }
log = { workspace = true }
smallvec = { workspace = true }

# SQLite (optional)
bsql-driver-sqlite = { workspace = true, optional = true }
libsqlite3-sys = { workspace = true, optional = true }

[dev-dependencies]
tempfile = "3"
proptest = "1"
