Hacker News new | ask | show | jobs
by rcxdude 4215 days ago
Compiling external dependencies is non-trivial, even though cargo gives the bare minimum of tools to make it possible. I think it's unreasonable to expect rust to construct it's own replica of distribution's packages for C/C++ code. To my knowledge no other language has a package manager or repository which does this, or even attempts to.
1 comments

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'.

Just failing? Nope.