Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>> Strongly prefer to upstream all patches to LLVM before including them in rustc.

> That is, this is already the case. We don't like maintaining a fork. We try to upstream as much as we can.

> But, at the same time, even when you do this, it takes tons of time. A contributor was talking about exactly this on Twitter earlier today, and estimated that, even if the patch was written and accepted as fast as possible, it would still take roughly a year for that patch to make it into the release used by Rust. This is the opposite side of the whole "move slow and only use old versions of things" tradeoff: that would take even longer to get into, say, the LLVM in Debian stable, as suggested in another comment chain.

> So our approach is, upstream the patches, keep them in our fork, and then remove them when they inevitably make it back downstream.

... so there are always some outstanding patches rust applies to the llvm codebase.



For Rust's LLVM fork, sure. But as Steve Klabnik noted in the first comment I linked, unmodified LLVM is supported.

In addition, later down in the comment chain:

cycloptic:

> Can't there be a build option to not use the LLVM submodule, and instead use the system LLVM?

steveklabnik:

> There is. We even test that it builds as part of our CI, to make sure it works, IIRC.

For a more concrete example, Fedora supports choosing between system and bundled LLVM when building Rust [0, 1].

[0]: https://news.ycombinator.com/item?id=26222190

[1]: https://src.fedoraproject.org/rpms/rust//blob/rawhide/f/rust...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: