[package]
name = "hwlocality-sys"
version = "0.6.2"
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "Low-level bindings for the hwloc hardware locality library"
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
links = "hwloc"

# See hwlocality's main Cargo.toml for detailed feature descriptions
[features]
hwloc-latest = ["hwloc-2_12_1"]
hwloc-2_0_4 = []
hwloc-2_1_0 = ["hwloc-2_0_4"]
hwloc-2_2_0 = ["hwloc-2_1_0"]
hwloc-2_3_0 = ["hwloc-2_2_0"]
hwloc-2_4_0 = ["hwloc-2_3_0"]
hwloc-2_5_0 = ["hwloc-2_4_0"]
hwloc-2_8_0 = ["hwloc-2_5_0"]
hwloc-2_10_0 = ["hwloc-2_8_0"]
hwloc-2_11_0 = ["hwloc-2_10_0"]
hwloc-2_12_0 = ["hwloc-2_11_0"]
hwloc-2_12_1 = ["hwloc-2_12_0"]
hwloc-3_0_0 = ["hwloc-2_12_1"]
vendored = ["dep:autotools", "dep:cmake", "dep:flate2", "dep:sha3", "dep:tar", "dep:ureq"]
vendored-extra = ["vendored"]
# This feature does nothing in -sys and is only here for CI convenience
proptest = []

[target.'cfg(windows)'.dependencies]
# Used for OS typedefs
windows-sys.workspace = true

[target.'cfg(not(windows))'.dependencies]
# Used for OS typedefs
libc.workspace = true

[build-dependencies]
# Used to locate hwloc except in cmake vendored builds
pkg-config = "0.3.32"

# Used for vendored builds on all OSes
flate2 = { version = "1.1", optional = true }
sha3 = { version = "0.10.8", optional = true }
tar = { version = "0.4", optional = true }
ureq = { version = "3.1", optional = true }

# Used for vendored builds targeting OSes other than Windows
autotools = { version = "0.2", optional = true }

# Used for vendored builds targeting Windows
cmake = { version = "0.1.54", optional = true }

[dev-dependencies]
# Used to check trait implementations
static_assertions.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
