HadrienG2 / hwlocality

Rust bindings to Open MPI Portable Hardware Locality "hwloc" library, covering version 2.0 and above.
MIT License
20 stars 5 forks source link

Update description to emphasize that bundled version exists #81

Closed nazar-pc closed 8 months ago

nazar-pc commented 8 months ago

I'm working on a software that can't expect user to install hwlock library and the fact that hwlocality has bundled (it is typically called vendored though) version is a big win.

However, I noticed it much later because the first line in prerequisites is:

You will need a system with hwloc >=2.0.0 and associated development packages installed.

I think it should mention right there something like "or optionally vendored version can be used".

Similarly https://crates.io/crates/hwlocality-sys mentions bindings, but not the fact that it has vendored option too.

Without reading cargo features and/or source code it is not possible to discover that, while for me the fact that I can statically link to a recent version of the library is a major benefit of the library comparing to the alternatives.

HadrienG2 commented 8 months ago

Indeed, I was wondering whether this feature was worth its code complexity cost back when @uglyoldbob submitted it, but since then I've needed to use hwlocality on CentOS7 (which is sadly popular with my sysadmins), and the bundling feature has been a lifesaver there. So in the end I'm glad we did what it took to make it work.

I'm not opposed to renaming it to "vendor-hwloc" or something if you think that would be more intuitive to users, and I'll tweak the docs to make its existence more obvious. Thanks for your feedback!

nazar-pc commented 8 months ago

openssl crate and I believe a few others literally call the feature vendored: https://docs.rs/openssl/0.10.62/openssl/#vendored