Files
codex/third_party/sqlite/BUILD.bazel
T
Sean Huang 76a8ca3914 Upgrade Bazel rules_rs to 0.2.3 (#61355)
## What changed

- Use the `rules_rs` 0.2.3 registry release instead of an archive override, and upgrade `platforms` to 1.1.0.
- Disable root crate alias targets and migrate explicit dependencies to package labels such as `@crates//tokio`. Disable root crate data for the argument comment linter's crate repository.
- Refresh the retained `rules_rs` patches, remove the zlib snapshot URL backport, and drop extra dependency declarations from `exec-server` and `v8-poc`.

GitOrigin-RevId: c354413a19b45964104457063c613028f5325bc0
2026-11-13 18:51:30 +00:00

70 lines
2.2 KiB
Python

load("@bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory")
load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("sqlite_build_info.bzl", "sqlite_build_info")
package(default_visibility = ["//visibility:public"])
exports_files([
"libsqlite3_sys.BUILD.bazel",
])
# Use bindings and native code from the same libsqlite3-sys release.
copy_to_directory(
name = "sqlite_bindings",
srcs = ["@crates//libsqlite3_sys_bindings"],
include_external_repositories = ["*"],
replace_prefixes = {"sqlite3/bindgen_bundled_version.rs": "bindgen.rs"},
)
sqlite_build_info(
name = "libsqlite3_sys_build_info",
cc_lib = "sqlite3",
out_dir = "sqlite_bindings",
)
# Match libsqlite3-sys's bundled build without embedding build.rs's worker path.
# Internal compilation options must not leak into dependent C/C++ targets.
cc_library(
name = "sqlite3",
srcs = ["@crates//libsqlite3_sys_source"],
linkopts = select({
"@platforms//os:freebsd": ["-lpthread"],
"@platforms//os:linux": [
"-lpthread",
"-ldl",
],
"@platforms//os:netbsd": ["-lpthread"],
"@platforms//os:openbsd": ["-lpthread"],
"//conditions:default": [],
}),
linkstatic = True,
local_defines = [
"SQLITE_CORE",
"SQLITE_DEFAULT_FOREIGN_KEYS=1",
"SQLITE_ENABLE_API_ARMOR",
"SQLITE_ENABLE_COLUMN_METADATA",
"SQLITE_ENABLE_DBSTAT_VTAB",
"SQLITE_ENABLE_FTS3",
"SQLITE_ENABLE_FTS3_PARENTHESIS",
"SQLITE_ENABLE_FTS5",
"SQLITE_ENABLE_JSON1",
"SQLITE_ENABLE_LOAD_EXTENSION=1",
"SQLITE_ENABLE_RTREE",
"SQLITE_ENABLE_STAT4",
"SQLITE_SOUNDEX",
"SQLITE_THREADSAFE=1",
"SQLITE_USE_URI",
"HAVE_USLEEP=1",
"HAVE_ISNAN",
"_POSIX_THREAD_SAFE_FUNCTIONS",
] + select({
"@platforms//os:windows": [],
"//conditions:default": ["HAVE_LOCALTIME_R"],
}) + select({
# Preserve Codex's workaround for older x64 Windows CPUs.
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ["SQLITE_DISABLE_INTRINSIC"],
"//conditions:default": [],
}),
deps = ["@crates//libsqlite3_sys_headers"],
)