@@ -56,16 +56,22 @@ BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
56
56
57
57
UNAME_SYSTEM=` uname -s`
58
58
UNAME_RELEASE=` uname -r`
59
+ UNAME_OS=` uname -o`
59
60
60
61
# Detect cygwin or WSL
61
62
IS_CYGWIN=` echo $UNAME_SYSTEM | grep -i CYGWIN`
62
63
IS_WSL=` echo $UNAME_RELEASE | grep Microsoft`
64
+ IS_MSYS=` echo $UNAME_OS | grep -i Msys`
65
+ MSYS2_ARG_CONV_EXCL=" *" # make "cmd.exe /c" work for msys2
66
+ CMD_EXE=" cmd.exe /c"
63
67
if test " x$IS_CYGWIN " ! = " x" ; then
64
68
BUILD_ENV=" cygwin"
69
+ elif test " x$IS_MSYS " ! = " x" ; then
70
+ BUILD_ENV=" cygwin"
65
71
elif test " x$IS_WSL " ! = " x" ; then
66
72
BUILD_ENV=" wsl"
67
73
else
68
- echo " Unknown environment; only Cygwin and WSL are supported."
74
+ echo " Unknown environment; only Cygwin/MSYS2/ WSL are supported."
69
75
exit 1
70
76
fi
71
77
@@ -76,7 +82,7 @@ elif test "x$BUILD_ENV" = "xwsl"; then
76
82
fi
77
83
78
84
# Work around the insanely named ProgramFiles(x86) env variable
79
- PROGRAMFILES_X86=" $( $WINDOWS_PATH_TO_UNIX_PATH " $( cmd.exe /c set | sed -n ' s/^ProgramFiles(x86)=//p' | tr -d ' \r' ) " ) "
85
+ PROGRAMFILES_X86=" $( $WINDOWS_PATH_TO_UNIX_PATH " $( ${CMD_EXE} set | sed -n ' s/^ProgramFiles(x86)=//p' | tr -d ' \r' ) " ) "
80
86
PROGRAMFILES=" $( $WINDOWS_PATH_TO_UNIX_PATH " $PROGRAMFILES " ) "
81
87
82
88
case $VS_VERSION in
@@ -99,13 +105,15 @@ esac
99
105
100
106
101
107
# Find Visual Studio installation dir
102
- VSNNNCOMNTOOLS=` cmd.exe /c echo %VS${VS_VERSION_NUM_NODOT} COMNTOOLS% | tr -d ' \r' `
108
+ VSNNNCOMNTOOLS=` ${CMD_EXE} echo %VS${VS_VERSION_NUM_NODOT} COMNTOOLS% | tr -d ' \r' `
109
+ VSNNNCOMNTOOLS=" $( $WINDOWS_PATH_TO_UNIX_PATH " $VSNNNCOMNTOOLS " ) "
103
110
if [ -d " $VSNNNCOMNTOOLS " ]; then
104
- VS_INSTALL_DIR=" $( $WINDOWS_PATH_TO_UNIX_PATH " $ VSNNNCOMNTOOLS /../.." ) "
111
+ VS_INSTALL_DIR=" $VSNNNCOMNTOOLS /../.."
105
112
else
106
113
VS_INSTALL_DIR=" ${MSVC_PROGRAMFILES_DIR} /Microsoft Visual Studio/$VS_VERSION "
107
114
VS_INSTALL_DIR=" $( ls -d " ${VS_INSTALL_DIR} /" {Community,Professional,Enterprise} 2> /dev/null | head -n1) "
108
115
fi
116
+ echo " VSNNNCOMNTOOLS: $VSNNNCOMNTOOLS "
109
117
echo " VS_INSTALL_DIR: $VS_INSTALL_DIR "
110
118
111
119
# Extract semantic version
@@ -180,7 +188,11 @@ cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
180
188
# ###############################################################################
181
189
# Copy SDK files
182
190
183
- SDK_INSTALL_DIR=" $PROGRAMFILES_X86 /Windows Kits/$SDK_VERSION "
191
+ SDK_INSTALL_DIR=` ${CMD_EXE} echo %WindowsSdkDir% | tr -d ' \r' `
192
+ SDK_INSTALL_DIR=" $( $WINDOWS_PATH_TO_UNIX_PATH " $SDK_INSTALL_DIR " ) "
193
+ if [ ! -d " $SDK_INSTALL_DIR " ]; then
194
+ SDK_INSTALL_DIR=" $PROGRAMFILES_X86 /Windows Kits/$SDK_VERSION "
195
+ fi
184
196
echo " SDK_INSTALL_DIR: $SDK_INSTALL_DIR "
185
197
186
198
SDK_FULL_VERSION=" $( ls " $SDK_INSTALL_DIR /bin" | sort -r -n | head -n1) "
0 commit comments