mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
This PR merges the OS-specific Clang flags into the main Clang flags features using feature-based constraints instead of separate features conditionally added. Similarly for libc++. This also move flags to more correctly live in the Clang flag set vs. the libc++ flag set as some of these flags were specific to using libc++. To make this change, the libc++ feature needs to be computed rather than being fixed, as we need to add search paths based on the installed location of LLVM and Clang. All of this only works when the OS-config flags work. The earlier PR adding these had a bug -- _none_ of the OS features would ever be enabled. This didn't result in a problem as the initial use was only to _disable_ flags on the wrong OS. Now that we're enabling flags, we have to get it right by marking all of these as `enabled`.