bazelbuild / bazelbuild/rules_rust
Bindgen should use a downloaded or compiled `libstdc++` shared lib
- Dominant language
- Starlark
- Stars
- 843
- Forks
- 651
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 15
Description
Currently the `rust_bindgen` ([rust-bindgen](https://rust-lang.github.io/rust-bindgen/)) rule depends on a [local_repository](https://docs.bazel.build/versions/master/be/workspace.html#local_repository) to make `libstdc++` binaries available to the rule.
https://github.com/bazelbuild/rules_rust/blob/eb06a7974f448b3a2199d490282906d698c2d316/bindgen/repositories.bzl#L99-L113
This is pretty non-hermetic and I believe is the reason why we can't use the bindgen rules on MacOS. Instead, the rule should [build it's own version of libstdc++](https://libcxx.llvm.org/docs/BuildingLibcxx.html) or use a pre-compiled one that exists in a shared location (not something that is installed to the host).
Contributor guide
Assessment
This issue has not been assessed yet.