Merge pull request #9418 from fxcoudert/rosetta2

brew: re-exec under native arch if requested
This commit is contained in:
FX Coudert 2020-12-05 19:53:31 +01:00 committed by GitHub
commit f901b57bb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,6 +10,16 @@ case "$HOMEBREW_SYSTEM" in
Linux) HOMEBREW_LINUX="1" ;;
esac
# If we're running under macOS Rosetta 2, and it was requested by setting
# HOMEBREW_CHANGE_ARCH_TO_ARM (for example in CI), then we re-exec this
# same file under the native architecture
if [[ "$HOMEBREW_CHANGE_ARCH_TO_ARM" = "1" ]] && \
[[ "$HOMEBREW_MACOS" = "1" ]] && \
[[ "$(sysctl -n hw.optional.arm64 2>/dev/null)" = "1" ]] && \
[[ "$(sysctl -n sysctl.proc_translated 2>/dev/null)" = "1" ]]; then
exec arch -arm64e "$HOMEBREW_BREW_FILE" "$@"
fi
# Where we store built products; a Cellar in HOMEBREW_PREFIX (often /usr/local
# for bottles) unless there's already a Cellar in HOMEBREW_REPOSITORY.
if [[ -d "$HOMEBREW_REPOSITORY/Cellar" ]]