1.1 --- a/common/autoconf/generated-configure.sh Wed Oct 17 13:00:32 2018 +0100 1.2 +++ b/common/autoconf/generated-configure.sh Mon Oct 29 14:43:07 2018 -0700 1.3 @@ -640,6 +640,7 @@ 1.4 ENABLE_INTREE_EC 1.5 SALIB_NAME 1.6 HOTSPOT_MAKE_ARGS 1.7 +UCRT_DLL_DIR 1.8 MSVCP_DLL 1.9 MSVCR_DLL 1.10 LIBCXX 1.11 @@ -1095,6 +1096,7 @@ 1.12 with_stdc__lib 1.13 with_msvcr_dll 1.14 with_msvcp_dll 1.15 +with_ucrt_dll_dir 1.16 with_dxsdk 1.17 with_dxsdk_lib 1.18 with_dxsdk_include 1.19 @@ -1956,6 +1958,8 @@ 1.20 (Windows only) [probed] 1.21 --with-msvcp-dll path to microsoft C++ runtime dll (msvcp*.dll) 1.22 (Windows only) [probed] 1.23 + --with-ucrt-dll-dir path to Microsoft Windows Kit UCRT DLL dir (Windows 1.24 + only) [probed] 1.25 --with-dxsdk Deprecated. Option is kept for backwards 1.26 compatibility and is ignored 1.27 --with-dxsdk-lib Deprecated. Option is kept for backwards 1.28 @@ -4290,6 +4294,7 @@ 1.29 VS_MSVCR_2017=vcruntime140.dll 1.30 VS_MSVCP_2017=msvcp140.dll 1.31 VS_ENVVAR_2017="VS150COMNTOOLS" 1.32 +VS_USE_UCRT_2017="true" 1.33 VS_VS_INSTALLDIR_2017="Microsoft Visual Studio/2017" 1.34 VS_EDITIONS_2017="Community Professional Enterprise" 1.35 VS_SDK_INSTALLDIR_2017= 1.36 @@ -4337,7 +4342,7 @@ 1.37 #CUSTOM_AUTOCONF_INCLUDE 1.38 1.39 # Do not change or remove the following line, it is needed for consistency checks: 1.40 -DATE_WHEN_GENERATED=1539613812 1.41 +DATE_WHEN_GENERATED=1540846365 1.42 1.43 ############################################################################### 1.44 # 1.45 @@ -14911,6 +14916,12 @@ 1.46 eval DEVKIT_MSVCP_DLL="\${DEVKIT_MSVCP_DLL_${OPENJDK_TARGET_CPU}}" 1.47 fi 1.48 1.49 + # Corresponds to --with-ucrt-dll-dir 1.50 + 1.51 + if test "x$DEVKIT_UCRT_DLL_DIR" = x; then 1.52 + eval DEVKIT_UCRT_DLL_DIR="\${DEVKIT_UCRT_DLL_DIR_${OPENJDK_TARGET_CPU}}" 1.53 + fi 1.54 + 1.55 fi 1.56 1.57 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for devkit" >&5 1.58 @@ -25408,6 +25419,7 @@ 1.59 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}" 1.60 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}" 1.61 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}" 1.62 + eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}" 1.63 eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}" 1.64 VS_PATH="$TOOLCHAIN_PATH:$PATH" 1.65 1.66 @@ -26142,6 +26154,7 @@ 1.67 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}" 1.68 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}" 1.69 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}" 1.70 + eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}" 1.71 # The rest of the variables are already evaled while probing 1.72 { $as_echo "$as_me:${as_lineno-$LINENO}: Found $VS_DESCRIPTION" >&5 1.73 $as_echo "$as_me: Found $VS_DESCRIPTION" >&6;} 1.74 @@ -26550,8 +26563,11 @@ 1.75 VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` 1.76 VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` 1.77 VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` 1.78 - WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` 1.79 + WindowsSdkDir=`$ECHO "$WindowsSdkDir" | $SED 's/\\\\* *$//'` 1.80 WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` 1.81 + if test -z "$WINDOWSSDKDIR"; then 1.82 + WINDOWSSDKDIR="$WindowsSdkDir" 1.83 + fi 1.84 # Remove any paths containing # (typically F#) as that messes up make. This 1.85 # is needed if visual studio was installed with F# support. 1.86 VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[^:#]*#[^:]*://g'` 1.87 @@ -48765,13 +48781,125 @@ 1.88 if test "x$VCINSTALLDIR" != x; then 1.89 CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR" 1.90 1.91 - windows_path="$CYGWIN_VC_INSTALL_DIR" 1.92 - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.93 - unix_path=`$CYGPATH -u "$windows_path"` 1.94 - CYGWIN_VC_INSTALL_DIR="$unix_path" 1.95 - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.96 - unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.97 - CYGWIN_VC_INSTALL_DIR="$unix_path" 1.98 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.99 + 1.100 + # Input might be given as Windows format, start by converting to 1.101 + # unix format. 1.102 + path="$CYGWIN_VC_INSTALL_DIR" 1.103 + new_path=`$CYGPATH -u "$path"` 1.104 + 1.105 + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are 1.106 + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered 1.107 + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then 1.108 + # "foo.exe" is OK but "foo" is an error. 1.109 + # 1.110 + # This test is therefore slightly more accurate than "test -f" to check for file precense. 1.111 + # It is also a way to make sure we got the proper file name for the real test later on. 1.112 + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` 1.113 + if test "x$test_shortpath" = x; then 1.114 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&5 1.115 +$as_echo "$as_me: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.116 + as_fn_error $? "Cannot locate the the path of CYGWIN_VC_INSTALL_DIR" "$LINENO" 5 1.117 + fi 1.118 + 1.119 + # Call helper function which possibly converts this using DOS-style short mode. 1.120 + # If so, the updated path is stored in $new_path. 1.121 + 1.122 + input_path="$new_path" 1.123 + # Check if we need to convert this using DOS-style short mode. If the path 1.124 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.125 + # take no chances and rewrite it. 1.126 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.127 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` 1.128 + if test "x$has_forbidden_chars" != x; then 1.129 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.130 + shortmode_path=`$CYGPATH -s -m -a "$input_path"` 1.131 + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` 1.132 + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then 1.133 + # Going to short mode and back again did indeed matter. Since short mode is 1.134 + # case insensitive, let's make it lowercase to improve readability. 1.135 + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.136 + # Now convert it back to Unix-style (cygpath) 1.137 + input_path=`$CYGPATH -u "$shortmode_path"` 1.138 + new_path="$input_path" 1.139 + fi 1.140 + fi 1.141 + 1.142 + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` 1.143 + if test "x$test_cygdrive_prefix" = x; then 1.144 + # As a simple fix, exclude /usr/bin since it's not a real path. 1.145 + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then 1.146 + # The path is in a Cygwin special directory (e.g. /home). We need this converted to 1.147 + # a path prefixed by /cygdrive for fixpath to work. 1.148 + new_path="$CYGWIN_ROOT_PATH$input_path" 1.149 + fi 1.150 + fi 1.151 + 1.152 + 1.153 + if test "x$path" != "x$new_path"; then 1.154 + CYGWIN_VC_INSTALL_DIR="$new_path" 1.155 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&5 1.156 +$as_echo "$as_me: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&6;} 1.157 + fi 1.158 + 1.159 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.160 + 1.161 + path="$CYGWIN_VC_INSTALL_DIR" 1.162 + has_colon=`$ECHO $path | $GREP ^.:` 1.163 + new_path="$path" 1.164 + if test "x$has_colon" = x; then 1.165 + # Not in mixed or Windows style, start by that. 1.166 + new_path=`cmd //c echo $path` 1.167 + fi 1.168 + 1.169 + 1.170 + input_path="$new_path" 1.171 + # Check if we need to convert this using DOS-style short mode. If the path 1.172 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.173 + # take no chances and rewrite it. 1.174 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.175 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` 1.176 + if test "x$has_forbidden_chars" != x; then 1.177 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.178 + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.179 + fi 1.180 + 1.181 + 1.182 + windows_path="$new_path" 1.183 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.184 + unix_path=`$CYGPATH -u "$windows_path"` 1.185 + new_path="$unix_path" 1.186 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.187 + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.188 + new_path="$unix_path" 1.189 + fi 1.190 + 1.191 + if test "x$path" != "x$new_path"; then 1.192 + CYGWIN_VC_INSTALL_DIR="$new_path" 1.193 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&5 1.194 +$as_echo "$as_me: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&6;} 1.195 + fi 1.196 + 1.197 + # Save the first 10 bytes of this path to the storage, so fixpath can work. 1.198 + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") 1.199 + 1.200 + else 1.201 + # We're on a posix platform. Hooray! :) 1.202 + path="$CYGWIN_VC_INSTALL_DIR" 1.203 + has_space=`$ECHO "$path" | $GREP " "` 1.204 + if test "x$has_space" != x; then 1.205 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&5 1.206 +$as_echo "$as_me: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.207 + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 1.208 + fi 1.209 + 1.210 + # Use eval to expand a potential ~ 1.211 + eval path="$path" 1.212 + if test ! -f "$path" && test ! -d "$path"; then 1.213 + as_fn_error $? "The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is not found." "$LINENO" 5 1.214 + fi 1.215 + 1.216 + CYGWIN_VC_INSTALL_DIR="`cd "$path"; $THEPWDCMD -L`" 1.217 fi 1.218 1.219 if test "$VS_VERSION" -lt 2017; then 1.220 @@ -50056,13 +50184,125 @@ 1.221 if test "x$VCINSTALLDIR" != x; then 1.222 CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR" 1.223 1.224 - windows_path="$CYGWIN_VC_INSTALL_DIR" 1.225 - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.226 - unix_path=`$CYGPATH -u "$windows_path"` 1.227 - CYGWIN_VC_INSTALL_DIR="$unix_path" 1.228 - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.229 - unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.230 - CYGWIN_VC_INSTALL_DIR="$unix_path" 1.231 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.232 + 1.233 + # Input might be given as Windows format, start by converting to 1.234 + # unix format. 1.235 + path="$CYGWIN_VC_INSTALL_DIR" 1.236 + new_path=`$CYGPATH -u "$path"` 1.237 + 1.238 + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are 1.239 + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered 1.240 + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then 1.241 + # "foo.exe" is OK but "foo" is an error. 1.242 + # 1.243 + # This test is therefore slightly more accurate than "test -f" to check for file precense. 1.244 + # It is also a way to make sure we got the proper file name for the real test later on. 1.245 + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` 1.246 + if test "x$test_shortpath" = x; then 1.247 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&5 1.248 +$as_echo "$as_me: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.249 + as_fn_error $? "Cannot locate the the path of CYGWIN_VC_INSTALL_DIR" "$LINENO" 5 1.250 + fi 1.251 + 1.252 + # Call helper function which possibly converts this using DOS-style short mode. 1.253 + # If so, the updated path is stored in $new_path. 1.254 + 1.255 + input_path="$new_path" 1.256 + # Check if we need to convert this using DOS-style short mode. If the path 1.257 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.258 + # take no chances and rewrite it. 1.259 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.260 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` 1.261 + if test "x$has_forbidden_chars" != x; then 1.262 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.263 + shortmode_path=`$CYGPATH -s -m -a "$input_path"` 1.264 + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` 1.265 + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then 1.266 + # Going to short mode and back again did indeed matter. Since short mode is 1.267 + # case insensitive, let's make it lowercase to improve readability. 1.268 + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.269 + # Now convert it back to Unix-style (cygpath) 1.270 + input_path=`$CYGPATH -u "$shortmode_path"` 1.271 + new_path="$input_path" 1.272 + fi 1.273 + fi 1.274 + 1.275 + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` 1.276 + if test "x$test_cygdrive_prefix" = x; then 1.277 + # As a simple fix, exclude /usr/bin since it's not a real path. 1.278 + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then 1.279 + # The path is in a Cygwin special directory (e.g. /home). We need this converted to 1.280 + # a path prefixed by /cygdrive for fixpath to work. 1.281 + new_path="$CYGWIN_ROOT_PATH$input_path" 1.282 + fi 1.283 + fi 1.284 + 1.285 + 1.286 + if test "x$path" != "x$new_path"; then 1.287 + CYGWIN_VC_INSTALL_DIR="$new_path" 1.288 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&5 1.289 +$as_echo "$as_me: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&6;} 1.290 + fi 1.291 + 1.292 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.293 + 1.294 + path="$CYGWIN_VC_INSTALL_DIR" 1.295 + has_colon=`$ECHO $path | $GREP ^.:` 1.296 + new_path="$path" 1.297 + if test "x$has_colon" = x; then 1.298 + # Not in mixed or Windows style, start by that. 1.299 + new_path=`cmd //c echo $path` 1.300 + fi 1.301 + 1.302 + 1.303 + input_path="$new_path" 1.304 + # Check if we need to convert this using DOS-style short mode. If the path 1.305 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.306 + # take no chances and rewrite it. 1.307 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.308 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` 1.309 + if test "x$has_forbidden_chars" != x; then 1.310 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.311 + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.312 + fi 1.313 + 1.314 + 1.315 + windows_path="$new_path" 1.316 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.317 + unix_path=`$CYGPATH -u "$windows_path"` 1.318 + new_path="$unix_path" 1.319 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.320 + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.321 + new_path="$unix_path" 1.322 + fi 1.323 + 1.324 + if test "x$path" != "x$new_path"; then 1.325 + CYGWIN_VC_INSTALL_DIR="$new_path" 1.326 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&5 1.327 +$as_echo "$as_me: Rewriting CYGWIN_VC_INSTALL_DIR to \"$new_path\"" >&6;} 1.328 + fi 1.329 + 1.330 + # Save the first 10 bytes of this path to the storage, so fixpath can work. 1.331 + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") 1.332 + 1.333 + else 1.334 + # We're on a posix platform. Hooray! :) 1.335 + path="$CYGWIN_VC_INSTALL_DIR" 1.336 + has_space=`$ECHO "$path" | $GREP " "` 1.337 + if test "x$has_space" != x; then 1.338 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&5 1.339 +$as_echo "$as_me: The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.340 + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 1.341 + fi 1.342 + 1.343 + # Use eval to expand a potential ~ 1.344 + eval path="$path" 1.345 + if test ! -f "$path" && test ! -d "$path"; then 1.346 + as_fn_error $? "The path of CYGWIN_VC_INSTALL_DIR, which resolves as \"$path\", is not found." "$LINENO" 5 1.347 + fi 1.348 + 1.349 + CYGWIN_VC_INSTALL_DIR="`cd "$path"; $THEPWDCMD -L`" 1.350 fi 1.351 1.352 if test "$VS_VERSION" -lt 2017; then 1.353 @@ -50991,6 +51231,295 @@ 1.354 fi 1.355 1.356 1.357 +# Check whether --with-ucrt-dll-dir was given. 1.358 +if test "${with_ucrt_dll_dir+set}" = set; then : 1.359 + withval=$with_ucrt_dll_dir; 1.360 +fi 1.361 + 1.362 + 1.363 + if test "x$USE_UCRT" = "xtrue"; then 1.364 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UCRT DLL dir" >&5 1.365 +$as_echo_n "checking for UCRT DLL dir... " >&6; } 1.366 + if test "x$with_ucrt_dll_dir" != x; then 1.367 + if test -z "$(ls -d "$with_ucrt_dll_dir/*.dll" 2> /dev/null)"; then 1.368 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 1.369 +$as_echo "no" >&6; } 1.370 + as_fn_error $? "Could not find any dlls in $with_ucrt_dll_dir" "$LINENO" 5 1.371 + else 1.372 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_ucrt_dll_dir" >&5 1.373 +$as_echo "$with_ucrt_dll_dir" >&6; } 1.374 + UCRT_DLL_DIR="$with_ucrt_dll_dir" 1.375 + 1.376 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.377 + 1.378 + # Input might be given as Windows format, start by converting to 1.379 + # unix format. 1.380 + path="$UCRT_DLL_DIR" 1.381 + new_path=`$CYGPATH -u "$path"` 1.382 + 1.383 + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are 1.384 + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered 1.385 + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then 1.386 + # "foo.exe" is OK but "foo" is an error. 1.387 + # 1.388 + # This test is therefore slightly more accurate than "test -f" to check for file precense. 1.389 + # It is also a way to make sure we got the proper file name for the real test later on. 1.390 + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` 1.391 + if test "x$test_shortpath" = x; then 1.392 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of UCRT_DLL_DIR, which resolves as \"$path\", is invalid." >&5 1.393 +$as_echo "$as_me: The path of UCRT_DLL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.394 + as_fn_error $? "Cannot locate the the path of UCRT_DLL_DIR" "$LINENO" 5 1.395 + fi 1.396 + 1.397 + # Call helper function which possibly converts this using DOS-style short mode. 1.398 + # If so, the updated path is stored in $new_path. 1.399 + 1.400 + input_path="$new_path" 1.401 + # Check if we need to convert this using DOS-style short mode. If the path 1.402 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.403 + # take no chances and rewrite it. 1.404 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.405 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` 1.406 + if test "x$has_forbidden_chars" != x; then 1.407 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.408 + shortmode_path=`$CYGPATH -s -m -a "$input_path"` 1.409 + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` 1.410 + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then 1.411 + # Going to short mode and back again did indeed matter. Since short mode is 1.412 + # case insensitive, let's make it lowercase to improve readability. 1.413 + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.414 + # Now convert it back to Unix-style (cygpath) 1.415 + input_path=`$CYGPATH -u "$shortmode_path"` 1.416 + new_path="$input_path" 1.417 + fi 1.418 + fi 1.419 + 1.420 + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` 1.421 + if test "x$test_cygdrive_prefix" = x; then 1.422 + # As a simple fix, exclude /usr/bin since it's not a real path. 1.423 + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then 1.424 + # The path is in a Cygwin special directory (e.g. /home). We need this converted to 1.425 + # a path prefixed by /cygdrive for fixpath to work. 1.426 + new_path="$CYGWIN_ROOT_PATH$input_path" 1.427 + fi 1.428 + fi 1.429 + 1.430 + 1.431 + if test "x$path" != "x$new_path"; then 1.432 + UCRT_DLL_DIR="$new_path" 1.433 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting UCRT_DLL_DIR to \"$new_path\"" >&5 1.434 +$as_echo "$as_me: Rewriting UCRT_DLL_DIR to \"$new_path\"" >&6;} 1.435 + fi 1.436 + 1.437 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.438 + 1.439 + path="$UCRT_DLL_DIR" 1.440 + has_colon=`$ECHO $path | $GREP ^.:` 1.441 + new_path="$path" 1.442 + if test "x$has_colon" = x; then 1.443 + # Not in mixed or Windows style, start by that. 1.444 + new_path=`cmd //c echo $path` 1.445 + fi 1.446 + 1.447 + 1.448 + input_path="$new_path" 1.449 + # Check if we need to convert this using DOS-style short mode. If the path 1.450 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.451 + # take no chances and rewrite it. 1.452 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.453 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` 1.454 + if test "x$has_forbidden_chars" != x; then 1.455 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.456 + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.457 + fi 1.458 + 1.459 + 1.460 + windows_path="$new_path" 1.461 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.462 + unix_path=`$CYGPATH -u "$windows_path"` 1.463 + new_path="$unix_path" 1.464 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.465 + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.466 + new_path="$unix_path" 1.467 + fi 1.468 + 1.469 + if test "x$path" != "x$new_path"; then 1.470 + UCRT_DLL_DIR="$new_path" 1.471 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting UCRT_DLL_DIR to \"$new_path\"" >&5 1.472 +$as_echo "$as_me: Rewriting UCRT_DLL_DIR to \"$new_path\"" >&6;} 1.473 + fi 1.474 + 1.475 + # Save the first 10 bytes of this path to the storage, so fixpath can work. 1.476 + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") 1.477 + 1.478 + else 1.479 + # We're on a posix platform. Hooray! :) 1.480 + path="$UCRT_DLL_DIR" 1.481 + has_space=`$ECHO "$path" | $GREP " "` 1.482 + if test "x$has_space" != x; then 1.483 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of UCRT_DLL_DIR, which resolves as \"$path\", is invalid." >&5 1.484 +$as_echo "$as_me: The path of UCRT_DLL_DIR, which resolves as \"$path\", is invalid." >&6;} 1.485 + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 1.486 + fi 1.487 + 1.488 + # Use eval to expand a potential ~ 1.489 + eval path="$path" 1.490 + if test ! -f "$path" && test ! -d "$path"; then 1.491 + as_fn_error $? "The path of UCRT_DLL_DIR, which resolves as \"$path\", is not found." "$LINENO" 5 1.492 + fi 1.493 + 1.494 + UCRT_DLL_DIR="`cd "$path"; $THEPWDCMD -L`" 1.495 + fi 1.496 + 1.497 + fi 1.498 + elif test "x$DEVKIT_UCRT_DLL_DIR" != "x"; then 1.499 + UCRT_DLL_DIR="$DEVKIT_UCRT_DLL_DIR" 1.500 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UCRT_DLL_DIR" >&5 1.501 +$as_echo "$UCRT_DLL_DIR" >&6; } 1.502 + else 1.503 + CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}" 1.504 + 1.505 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.506 + 1.507 + # Input might be given as Windows format, start by converting to 1.508 + # unix format. 1.509 + path="$CYGWIN_WINDOWSSDKDIR" 1.510 + new_path=`$CYGPATH -u "$path"` 1.511 + 1.512 + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are 1.513 + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered 1.514 + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then 1.515 + # "foo.exe" is OK but "foo" is an error. 1.516 + # 1.517 + # This test is therefore slightly more accurate than "test -f" to check for file precense. 1.518 + # It is also a way to make sure we got the proper file name for the real test later on. 1.519 + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` 1.520 + if test "x$test_shortpath" = x; then 1.521 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_WINDOWSSDKDIR, which resolves as \"$path\", is invalid." >&5 1.522 +$as_echo "$as_me: The path of CYGWIN_WINDOWSSDKDIR, which resolves as \"$path\", is invalid." >&6;} 1.523 + as_fn_error $? "Cannot locate the the path of CYGWIN_WINDOWSSDKDIR" "$LINENO" 5 1.524 + fi 1.525 + 1.526 + # Call helper function which possibly converts this using DOS-style short mode. 1.527 + # If so, the updated path is stored in $new_path. 1.528 + 1.529 + input_path="$new_path" 1.530 + # Check if we need to convert this using DOS-style short mode. If the path 1.531 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.532 + # take no chances and rewrite it. 1.533 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.534 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` 1.535 + if test "x$has_forbidden_chars" != x; then 1.536 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.537 + shortmode_path=`$CYGPATH -s -m -a "$input_path"` 1.538 + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` 1.539 + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then 1.540 + # Going to short mode and back again did indeed matter. Since short mode is 1.541 + # case insensitive, let's make it lowercase to improve readability. 1.542 + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.543 + # Now convert it back to Unix-style (cygpath) 1.544 + input_path=`$CYGPATH -u "$shortmode_path"` 1.545 + new_path="$input_path" 1.546 + fi 1.547 + fi 1.548 + 1.549 + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` 1.550 + if test "x$test_cygdrive_prefix" = x; then 1.551 + # As a simple fix, exclude /usr/bin since it's not a real path. 1.552 + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then 1.553 + # The path is in a Cygwin special directory (e.g. /home). We need this converted to 1.554 + # a path prefixed by /cygdrive for fixpath to work. 1.555 + new_path="$CYGWIN_ROOT_PATH$input_path" 1.556 + fi 1.557 + fi 1.558 + 1.559 + 1.560 + if test "x$path" != "x$new_path"; then 1.561 + CYGWIN_WINDOWSSDKDIR="$new_path" 1.562 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_WINDOWSSDKDIR to \"$new_path\"" >&5 1.563 +$as_echo "$as_me: Rewriting CYGWIN_WINDOWSSDKDIR to \"$new_path\"" >&6;} 1.564 + fi 1.565 + 1.566 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.567 + 1.568 + path="$CYGWIN_WINDOWSSDKDIR" 1.569 + has_colon=`$ECHO $path | $GREP ^.:` 1.570 + new_path="$path" 1.571 + if test "x$has_colon" = x; then 1.572 + # Not in mixed or Windows style, start by that. 1.573 + new_path=`cmd //c echo $path` 1.574 + fi 1.575 + 1.576 + 1.577 + input_path="$new_path" 1.578 + # Check if we need to convert this using DOS-style short mode. If the path 1.579 + # contains just simple characters, use it. Otherwise (spaces, weird characters), 1.580 + # take no chances and rewrite it. 1.581 + # Note: m4 eats our [], so we need to use [ and ] instead. 1.582 + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` 1.583 + if test "x$has_forbidden_chars" != x; then 1.584 + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) 1.585 + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 1.586 + fi 1.587 + 1.588 + 1.589 + windows_path="$new_path" 1.590 + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 1.591 + unix_path=`$CYGPATH -u "$windows_path"` 1.592 + new_path="$unix_path" 1.593 + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 1.594 + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` 1.595 + new_path="$unix_path" 1.596 + fi 1.597 + 1.598 + if test "x$path" != "x$new_path"; then 1.599 + CYGWIN_WINDOWSSDKDIR="$new_path" 1.600 + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CYGWIN_WINDOWSSDKDIR to \"$new_path\"" >&5 1.601 +$as_echo "$as_me: Rewriting CYGWIN_WINDOWSSDKDIR to \"$new_path\"" >&6;} 1.602 + fi 1.603 + 1.604 + # Save the first 10 bytes of this path to the storage, so fixpath can work. 1.605 + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") 1.606 + 1.607 + else 1.608 + # We're on a posix platform. Hooray! :) 1.609 + path="$CYGWIN_WINDOWSSDKDIR" 1.610 + has_space=`$ECHO "$path" | $GREP " "` 1.611 + if test "x$has_space" != x; then 1.612 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CYGWIN_WINDOWSSDKDIR, which resolves as \"$path\", is invalid." >&5 1.613 +$as_echo "$as_me: The path of CYGWIN_WINDOWSSDKDIR, which resolves as \"$path\", is invalid." >&6;} 1.614 + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 1.615 + fi 1.616 + 1.617 + # Use eval to expand a potential ~ 1.618 + eval path="$path" 1.619 + if test ! -f "$path" && test ! -d "$path"; then 1.620 + as_fn_error $? "The path of CYGWIN_WINDOWSSDKDIR, which resolves as \"$path\", is not found." "$LINENO" 5 1.621 + fi 1.622 + 1.623 + CYGWIN_WINDOWSSDKDIR="`cd "$path"; $THEPWDCMD -L`" 1.624 + fi 1.625 + 1.626 + dll_subdir=$OPENJDK_TARGET_CPU 1.627 + if test "x$dll_subdir" = "xx86_64"; then 1.628 + dll_subdir="x64" 1.629 + fi 1.630 + UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir" 1.631 + if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then 1.632 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 1.633 +$as_echo "no" >&6; } 1.634 + as_fn_error $? "Could not find any dlls in $UCRT_DLL_DIR" "$LINENO" 5 1.635 + else 1.636 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UCRT_DLL_DIR" >&5 1.637 +$as_echo "$UCRT_DLL_DIR" >&6; } 1.638 + fi 1.639 + fi 1.640 + else 1.641 + UCRT_DLL_DIR= 1.642 + fi 1.643 + 1.644 + 1.645 + 1.646 1.647 # Check whether --with-dxsdk was given. 1.648 if test "${with_dxsdk+set}" = set; then :