Use the target triple from the C++ toolchain instead of deriving it from values in the Apple configuration fragment. #858
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using
--host_cpu=darwin_x86_64
on an ARM (Apple Silicon) host, the value returned by the Apple configuration fragment is wrong, and we end up compiling Swift forarm64
. Since the C++ toolchain already has the correct triple verbatim as we want it in thetarget_gnu_system_name
field, just use that, and add some generally useful utilities for manipulating the triples and their components.Note to open-source rules maintainers: This change requires/assumes that your C++ toolchain configuration returns a complete target triple that includes minimum OS version and target environment; for example,
x86_64-apple-ios13.0-simulator
.PiperOrigin-RevId: 429897884
(cherry picked from commit 62b33ed)