[Runtimes] Rework and remove default runtimes build #158156
Open
+103
−183
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.
Summary:
Currently the runtimes builds works by creating separate CMake projects
that build the respetive runtime. Right now we have a separate handling
for the 'default' target and manually specific runtimes via the
-DLLVM_RUNTIME_TARGETS
option.This patch changes the behavior to put all runtimes through the
LLVM_RUNTIME_TARGETS
pipeline. The old"default"
argument is now ashorthand for
LLVM_DEFAULT_TARGET_TRIPLE
and corresponds to a sanedefault.
In practical terms, this means the old
runtimes-bins
directory willnow be
runtimes-x86_64-unknown-linux-gnu-bins
for the majority ofusers. We will not have
check-<name>
targets, but I have madea top-level target that invokes all of the enabled targets check lines
to keep this backward compatible. So
ninja check-cxx
will still work.There's likely some edge cases I missed here, but it seems to work in
the typical case for me. We'll see what CI thinks of this.