[libcxx-commits] [PATCH] D138680: [libc++] Remove Solaris related code

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Dec 14 06:54:08 PST 2022


ldionne added a comment.

Thanks for the additional context.

> It would certainly good to have this port working, both for Solaris/Illumos and for libcxx: diversity usually helps pinpoint unwarranted assumptions in the codebase.

I agree that diversity of platforms is great. However, for it to be useful for the project, there needs to be a feedback loop that allows the project to catch these potential unwarranted assumptions. And for that to be useful for users, there needs to be a guard that ensures that the project keeps working on the platform. That's what CI is for, and that's the requirement that we impose systematically on platforms. Otherwise, code rots and it provides little to no benefit for anyone, in addition to dragging the project down. Since we support many many platforms, we need to abide by this rule extremely diligently or we risk rotting parts of the code base.

In a way, that's why enthusiast ports are sometimes not sustainable unless a serious investment made to back it and maintain it in the longer term. This is usually not something that a single individual can provide, and understandably so.

> Unfortunately, that subproject uses buildkite, yet another buildbot besides LLVM's buildbot (and Golang's builder), which isn't even ported to Solaris (and won't build last time I tried).

If there is truly a desire to set up a CI bot and the only blocker is that `buildkite-agent` doesn't work on Solaris (is that really the situation?), we can work together to find ways around that. We can bend the rules of libc++ so that platforms where buildkite isn't available use another system, or maybe that's even the sign that we need to move towards something more flexible like GitHub actions.

If someone steps up to officially say "yes, I'll be the maintainer for Solaris and I'll work with the libc++ community to set up a CI bot of some sort", then we're good. If nobody is willing or able to step forward, we'll ship this patch and stop pretending that we "support" that platform.

In that case, it will be much more productive for whoever is interested in Solaris support to maintain an unofficial port on the side. What we could actually do is add a page for "Unofficial ports of libc++" to the libc++ documentation, alongside with links to a website, forum or e-mail that people can reach out to to learn more. This would provide a nice way to make unofficial ports discoverable without trying to keep them in the main tree in vain.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138680/new/

https://reviews.llvm.org/D138680



More information about the libcxx-commits mailing list