Allow to unset a default target by setting build.target
to the empty string
#8638
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.
Right now it is possible to set a default compilation target through a
build.target
key in a.cargo/config
file. Given the hierachical nature of cargo configuration files, this setting automatically applies to all subdirectories too. This is problematic if there are subdirectories with crates that should be compiled for the host architecture, such as special builder or runner crates. Unfortunately, there is currently no way to reset the default target back to the host target.This PR fixes this problem by interpreting a
build.target = ""
config key as the host target. This way, subdirectories now have a way to reset the default target if required. Since the empty string was not a valid target before, this change should not break any existing code.cc #8112