[clang] [llvm] Reapply "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133) (PR #208496)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 10 03:50:19 PDT 2026
arsenm wrote:
> Rather than trying to infer `CMAKE_SYSTEM_NAME`, couldn't we require users to always specify it That's the strategy [I've been using in our cache files](https://github.com/llvm/llvm-project/blob/314576176481027a0cb40790c43b851886ab3c55/clang/cmake/caches/Fuchsia-stage2.cmake#L159) as it's the only reliable one in my experience.
I'd consider that to be strictly worse than forcing users to use normalized triples. You have to write the system by 2 different names which need to be consistent. For sanity the build would still want to verify those are consistent, which would require essentially the same triple recognition code.
> (with the exception of the `default` build where we would pass through the host one)?
This is truly terrible behavior, and fixing that is the point of this change. Broken by default isn't a reasonable place to be
> Also I'm not sure it's a great idea to punt this to the user, the runtimes builds are becoming increasingly incomprehensible with the number of requirements
Exactly
> it also doesn't handle all of the cases I've seen in the wild
I don't think it really should be a goal to handle every possible triple spelling someone has ever written. If the problem is just avoiding necessary changes to third party builds, forcing a consistent triple spelling seems less burdensome than manually setting CMAKE_SYSTEM_NAME
https://github.com/llvm/llvm-project/pull/208496
More information about the cfe-commits
mailing list