Cargo's build system doesn't have to build the dependencies, it just has to resolve them somehow.
That can be via package manager, pkg-config, static library download, building them, or via prompting the user to install them manually.
Since rust supports the #[cfg(target="foo")] in build scripts, you can even implement your solution for just one platform, and then slowly add additional platform support as people demand it.
A message like: "Hey, your platform isn't supported by our build script; submit a bug at ... if you'd like to get support added. We welcome push requests". <-- A+++
For example, android support is probably not a target for most crates, but it may be an important target in the future for many libraries. ...and building a cross-compiled android binary is a LOT more involved than just an 'apt-get install foo'.
That can be via package manager, pkg-config, static library download, building them, or via prompting the user to install them manually.
Since rust supports the #[cfg(target="foo")] in build scripts, you can even implement your solution for just one platform, and then slowly add additional platform support as people demand it.
A message like: "Hey, your platform isn't supported by our build script; submit a bug at ... if you'd like to get support added. We welcome push requests". <-- A+++
For example, android support is probably not a target for most crates, but it may be an important target in the future for many libraries. ...and building a cross-compiled android binary is a LOT more involved than just an 'apt-get install foo'.
Just failing? Nope.