Skip to content

Commit 41424c4

Browse files
committed
Allow installing arm64 build on MacOS and Windows
Fixes #699
1 parent dcce896 commit 41424c4

File tree

1 file changed

+35
-27
lines changed

1 file changed

+35
-27
lines changed

installer/omnisharp-manager.sh

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -69,44 +69,52 @@ if [ -z "$mono" ]; then
6969
case "$(uname -m)" in
7070
"x86_64") machine="x64";;
7171
"i368") machine="x86";;
72+
"arm64") machine="arm64";;
7273
*)
73-
echo "Error: OmniSharp-Roslyn only works on x86 CPU architecture"
74+
echo "Error: architecture not supported"
7475
exit 1
7576
;;
7677
esac
7778
fi
7879

79-
# Check the operating system
80-
case "$(uname -s)" in
81-
"Linux") os="linux-${machine}";;
82-
"Darwin") os="osx";;
83-
*)
84-
if [ "$(uname -o)" = "Cygwin" ]; then
85-
os="win-${machine}"
86-
87-
if command -v unzip >/dev/null 2>&1 ; then
88-
ext="zip"
89-
else
90-
echo "Error: the installer requires 'unzip' to work on Cygwin"
80+
if [ -n "$mono" ]; then
81+
os="mono"
82+
else
83+
case "$(uname -s)" in
84+
"Linux")
85+
if [ "$machine" = "arm64" ]; then
86+
echo "Error: OmniSharp-Roslyn only works on x86 CPU architecture on Linux"
9187
exit 1
9288
fi
93-
elif [ "$(uname -o)" = "Msys" ]; then
94-
os="win-${machine}"
95-
96-
if command -v unzip >/dev/null 2>&1 ; then
97-
ext="zip"
89+
os="linux-${machine}"
90+
;;
91+
"Darwin") os="osx";;
92+
*)
93+
if [ "$(uname -o)" = "Cygwin" ]; then
94+
os="win-${machine}"
95+
96+
if command -v unzip >/dev/null 2>&1 ; then
97+
ext="zip"
98+
else
99+
echo "Error: the installer requires 'unzip' to work on Cygwin"
100+
exit 1
101+
fi
102+
elif [ "$(uname -o)" = "Msys" ]; then
103+
os="win-${machine}"
104+
105+
if command -v unzip >/dev/null 2>&1 ; then
106+
ext="zip"
107+
else
108+
echo "Error: the installer requires 'unzip' to work on MinGW"
109+
exit 1
110+
fi
98111
else
99-
echo "Error: the installer requires 'unzip' to work on MinGW"
112+
printf "Error: unknown system: %s\\n" "$(uname -s)"
100113
exit 1
101114
fi
102-
else
103-
printf "Error: unknown system: %s\\n" "$(uname -s)"
104-
exit 1
105-
fi
106-
;;
107-
esac
108-
109-
[ -n "$mono" ] && os="mono"
115+
;;
116+
esac
117+
fi
110118

111119
if [ -n "$windows" ]; then
112120
os="win-${machine}"

0 commit comments

Comments
 (0)