-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adjust libstd to make non-Rust dependencies optional #54
Comments
FWIW, here's the libstd feature config that Miri uses to avoid any C dependencies. Since rust-lang/backtrace-rs#297 landed, that avoids any C dependency, and we have CI on the Miri side to ensure this remains the case. Another problem is that libstd by default is built as rlib and dylib, and building a dylib also usually requires a target toolchain. However, std-aware cargo might already work around this, I am not sure. (Miri works around this by only doing a check-build of libstd.) |
There is a hack in Cargo to force it to skip the dylib. You even commented on it. 😜 Ideally there would be first-class support for that, but that is off-topic. |
Ah lol, my memory is getting worse it seems. ;) |
At this point, std now uses gimli rather than libbacktrace. |
Triage: Given that the only C dependency has been replaced with a Rust dependency, can this be closed or is the underlying issue still worth solving? |
I'd say the underlying issue has been solved -- even working backtraces requires no non-Rust dependency. |
linux-musl still requires a C compiler (and I think fortanix-sgx does, too). I'm not sure if there needs to be 100% coverage for all targets, but I'm not sure where to draw the line. |
I'm working on refactoring |
Cross-compiling C dependencies is a major pain. The only such dependency libstd has currently to the best of my knowledge is
backtrace-sys
. I would much rather have an easy time building libstd without an ability to produce backtraces than having to fiddle getting full toolchain set-up for a thing as obscure as, say, netbsd.The text was updated successfully, but these errors were encountered: