Skip to content

Commit aa903d4

Browse files
committed
Add OS detection in check_help_for
1 parent 97bb7b9 commit aa903d4

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

rustup-init.sh

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ set -u
99
# If RUSTUP_UPDATE_ROOT is unset or empty, default it.
1010
RUSTUP_UPDATE_ROOT="${RUSTUP_UPDATE_ROOT:-https://static.rust-lang.org/rustup}"
1111

12+
ARCH=
13+
1214
#XXX: If you change anything here, please make the same changes in setup_mode.rs
1315
usage() {
1416
cat 1>&2 <<EOF
@@ -46,17 +48,17 @@ main() {
4648
need_cmd rmdir
4749

4850
get_architecture || return 1
49-
local _arch="$RETVAL"
50-
assert_nz "$_arch" "arch"
51+
ARCH="$RETVAL"
52+
assert_nz "$ARCH" "arch"
5153

5254
local _ext=""
53-
case "$_arch" in
55+
case "$ARCH" in
5456
*windows*)
5557
_ext=".exe"
5658
;;
5759
esac
5860

59-
local _url="${RUSTUP_UPDATE_ROOT}/dist/${_arch}/rustup-init${_ext}"
61+
local _url="${RUSTUP_UPDATE_ROOT}/dist/${ARCH}/rustup-init${_ext}"
6062

6163
local _dir
6264
_dir="$(mktemp -d 2>/dev/null || ensure mktemp -d -t rustup)"
@@ -405,15 +407,21 @@ check_help_for() {
405407
_ok="y"
406408
shift
407409

408-
# If we're running on OS-X, older than 10.13, then we always
409-
# fail to find these options to force fallback
410-
if check_cmd sw_vers; then
411-
if [ "$(sw_vers -productVersion | cut -d. -f2)" -lt 13 ]; then
412-
# Older than 10.13
413-
echo "Warning: Detected OS X platform older than 10.13"
414-
_ok="n"
410+
case "$ARCH" in
411+
412+
# If we're running on OS-X, older than 10.13, then we always
413+
# fail to find these options to force fallback
414+
*darwin*)
415+
if check_cmd sw_vers; then
416+
if [ "$(sw_vers -productVersion | cut -d. -f2)" -lt 13 ]; then
417+
# Older than 10.13
418+
echo "Warning: Detected OS X platform older than 10.13"
419+
_ok="n"
420+
fi
415421
fi
416-
fi
422+
;;
423+
424+
esac
417425

418426
for _arg in "$@"; do
419427
if ! "$_cmd" --help | grep -q -- "$_arg"; then

0 commit comments

Comments
 (0)