mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-04 19:02:58 +00:00
This PR fixes build issues associated with `aws-lc-rs`, while simplifying the build process. Previously, we used custom scripts for the musl and Windows ARM builds. These were complicated and prone to breaking. This PR switches to a setup that mirrors https://github.com/napi-rs/package-template/blob/main/.github/workflows/CI.yml. * linux glibc and musl builds now use the Docker images provided by the napi project * Windows ARM build now just cross compiles from Windows x64, which turns out to work quite well.
52 lines
1.5 KiB
TOML
52 lines
1.5 KiB
TOML
[profile.release]
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|
|
# Prioritize compile time over runtime performance
|
|
codegen-units = 16
|
|
lto = "thin"
|
|
|
|
[target.'cfg(all())']
|
|
rustflags = [
|
|
"-Wclippy::all",
|
|
"-Wclippy::style",
|
|
"-Wclippy::fallible_impl_from",
|
|
"-Wclippy::manual_let_else",
|
|
"-Wclippy::redundant_pub_crate",
|
|
"-Wclippy::string_add_assign",
|
|
"-Wclippy::string_add",
|
|
"-Wclippy::string_lit_as_bytes",
|
|
"-Wclippy::string_to_string",
|
|
"-Wclippy::use_self",
|
|
"-Dclippy::cargo",
|
|
"-Dclippy::dbg_macro",
|
|
# not too much we can do to avoid multiple crate versions
|
|
"-Aclippy::multiple-crate-versions",
|
|
"-Aclippy::wildcard_dependencies",
|
|
]
|
|
|
|
[target.x86_64-unknown-linux-gnu]
|
|
rustflags = ["-C", "target-cpu=haswell", "-C", "target-feature=+avx2,+fma,+f16c"]
|
|
|
|
[target.x86_64-unknown-linux-musl]
|
|
rustflags = ["-C", "target-cpu=haswell", "-C", "target-feature=-crt-static,+avx2,+fma,+f16c"]
|
|
|
|
[target.aarch64-unknown-linux-musl]
|
|
linker = "aarch64-linux-musl-gcc"
|
|
rustflags = ["-C", "target-feature=-crt-static"]
|
|
|
|
[target.aarch64-apple-darwin]
|
|
rustflags = ["-C", "target-cpu=apple-m1", "-C", "target-feature=+neon,+fp16,+fhm,+dotprod"]
|
|
|
|
# Not all Windows systems have the C runtime installed, so this avoids library
|
|
# not found errors on systems that are missing it.
|
|
[target.x86_64-pc-windows-msvc]
|
|
rustflags = ["-Ctarget-feature=+crt-static"]
|
|
|
|
# Experimental target for Arm64 Windows
|
|
[target.aarch64-pc-windows-msvc]
|
|
rustflags = ["-Ctarget-feature=+crt-static"]
|