Closed Hoverbear closed 2 years ago
We want to be able to store relatively simple native dependency information in either Cargo.toml, or a flake.nix, or something else for each crate a project depends on. The goal is for, say, the openssl crate (and the pkg-config crate) to define that they depend on openssl's libraries (and pkg-config's executable.) Ana is leading this.
In an effort to embed native dependencies into a
Cargo.toml
, we read from thepackage.metadata.fsm.build-inputs
table for a list of package names (as keys) with semver markers for required version.Currently versions are ignored, this is a TODO.
Package dependencies are unioned together to create a full build-inputs list.
Existing "known" build-input mappings are retained, but relocated to a
Lazy<HashMap<&'static str, HashSet<&'static str>>>
.