Skip to content

Commit 31e70e4

Browse files
kuaiweiSendaoYan
authored and
SendaoYan
committed
8355697: Create windows devkit on wsl and msys2
Reviewed-by: ihse, erikj
1 parent 108078a commit 31e70e4

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

make/devkit/createWindowsDevkit.sh

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,22 @@ BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
5656

5757
UNAME_SYSTEM=`uname -s`
5858
UNAME_RELEASE=`uname -r`
59+
UNAME_OS=`uname -o`
5960

6061
# Detect cygwin or WSL
6162
IS_CYGWIN=`echo $UNAME_SYSTEM | grep -i CYGWIN`
6263
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"
6367
if test "x$IS_CYGWIN" != "x"; then
6468
BUILD_ENV="cygwin"
69+
elif test "x$IS_MSYS" != "x"; then
70+
BUILD_ENV="cygwin"
6571
elif test "x$IS_WSL" != "x"; then
6672
BUILD_ENV="wsl"
6773
else
68-
echo "Unknown environment; only Cygwin and WSL are supported."
74+
echo "Unknown environment; only Cygwin/MSYS2/WSL are supported."
6975
exit 1
7076
fi
7177

@@ -76,7 +82,7 @@ elif test "x$BUILD_ENV" = "xwsl"; then
7682
fi
7783

7884
# 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')")"
8086
PROGRAMFILES="$($WINDOWS_PATH_TO_UNIX_PATH "$PROGRAMFILES")"
8187

8288
case $VS_VERSION in
@@ -99,13 +105,15 @@ esac
99105

100106

101107
# 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")"
103110
if [ -d "$VSNNNCOMNTOOLS" ]; then
104-
VS_INSTALL_DIR="$($WINDOWS_PATH_TO_UNIX_PATH "$VSNNNCOMNTOOLS/../..")"
111+
VS_INSTALL_DIR="$VSNNNCOMNTOOLS/../.."
105112
else
106113
VS_INSTALL_DIR="${MSVC_PROGRAMFILES_DIR}/Microsoft Visual Studio/$VS_VERSION"
107114
VS_INSTALL_DIR="$(ls -d "${VS_INSTALL_DIR}/"{Community,Professional,Enterprise} 2>/dev/null | head -n1)"
108115
fi
116+
echo "VSNNNCOMNTOOLS: $VSNNNCOMNTOOLS"
109117
echo "VS_INSTALL_DIR: $VS_INSTALL_DIR"
110118

111119
# Extract semantic version
@@ -180,7 +188,11 @@ cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
180188
################################################################################
181189
# Copy SDK files
182190

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
184196
echo "SDK_INSTALL_DIR: $SDK_INSTALL_DIR"
185197

186198
SDK_FULL_VERSION="$(ls "$SDK_INSTALL_DIR/bin" | sort -r -n | head -n1)"

0 commit comments

Comments
 (0)