8078437: Enable use of devkits for Windows

Mon, 21 May 2018 06:54:25 -0700

author
kevinw
date
Mon, 21 May 2018 06:54:25 -0700
changeset 2224
20daa32eec6f
parent 2223
01cc48ed67f3
child 2225
fe7df3d2f5ae

8078437: Enable use of devkits for Windows
Reviewed-by: erikj, ihse

common/autoconf/basics.m4 file | annotate | diff | comparison | revisions
common/autoconf/basics_windows.m4 file | annotate | diff | comparison | revisions
common/autoconf/generated-configure.sh file | annotate | diff | comparison | revisions
common/autoconf/toolchain.m4 file | annotate | diff | comparison | revisions
common/autoconf/toolchain_windows.m4 file | annotate | diff | comparison | revisions
     1.1 --- a/common/autoconf/basics.m4	Wed May 16 15:52:51 2018 -0700
     1.2 +++ b/common/autoconf/basics.m4	Mon May 21 06:54:25 2018 -0700
     1.3 @@ -458,6 +458,15 @@
     1.4    AUTOCONF_DIR=$TOPDIR/common/autoconf
     1.5  ])
     1.6  
     1.7 +# Evaluates platform specific overrides for devkit variables.
     1.8 +# $1: Name of variable
     1.9 +AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
    1.10 +[
    1.11 +  if test "x[$]$1" = x; then
    1.12 +    eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
    1.13 +  fi
    1.14 +])
    1.15 +
    1.16  AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
    1.17  [
    1.18    AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
    1.19 @@ -467,12 +476,27 @@
    1.20          DEVKIT_ROOT="$with_devkit"
    1.21          # Check for a meta data info file in the root of the devkit
    1.22          if test -f "$DEVKIT_ROOT/devkit.info"; then
    1.23 +          . $DEVKIT_ROOT/devkit.info
    1.24            # This potentially sets the following:
    1.25 -          # DEVKIT_NAME: A descriptive name of the devkit
    1.26 -          # DEVKIT_TOOLCHAIN_PATH: Corresponds to --with-toolchain-path
    1.27 -          # DEVKIT_EXTRA_PATH: Corresponds to --with-extra-path
    1.28 -          # DEVKIT_SYSROOT: Corresponds to --with-sysroot
    1.29 -          . $DEVKIT_ROOT/devkit.info
    1.30 +          # A descriptive name of the devkit
    1.31 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_NAME])
    1.32 +          # Corresponds to --with-extra-path
    1.33 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_EXTRA_PATH])
    1.34 +          # Corresponds to --with-toolchain-path
    1.35 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_TOOLCHAIN_PATH])
    1.36 +          # Corresponds to --with-sysroot
    1.37 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_SYSROOT])
    1.38 +
    1.39 +          # Identifies the Visual Studio version in the devkit
    1.40 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_VERSION])
    1.41 +          # The Visual Studio include environment variable
    1.42 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_INCLUDE])
    1.43 +          # The Visual Studio lib environment variable
    1.44 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
    1.45 +          # Corresponds to --with-msvcr-dll
    1.46 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
    1.47 +          # Corresponds to --with-msvcp-dll
    1.48 +          BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
    1.49          fi
    1.50  
    1.51          AC_MSG_CHECKING([for devkit])
    1.52 @@ -482,9 +506,7 @@
    1.53            AC_MSG_RESULT([$DEVKIT_ROOT])
    1.54          fi
    1.55  
    1.56 -        if test "x$DEVKIT_EXTRA_PATH" != x; then
    1.57 -          BASIC_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
    1.58 -        fi
    1.59 +        BASIC_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
    1.60  
    1.61          # Fallback default of just /bin if DEVKIT_PATH is not defined
    1.62          if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
    1.63 @@ -598,8 +620,12 @@
    1.64        files_present=`$LS $OUTPUT_ROOT`
    1.65        # Configure has already touched config.log and confdefs.h in the current dir when this check
    1.66        # is performed.
    1.67 -      filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
    1.68 -      | $TR -d '\n'`
    1.69 +      filtered_files=`$ECHO "$files_present" \
    1.70 +          | $SED -e 's/config.log//g' \
    1.71 +	      -e 's/confdefs.h//g' \
    1.72 +	      -e 's/fixpath.exe//g' \
    1.73 +	      -e 's/ //g' \
    1.74 +          | $TR -d '\n'`
    1.75        if test "x$filtered_files" != x; then
    1.76          AC_MSG_NOTICE([Current directory is $CURDIR.])
    1.77          AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
     2.1 --- a/common/autoconf/basics_windows.m4	Wed May 16 15:52:51 2018 -0700
     2.2 +++ b/common/autoconf/basics_windows.m4	Mon May 21 06:54:25 2018 -0700
     2.3 @@ -66,7 +66,7 @@
     2.4        # Going to short mode and back again did indeed matter. Since short mode is
     2.5        # case insensitive, let's make it lowercase to improve readability.
     2.6        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
     2.7 -      # Now convert it back to Unix-stile (cygpath)
     2.8 +      # Now convert it back to Unix-style (cygpath)
     2.9        input_path=`$CYGPATH -u "$shortmode_path"`
    2.10        new_path="$input_path"
    2.11      fi
     3.1 --- a/common/autoconf/generated-configure.sh	Wed May 16 15:52:51 2018 -0700
     3.2 +++ b/common/autoconf/generated-configure.sh	Mon May 21 06:54:25 2018 -0700
     3.3 @@ -3404,6 +3404,10 @@
     3.4  # Setup basic configuration paths, and platform-specific stuff related to PATHs.
     3.5  
     3.6  
     3.7 +# Evaluates platform specific overrides for devkit variables.
     3.8 +# $1: Name of variable
     3.9 +
    3.10 +
    3.11  
    3.12  
    3.13  
    3.14 @@ -4301,7 +4305,7 @@
    3.15  #CUSTOM_AUTOCONF_INCLUDE
    3.16  
    3.17  # Do not change or remove the following line, it is needed for consistency checks:
    3.18 -DATE_WHEN_GENERATED=1526507291
    3.19 +DATE_WHEN_GENERATED=1526910855
    3.20  
    3.21  ###############################################################################
    3.22  #
    3.23 @@ -14117,7 +14121,7 @@
    3.24        # Going to short mode and back again did indeed matter. Since short mode is
    3.25        # case insensitive, let's make it lowercase to improve readability.
    3.26        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    3.27 -      # Now convert it back to Unix-stile (cygpath)
    3.28 +      # Now convert it back to Unix-style (cygpath)
    3.29        input_path=`$CYGPATH -u "$shortmode_path"`
    3.30        new_path="$input_path"
    3.31      fi
    3.32 @@ -14239,7 +14243,7 @@
    3.33        # Going to short mode and back again did indeed matter. Since short mode is
    3.34        # case insensitive, let's make it lowercase to improve readability.
    3.35        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    3.36 -      # Now convert it back to Unix-stile (cygpath)
    3.37 +      # Now convert it back to Unix-style (cygpath)
    3.38        input_path=`$CYGPATH -u "$shortmode_path"`
    3.39        new_path="$input_path"
    3.40      fi
    3.41 @@ -14726,7 +14730,7 @@
    3.42        # Going to short mode and back again did indeed matter. Since short mode is
    3.43        # case insensitive, let's make it lowercase to improve readability.
    3.44        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    3.45 -      # Now convert it back to Unix-stile (cygpath)
    3.46 +      # Now convert it back to Unix-style (cygpath)
    3.47        input_path=`$CYGPATH -u "$shortmode_path"`
    3.48        new_path="$input_path"
    3.49      fi
    3.50 @@ -14812,12 +14816,63 @@
    3.51          DEVKIT_ROOT="$with_devkit"
    3.52          # Check for a meta data info file in the root of the devkit
    3.53          if test -f "$DEVKIT_ROOT/devkit.info"; then
    3.54 +          . $DEVKIT_ROOT/devkit.info
    3.55            # This potentially sets the following:
    3.56 -          # DEVKIT_NAME: A descriptive name of the devkit
    3.57 -          # DEVKIT_TOOLCHAIN_PATH: Corresponds to --with-toolchain-path
    3.58 -          # DEVKIT_EXTRA_PATH: Corresponds to --with-extra-path
    3.59 -          # DEVKIT_SYSROOT: Corresponds to --with-sysroot
    3.60 -          . $DEVKIT_ROOT/devkit.info
    3.61 +          # A descriptive name of the devkit
    3.62 +
    3.63 +  if test "x$DEVKIT_NAME" = x; then
    3.64 +    eval DEVKIT_NAME="\${DEVKIT_NAME_${OPENJDK_TARGET_CPU}}"
    3.65 +  fi
    3.66 +
    3.67 +          # Corresponds to --with-extra-path
    3.68 +
    3.69 +  if test "x$DEVKIT_EXTRA_PATH" = x; then
    3.70 +    eval DEVKIT_EXTRA_PATH="\${DEVKIT_EXTRA_PATH_${OPENJDK_TARGET_CPU}}"
    3.71 +  fi
    3.72 +
    3.73 +          # Corresponds to --with-toolchain-path
    3.74 +
    3.75 +  if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
    3.76 +    eval DEVKIT_TOOLCHAIN_PATH="\${DEVKIT_TOOLCHAIN_PATH_${OPENJDK_TARGET_CPU}}"
    3.77 +  fi
    3.78 +
    3.79 +          # Corresponds to --with-sysroot
    3.80 +
    3.81 +  if test "x$DEVKIT_SYSROOT" = x; then
    3.82 +    eval DEVKIT_SYSROOT="\${DEVKIT_SYSROOT_${OPENJDK_TARGET_CPU}}"
    3.83 +  fi
    3.84 +
    3.85 +
    3.86 +          # Identifies the Visual Studio version in the devkit
    3.87 +
    3.88 +  if test "x$DEVKIT_VS_VERSION" = x; then
    3.89 +    eval DEVKIT_VS_VERSION="\${DEVKIT_VS_VERSION_${OPENJDK_TARGET_CPU}}"
    3.90 +  fi
    3.91 +
    3.92 +          # The Visual Studio include environment variable
    3.93 +
    3.94 +  if test "x$DEVKIT_VS_INCLUDE" = x; then
    3.95 +    eval DEVKIT_VS_INCLUDE="\${DEVKIT_VS_INCLUDE_${OPENJDK_TARGET_CPU}}"
    3.96 +  fi
    3.97 +
    3.98 +          # The Visual Studio lib environment variable
    3.99 +
   3.100 +  if test "x$DEVKIT_VS_LIB" = x; then
   3.101 +    eval DEVKIT_VS_LIB="\${DEVKIT_VS_LIB_${OPENJDK_TARGET_CPU}}"
   3.102 +  fi
   3.103 +
   3.104 +          # Corresponds to --with-msvcr-dll
   3.105 +
   3.106 +  if test "x$DEVKIT_MSVCR_DLL" = x; then
   3.107 +    eval DEVKIT_MSVCR_DLL="\${DEVKIT_MSVCR_DLL_${OPENJDK_TARGET_CPU}}"
   3.108 +  fi
   3.109 +
   3.110 +          # Corresponds to --with-msvcp-dll
   3.111 +
   3.112 +  if test "x$DEVKIT_MSVCP_DLL" = x; then
   3.113 +    eval DEVKIT_MSVCP_DLL="\${DEVKIT_MSVCP_DLL_${OPENJDK_TARGET_CPU}}"
   3.114 +  fi
   3.115 +
   3.116          fi
   3.117  
   3.118          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for devkit" >&5
   3.119 @@ -14830,7 +14885,6 @@
   3.120  $as_echo "$DEVKIT_ROOT" >&6; }
   3.121          fi
   3.122  
   3.123 -        if test "x$DEVKIT_EXTRA_PATH" != x; then
   3.124  
   3.125    if test "x$DEVKIT_EXTRA_PATH" != x; then
   3.126      if test "x$EXTRA_PATH" = x; then
   3.127 @@ -14840,7 +14894,6 @@
   3.128      fi
   3.129    fi
   3.130  
   3.131 -        fi
   3.132  
   3.133          # Fallback default of just /bin if DEVKIT_PATH is not defined
   3.134          if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
   3.135 @@ -15028,8 +15081,12 @@
   3.136        files_present=`$LS $OUTPUT_ROOT`
   3.137        # Configure has already touched config.log and confdefs.h in the current dir when this check
   3.138        # is performed.
   3.139 -      filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
   3.140 -      | $TR -d '\n'`
   3.141 +      filtered_files=`$ECHO "$files_present" \
   3.142 +          | $SED -e 's/config.log//g' \
   3.143 +	      -e 's/confdefs.h//g' \
   3.144 +	      -e 's/fixpath.exe//g' \
   3.145 +	      -e 's/ //g' \
   3.146 +          | $TR -d '\n'`
   3.147        if test "x$filtered_files" != x; then
   3.148          { $as_echo "$as_me:${as_lineno-$LINENO}: Current directory is $CURDIR." >&5
   3.149  $as_echo "$as_me: Current directory is $CURDIR." >&6;}
   3.150 @@ -15093,7 +15150,7 @@
   3.151        # Going to short mode and back again did indeed matter. Since short mode is
   3.152        # case insensitive, let's make it lowercase to improve readability.
   3.153        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.154 -      # Now convert it back to Unix-stile (cygpath)
   3.155 +      # Now convert it back to Unix-style (cygpath)
   3.156        input_path=`$CYGPATH -u "$shortmode_path"`
   3.157        new_path="$input_path"
   3.158      fi
   3.159 @@ -15396,7 +15453,7 @@
   3.160        # Going to short mode and back again did indeed matter. Since short mode is
   3.161        # case insensitive, let's make it lowercase to improve readability.
   3.162        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.163 -      # Now convert it back to Unix-stile (cygpath)
   3.164 +      # Now convert it back to Unix-style (cygpath)
   3.165        input_path=`$CYGPATH -u "$shortmode_path"`
   3.166        new_path="$input_path"
   3.167      fi
   3.168 @@ -15769,7 +15826,7 @@
   3.169        # Going to short mode and back again did indeed matter. Since short mode is
   3.170        # case insensitive, let's make it lowercase to improve readability.
   3.171        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.172 -      # Now convert it back to Unix-stile (cygpath)
   3.173 +      # Now convert it back to Unix-style (cygpath)
   3.174        input_path=`$CYGPATH -u "$shortmode_path"`
   3.175        new_path="$input_path"
   3.176      fi
   3.177 @@ -16139,7 +16196,7 @@
   3.178        # Going to short mode and back again did indeed matter. Since short mode is
   3.179        # case insensitive, let's make it lowercase to improve readability.
   3.180        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.181 -      # Now convert it back to Unix-stile (cygpath)
   3.182 +      # Now convert it back to Unix-style (cygpath)
   3.183        input_path=`$CYGPATH -u "$shortmode_path"`
   3.184        new_path="$input_path"
   3.185      fi
   3.186 @@ -16514,7 +16571,7 @@
   3.187        # Going to short mode and back again did indeed matter. Since short mode is
   3.188        # case insensitive, let's make it lowercase to improve readability.
   3.189        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.190 -      # Now convert it back to Unix-stile (cygpath)
   3.191 +      # Now convert it back to Unix-style (cygpath)
   3.192        input_path=`$CYGPATH -u "$shortmode_path"`
   3.193        new_path="$input_path"
   3.194      fi
   3.195 @@ -16883,7 +16940,7 @@
   3.196        # Going to short mode and back again did indeed matter. Since short mode is
   3.197        # case insensitive, let's make it lowercase to improve readability.
   3.198        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.199 -      # Now convert it back to Unix-stile (cygpath)
   3.200 +      # Now convert it back to Unix-style (cygpath)
   3.201        input_path=`$CYGPATH -u "$shortmode_path"`
   3.202        new_path="$input_path"
   3.203      fi
   3.204 @@ -19885,7 +19942,7 @@
   3.205        # Going to short mode and back again did indeed matter. Since short mode is
   3.206        # case insensitive, let's make it lowercase to improve readability.
   3.207        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.208 -      # Now convert it back to Unix-stile (cygpath)
   3.209 +      # Now convert it back to Unix-style (cygpath)
   3.210        input_path=`$CYGPATH -u "$shortmode_path"`
   3.211        new_path="$input_path"
   3.212      fi
   3.213 @@ -20217,7 +20274,7 @@
   3.214        # Going to short mode and back again did indeed matter. Since short mode is
   3.215        # case insensitive, let's make it lowercase to improve readability.
   3.216        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.217 -      # Now convert it back to Unix-stile (cygpath)
   3.218 +      # Now convert it back to Unix-style (cygpath)
   3.219        input_path=`$CYGPATH -u "$shortmode_path"`
   3.220        new_path="$input_path"
   3.221      fi
   3.222 @@ -20363,7 +20420,7 @@
   3.223        # Going to short mode and back again did indeed matter. Since short mode is
   3.224        # case insensitive, let's make it lowercase to improve readability.
   3.225        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.226 -      # Now convert it back to Unix-stile (cygpath)
   3.227 +      # Now convert it back to Unix-style (cygpath)
   3.228        input_path=`$CYGPATH -u "$shortmode_path"`
   3.229        new_path="$input_path"
   3.230      fi
   3.231 @@ -20535,7 +20592,7 @@
   3.232        # Going to short mode and back again did indeed matter. Since short mode is
   3.233        # case insensitive, let's make it lowercase to improve readability.
   3.234        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.235 -      # Now convert it back to Unix-stile (cygpath)
   3.236 +      # Now convert it back to Unix-style (cygpath)
   3.237        input_path=`$CYGPATH -u "$shortmode_path"`
   3.238        new_path="$input_path"
   3.239      fi
   3.240 @@ -20723,7 +20780,7 @@
   3.241        # Going to short mode and back again did indeed matter. Since short mode is
   3.242        # case insensitive, let's make it lowercase to improve readability.
   3.243        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.244 -      # Now convert it back to Unix-stile (cygpath)
   3.245 +      # Now convert it back to Unix-style (cygpath)
   3.246        input_path=`$CYGPATH -u "$shortmode_path"`
   3.247        new_path="$input_path"
   3.248      fi
   3.249 @@ -21051,7 +21108,7 @@
   3.250        # Going to short mode and back again did indeed matter. Since short mode is
   3.251        # case insensitive, let's make it lowercase to improve readability.
   3.252        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.253 -      # Now convert it back to Unix-stile (cygpath)
   3.254 +      # Now convert it back to Unix-style (cygpath)
   3.255        input_path=`$CYGPATH -u "$shortmode_path"`
   3.256        new_path="$input_path"
   3.257      fi
   3.258 @@ -21266,7 +21323,7 @@
   3.259        # Going to short mode and back again did indeed matter. Since short mode is
   3.260        # case insensitive, let's make it lowercase to improve readability.
   3.261        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.262 -      # Now convert it back to Unix-stile (cygpath)
   3.263 +      # Now convert it back to Unix-style (cygpath)
   3.264        input_path=`$CYGPATH -u "$shortmode_path"`
   3.265        new_path="$input_path"
   3.266      fi
   3.267 @@ -21446,7 +21503,7 @@
   3.268        # Going to short mode and back again did indeed matter. Since short mode is
   3.269        # case insensitive, let's make it lowercase to improve readability.
   3.270        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.271 -      # Now convert it back to Unix-stile (cygpath)
   3.272 +      # Now convert it back to Unix-style (cygpath)
   3.273        input_path=`$CYGPATH -u "$shortmode_path"`
   3.274        new_path="$input_path"
   3.275      fi
   3.276 @@ -21654,7 +21711,7 @@
   3.277        # Going to short mode and back again did indeed matter. Since short mode is
   3.278        # case insensitive, let's make it lowercase to improve readability.
   3.279        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.280 -      # Now convert it back to Unix-stile (cygpath)
   3.281 +      # Now convert it back to Unix-style (cygpath)
   3.282        input_path=`$CYGPATH -u "$shortmode_path"`
   3.283        new_path="$input_path"
   3.284      fi
   3.285 @@ -21834,7 +21891,7 @@
   3.286        # Going to short mode and back again did indeed matter. Since short mode is
   3.287        # case insensitive, let's make it lowercase to improve readability.
   3.288        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.289 -      # Now convert it back to Unix-stile (cygpath)
   3.290 +      # Now convert it back to Unix-style (cygpath)
   3.291        input_path=`$CYGPATH -u "$shortmode_path"`
   3.292        new_path="$input_path"
   3.293      fi
   3.294 @@ -22042,7 +22099,7 @@
   3.295        # Going to short mode and back again did indeed matter. Since short mode is
   3.296        # case insensitive, let's make it lowercase to improve readability.
   3.297        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.298 -      # Now convert it back to Unix-stile (cygpath)
   3.299 +      # Now convert it back to Unix-style (cygpath)
   3.300        input_path=`$CYGPATH -u "$shortmode_path"`
   3.301        new_path="$input_path"
   3.302      fi
   3.303 @@ -22222,7 +22279,7 @@
   3.304        # Going to short mode and back again did indeed matter. Since short mode is
   3.305        # case insensitive, let's make it lowercase to improve readability.
   3.306        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.307 -      # Now convert it back to Unix-stile (cygpath)
   3.308 +      # Now convert it back to Unix-style (cygpath)
   3.309        input_path=`$CYGPATH -u "$shortmode_path"`
   3.310        new_path="$input_path"
   3.311      fi
   3.312 @@ -22430,7 +22487,7 @@
   3.313        # Going to short mode and back again did indeed matter. Since short mode is
   3.314        # case insensitive, let's make it lowercase to improve readability.
   3.315        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.316 -      # Now convert it back to Unix-stile (cygpath)
   3.317 +      # Now convert it back to Unix-style (cygpath)
   3.318        input_path=`$CYGPATH -u "$shortmode_path"`
   3.319        new_path="$input_path"
   3.320      fi
   3.321 @@ -22610,7 +22667,7 @@
   3.322        # Going to short mode and back again did indeed matter. Since short mode is
   3.323        # case insensitive, let's make it lowercase to improve readability.
   3.324        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.325 -      # Now convert it back to Unix-stile (cygpath)
   3.326 +      # Now convert it back to Unix-style (cygpath)
   3.327        input_path=`$CYGPATH -u "$shortmode_path"`
   3.328        new_path="$input_path"
   3.329      fi
   3.330 @@ -22805,7 +22862,7 @@
   3.331        # Going to short mode and back again did indeed matter. Since short mode is
   3.332        # case insensitive, let's make it lowercase to improve readability.
   3.333        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.334 -      # Now convert it back to Unix-stile (cygpath)
   3.335 +      # Now convert it back to Unix-style (cygpath)
   3.336        input_path=`$CYGPATH -u "$shortmode_path"`
   3.337        new_path="$input_path"
   3.338      fi
   3.339 @@ -22983,7 +23040,7 @@
   3.340        # Going to short mode and back again did indeed matter. Since short mode is
   3.341        # case insensitive, let's make it lowercase to improve readability.
   3.342        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.343 -      # Now convert it back to Unix-stile (cygpath)
   3.344 +      # Now convert it back to Unix-style (cygpath)
   3.345        input_path=`$CYGPATH -u "$shortmode_path"`
   3.346        new_path="$input_path"
   3.347      fi
   3.348 @@ -23179,7 +23236,7 @@
   3.349        # Going to short mode and back again did indeed matter. Since short mode is
   3.350        # case insensitive, let's make it lowercase to improve readability.
   3.351        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.352 -      # Now convert it back to Unix-stile (cygpath)
   3.353 +      # Now convert it back to Unix-style (cygpath)
   3.354        input_path=`$CYGPATH -u "$shortmode_path"`
   3.355        new_path="$input_path"
   3.356      fi
   3.357 @@ -23357,7 +23414,7 @@
   3.358        # Going to short mode and back again did indeed matter. Since short mode is
   3.359        # case insensitive, let's make it lowercase to improve readability.
   3.360        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.361 -      # Now convert it back to Unix-stile (cygpath)
   3.362 +      # Now convert it back to Unix-style (cygpath)
   3.363        input_path=`$CYGPATH -u "$shortmode_path"`
   3.364        new_path="$input_path"
   3.365      fi
   3.366 @@ -23552,7 +23609,7 @@
   3.367        # Going to short mode and back again did indeed matter. Since short mode is
   3.368        # case insensitive, let's make it lowercase to improve readability.
   3.369        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.370 -      # Now convert it back to Unix-stile (cygpath)
   3.371 +      # Now convert it back to Unix-style (cygpath)
   3.372        input_path=`$CYGPATH -u "$shortmode_path"`
   3.373        new_path="$input_path"
   3.374      fi
   3.375 @@ -23730,7 +23787,7 @@
   3.376        # Going to short mode and back again did indeed matter. Since short mode is
   3.377        # case insensitive, let's make it lowercase to improve readability.
   3.378        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.379 -      # Now convert it back to Unix-stile (cygpath)
   3.380 +      # Now convert it back to Unix-style (cygpath)
   3.381        input_path=`$CYGPATH -u "$shortmode_path"`
   3.382        new_path="$input_path"
   3.383      fi
   3.384 @@ -23926,7 +23983,7 @@
   3.385        # Going to short mode and back again did indeed matter. Since short mode is
   3.386        # case insensitive, let's make it lowercase to improve readability.
   3.387        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.388 -      # Now convert it back to Unix-stile (cygpath)
   3.389 +      # Now convert it back to Unix-style (cygpath)
   3.390        input_path=`$CYGPATH -u "$shortmode_path"`
   3.391        new_path="$input_path"
   3.392      fi
   3.393 @@ -24104,7 +24161,7 @@
   3.394        # Going to short mode and back again did indeed matter. Since short mode is
   3.395        # case insensitive, let's make it lowercase to improve readability.
   3.396        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.397 -      # Now convert it back to Unix-stile (cygpath)
   3.398 +      # Now convert it back to Unix-style (cygpath)
   3.399        input_path=`$CYGPATH -u "$shortmode_path"`
   3.400        new_path="$input_path"
   3.401      fi
   3.402 @@ -24281,7 +24338,7 @@
   3.403        # Going to short mode and back again did indeed matter. Since short mode is
   3.404        # case insensitive, let's make it lowercase to improve readability.
   3.405        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.406 -      # Now convert it back to Unix-stile (cygpath)
   3.407 +      # Now convert it back to Unix-style (cygpath)
   3.408        input_path=`$CYGPATH -u "$shortmode_path"`
   3.409        new_path="$input_path"
   3.410      fi
   3.411 @@ -25211,11 +25268,15 @@
   3.412    ORG_CXXFLAGS="$CXXFLAGS"
   3.413    ORG_OBJCFLAGS="$OBJCFLAGS"
   3.414  
   3.415 +  # autoconf magic only relies on PATH, so update it if tools dir is specified
   3.416 +  OLD_PATH="$PATH"
   3.417 +
   3.418    # On Windows, we need to detect the visual studio installation first.
   3.419    # This will change the PATH, but we need to keep that new PATH even
   3.420    # after toolchain detection is done, since the compiler (on x86) uses
   3.421    # it for DLL resolution in runtime.
   3.422 -  if test "x$OPENJDK_BUILD_OS" = "xwindows" && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
   3.423 +  if test "x$OPENJDK_BUILD_OS" = "xwindows" \
   3.424 +      && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
   3.425  
   3.426    # Store path to cygwin link.exe to help excluding it when searching for
   3.427    # VS linker. This must be done before changing the PATH when looking for VS.
   3.428 @@ -25293,6 +25354,56 @@
   3.429      done
   3.430  
   3.431      exit 0
   3.432 +  elif test "x$DEVKIT_VS_VERSION" != x; then
   3.433 +    VS_VERSION=$DEVKIT_VS_VERSION
   3.434 +    TOOLCHAIN_VERSION=$VS_VERSION
   3.435 +    eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
   3.436 +    eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
   3.437 +    eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
   3.438 +    eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
   3.439 +    eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
   3.440 +    VS_PATH="$TOOLCHAIN_PATH:$PATH"
   3.441 +
   3.442 +    # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
   3.443 +    # can still be exported as INCLUDE for compiler invocations without
   3.444 +    # SYSROOT_CFLAGS
   3.445 +    OLDIFS="$IFS"
   3.446 +    IFS=";"
   3.447 +    for i in $DEVKIT_VS_INCLUDE; do
   3.448 +      ipath=$i
   3.449 +
   3.450 +  unix_path="$ipath"
   3.451 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
   3.452 +    windows_path=`$CYGPATH -m "$unix_path"`
   3.453 +    ipath="$windows_path"
   3.454 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
   3.455 +    windows_path=`cmd //c echo $unix_path`
   3.456 +    ipath="$windows_path"
   3.457 +  fi
   3.458 +
   3.459 +      VS_INCLUDE="$VS_INCLUDE;$ipath"
   3.460 +    done
   3.461 +    # Convert DEVKIT_VS_LIB into VS_LIB so that it can still be exported
   3.462 +    # as LIB for compiler invocations without SYSROOT_LDFLAGS
   3.463 +    for i in $DEVKIT_VS_LIB; do
   3.464 +      libpath=$i
   3.465 +
   3.466 +  unix_path="$libpath"
   3.467 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
   3.468 +    windows_path=`$CYGPATH -m "$unix_path"`
   3.469 +    libpath="$windows_path"
   3.470 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
   3.471 +    windows_path=`cmd //c echo $unix_path`
   3.472 +    libpath="$windows_path"
   3.473 +  fi
   3.474 +
   3.475 +      VS_LIB="$VS_LIB;$libpath"
   3.476 +    done
   3.477 +    IFS="$OLDIFS"
   3.478 +
   3.479 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Found devkit $VS_DESCRIPTION" >&5
   3.480 +$as_echo "$as_me: Found devkit $VS_DESCRIPTION" >&6;}
   3.481 +
   3.482    elif test "x$with_toolchain_version" != x; then
   3.483      # User override; check that it is valid
   3.484      if test "x${VALID_VS_VERSIONS/$with_toolchain_version/}" = "x${VALID_VS_VERSIONS}"; then
   3.485 @@ -25865,8 +25976,10 @@
   3.486    done
   3.487  
   3.488  
   3.489 -  if test "x$VS_ENV_CMD" != x; then
   3.490 -    # We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
   3.491 +  # If we have a devkit, skip all of the below.
   3.492 +  if test "x$DEVKIT_VS_VERSION" = x; then
   3.493 +    if test "x$VS_ENV_CMD" != x; then
   3.494 +      # We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
   3.495  
   3.496    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
   3.497  
   3.498 @@ -25963,7 +26076,7 @@
   3.499        # Going to short mode and back again did indeed matter. Since short mode is
   3.500        # case insensitive, let's make it lowercase to improve readability.
   3.501        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.502 -      # Now convert it back to Unix-stile (cygpath)
   3.503 +      # Now convert it back to Unix-style (cygpath)
   3.504        input_path=`$CYGPATH -u "$shortmode_path"`
   3.505        new_path="$input_path"
   3.506      fi
   3.507 @@ -26150,17 +26263,17 @@
   3.508    fi
   3.509  
   3.510  
   3.511 -    # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
   3.512 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Trying to extract Visual Studio environment variables" >&5
   3.513 +      # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
   3.514 +      { $as_echo "$as_me:${as_lineno-$LINENO}: Trying to extract Visual Studio environment variables" >&5
   3.515  $as_echo "$as_me: Trying to extract Visual Studio environment variables" >&6;}
   3.516  
   3.517 -    # We need to create a couple of temporary files.
   3.518 -    VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
   3.519 -    $MKDIR -p $VS_ENV_TMP_DIR
   3.520 -
   3.521 -    # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
   3.522 -    # Instead create a shell script which will set the relevant variables when run.
   3.523 -    WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
   3.524 +      # We need to create a couple of temporary files.
   3.525 +      VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
   3.526 +      $MKDIR -p $VS_ENV_TMP_DIR
   3.527 +
   3.528 +      # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
   3.529 +      # Instead create a shell script which will set the relevant variables when run.
   3.530 +      WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
   3.531  
   3.532    unix_path="$WINPATH_VS_ENV_CMD"
   3.533    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
   3.534 @@ -26171,7 +26284,7 @@
   3.535      WINPATH_VS_ENV_CMD="$windows_path"
   3.536    fi
   3.537  
   3.538 -    WINPATH_BASH="$BASH"
   3.539 +      WINPATH_BASH="$BASH"
   3.540  
   3.541    unix_path="$WINPATH_BASH"
   3.542    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
   3.543 @@ -26183,59 +26296,67 @@
   3.544    fi
   3.545  
   3.546  
   3.547 -    # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
   3.548 -    # script (executable by bash) that will setup the important variables.
   3.549 -    EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat"
   3.550 -    $ECHO "@echo off" >  $EXTRACT_VC_ENV_BAT_FILE
   3.551 -    # This will end up something like:
   3.552 -    # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat
   3.553 -    $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE
   3.554 -    # These will end up something like:
   3.555 -    # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh
   3.556 -    # The trailing space for everyone except PATH is no typo, but is needed due
   3.557 -    # to trailing \ in the Windows paths. These will be stripped later.
   3.558 -    $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.559 -    $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.560 -    $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.561 -    $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.562 -    $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.563 -    $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
   3.564 -
   3.565 -    # Now execute the newly created bat file.
   3.566 -    # The | cat is to stop SetEnv.Cmd to mess with system colors on msys.
   3.567 -    # Change directory so we don't need to mess with Windows paths in redirects.
   3.568 -    cd $VS_ENV_TMP_DIR
   3.569 -    cmd /c extract-vs-env.bat | $CAT
   3.570 -    cd $CURDIR
   3.571 -
   3.572 -    if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
   3.573 -      { $as_echo "$as_me:${as_lineno-$LINENO}: Could not succesfully extract the envionment variables needed for the VS setup." >&5
   3.574 +      # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
   3.575 +      # script (executable by bash) that will setup the important variables.
   3.576 +      EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat"
   3.577 +      $ECHO "@echo off" >  $EXTRACT_VC_ENV_BAT_FILE
   3.578 +      # This will end up something like:
   3.579 +      # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat
   3.580 +      $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE
   3.581 +      # These will end up something like:
   3.582 +      # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh
   3.583 +      # The trailing space for everyone except PATH is no typo, but is needed due
   3.584 +      # to trailing \ in the Windows paths. These will be stripped later.
   3.585 +      $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' \
   3.586 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.587 +      $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' \
   3.588 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.589 +      $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' \
   3.590 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.591 +      $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' \
   3.592 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.593 +      $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' \
   3.594 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.595 +      $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' \
   3.596 +          >> $EXTRACT_VC_ENV_BAT_FILE
   3.597 +
   3.598 +      # Now execute the newly created bat file.
   3.599 +      # The | cat is to stop SetEnv.Cmd to mess with system colors on msys.
   3.600 +      # Change directory so we don't need to mess with Windows paths in redirects.
   3.601 +      cd $VS_ENV_TMP_DIR
   3.602 +      cmd /c extract-vs-env.bat | $CAT
   3.603 +      cd $CURDIR
   3.604 +
   3.605 +      if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
   3.606 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not succesfully extract the envionment variables needed for the VS setup." >&5
   3.607  $as_echo "$as_me: Could not succesfully extract the envionment variables needed for the VS setup." >&6;}
   3.608 -      { $as_echo "$as_me:${as_lineno-$LINENO}: Try setting --with-tools-dir to the VC/bin directory within the VS installation" >&5
   3.609 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Try setting --with-tools-dir to the VC/bin directory within the VS installation" >&5
   3.610  $as_echo "$as_me: Try setting --with-tools-dir to the VC/bin directory within the VS installation" >&6;}
   3.611 -      { $as_echo "$as_me:${as_lineno-$LINENO}: or run \"bash.exe -l\" from a VS command prompt and then run configure from there." >&5
   3.612 +        { $as_echo "$as_me:${as_lineno-$LINENO}: or run \"bash.exe -l\" from a VS command prompt and then run configure from there." >&5
   3.613  $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run configure from there." >&6;}
   3.614 -      as_fn_error $? "Cannot continue" "$LINENO" 5
   3.615 -    fi
   3.616 -
   3.617 -    # Now set all paths and other env variables. This will allow the rest of
   3.618 -    # the configure script to find and run the compiler in the proper way.
   3.619 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Setting extracted environment variables" >&5
   3.620 +        as_fn_error $? "Cannot continue" "$LINENO" 5
   3.621 +      fi
   3.622 +
   3.623 +      # Now set all paths and other env variables. This will allow the rest of
   3.624 +      # the configure script to find and run the compiler in the proper way.
   3.625 +      { $as_echo "$as_me:${as_lineno-$LINENO}: Setting extracted environment variables" >&5
   3.626  $as_echo "$as_me: Setting extracted environment variables" >&6;}
   3.627 -    . $VS_ENV_TMP_DIR/set-vs-env.sh
   3.628 -    # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
   3.629 -    # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR.
   3.630 -  else
   3.631 -    # We did not find a vsvars bat file, let's hope we are run from a VS command prompt.
   3.632 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Cannot locate a valid Visual Studio installation, checking current environment" >&5
   3.633 +      . $VS_ENV_TMP_DIR/set-vs-env.sh
   3.634 +      # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
   3.635 +      # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR.
   3.636 +    else
   3.637 +      # We did not find a vsvars bat file, let's hope we are run from a VS command prompt.
   3.638 +     { $as_echo "$as_me:${as_lineno-$LINENO}: Cannot locate a valid Visual Studio installation, checking current environment" >&5
   3.639  $as_echo "$as_me: Cannot locate a valid Visual Studio installation, checking current environment" >&6;}
   3.640 +    fi
   3.641    fi
   3.642  
   3.643    # At this point, we should have correct variables in the environment, or we can't continue.
   3.644    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Visual Studio variables" >&5
   3.645  $as_echo_n "checking for Visual Studio variables... " >&6; }
   3.646  
   3.647 -  if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then
   3.648 +  if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x \
   3.649 +      || test "x$WINDOWSSDKDIR" != x || test "x$DEVKIT_NAME" != x; then
   3.650      if test "x$VS_INCLUDE" = x || test "x$VS_LIB" = x; then
   3.651        { $as_echo "$as_me:${as_lineno-$LINENO}: result: present but broken" >&5
   3.652  $as_echo "present but broken" >&6; }
   3.653 @@ -26285,9 +26406,6 @@
   3.654      export LIB="$VS_LIB"
   3.655    fi
   3.656  
   3.657 -  # autoconf magic only relies on PATH, so update it if tools dir is specified
   3.658 -  OLD_PATH="$PATH"
   3.659 -
   3.660    # Before we locate the compilers, we need to sanitize the Xcode build environment
   3.661    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
   3.662      # determine path to Xcode developer directory
   3.663 @@ -26750,7 +26868,7 @@
   3.664        # Going to short mode and back again did indeed matter. Since short mode is
   3.665        # case insensitive, let's make it lowercase to improve readability.
   3.666        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.667 -      # Now convert it back to Unix-stile (cygpath)
   3.668 +      # Now convert it back to Unix-style (cygpath)
   3.669        input_path=`$CYGPATH -u "$shortmode_path"`
   3.670        new_path="$input_path"
   3.671      fi
   3.672 @@ -27207,7 +27325,7 @@
   3.673        # Going to short mode and back again did indeed matter. Since short mode is
   3.674        # case insensitive, let's make it lowercase to improve readability.
   3.675        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.676 -      # Now convert it back to Unix-stile (cygpath)
   3.677 +      # Now convert it back to Unix-style (cygpath)
   3.678        input_path=`$CYGPATH -u "$shortmode_path"`
   3.679        new_path="$input_path"
   3.680      fi
   3.681 @@ -28492,7 +28610,7 @@
   3.682        # Going to short mode and back again did indeed matter. Since short mode is
   3.683        # case insensitive, let's make it lowercase to improve readability.
   3.684        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.685 -      # Now convert it back to Unix-stile (cygpath)
   3.686 +      # Now convert it back to Unix-style (cygpath)
   3.687        input_path=`$CYGPATH -u "$shortmode_path"`
   3.688        new_path="$input_path"
   3.689      fi
   3.690 @@ -28949,7 +29067,7 @@
   3.691        # Going to short mode and back again did indeed matter. Since short mode is
   3.692        # case insensitive, let's make it lowercase to improve readability.
   3.693        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.694 -      # Now convert it back to Unix-stile (cygpath)
   3.695 +      # Now convert it back to Unix-style (cygpath)
   3.696        input_path=`$CYGPATH -u "$shortmode_path"`
   3.697        new_path="$input_path"
   3.698      fi
   3.699 @@ -29839,7 +29957,7 @@
   3.700        # Going to short mode and back again did indeed matter. Since short mode is
   3.701        # case insensitive, let's make it lowercase to improve readability.
   3.702        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.703 -      # Now convert it back to Unix-stile (cygpath)
   3.704 +      # Now convert it back to Unix-style (cygpath)
   3.705        input_path=`$CYGPATH -u "$shortmode_path"`
   3.706        new_path="$input_path"
   3.707      fi
   3.708 @@ -30254,7 +30372,7 @@
   3.709        # Going to short mode and back again did indeed matter. Since short mode is
   3.710        # case insensitive, let's make it lowercase to improve readability.
   3.711        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.712 -      # Now convert it back to Unix-stile (cygpath)
   3.713 +      # Now convert it back to Unix-style (cygpath)
   3.714        input_path=`$CYGPATH -u "$shortmode_path"`
   3.715        new_path="$input_path"
   3.716      fi
   3.717 @@ -30598,7 +30716,7 @@
   3.718        # Going to short mode and back again did indeed matter. Since short mode is
   3.719        # case insensitive, let's make it lowercase to improve readability.
   3.720        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.721 -      # Now convert it back to Unix-stile (cygpath)
   3.722 +      # Now convert it back to Unix-style (cygpath)
   3.723        input_path=`$CYGPATH -u "$shortmode_path"`
   3.724        new_path="$input_path"
   3.725      fi
   3.726 @@ -31093,7 +31211,7 @@
   3.727        # Going to short mode and back again did indeed matter. Since short mode is
   3.728        # case insensitive, let's make it lowercase to improve readability.
   3.729        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.730 -      # Now convert it back to Unix-stile (cygpath)
   3.731 +      # Now convert it back to Unix-style (cygpath)
   3.732        input_path=`$CYGPATH -u "$shortmode_path"`
   3.733        new_path="$input_path"
   3.734      fi
   3.735 @@ -31721,7 +31839,7 @@
   3.736        # Going to short mode and back again did indeed matter. Since short mode is
   3.737        # case insensitive, let's make it lowercase to improve readability.
   3.738        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.739 -      # Now convert it back to Unix-stile (cygpath)
   3.740 +      # Now convert it back to Unix-style (cygpath)
   3.741        input_path=`$CYGPATH -u "$shortmode_path"`
   3.742        new_path="$input_path"
   3.743      fi
   3.744 @@ -32257,7 +32375,7 @@
   3.745        # Going to short mode and back again did indeed matter. Since short mode is
   3.746        # case insensitive, let's make it lowercase to improve readability.
   3.747        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.748 -      # Now convert it back to Unix-stile (cygpath)
   3.749 +      # Now convert it back to Unix-style (cygpath)
   3.750        input_path=`$CYGPATH -u "$shortmode_path"`
   3.751        new_path="$input_path"
   3.752      fi
   3.753 @@ -32725,7 +32843,7 @@
   3.754        # Going to short mode and back again did indeed matter. Since short mode is
   3.755        # case insensitive, let's make it lowercase to improve readability.
   3.756        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.757 -      # Now convert it back to Unix-stile (cygpath)
   3.758 +      # Now convert it back to Unix-style (cygpath)
   3.759        input_path=`$CYGPATH -u "$shortmode_path"`
   3.760        new_path="$input_path"
   3.761      fi
   3.762 @@ -33066,7 +33184,7 @@
   3.763        # Going to short mode and back again did indeed matter. Since short mode is
   3.764        # case insensitive, let's make it lowercase to improve readability.
   3.765        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.766 -      # Now convert it back to Unix-stile (cygpath)
   3.767 +      # Now convert it back to Unix-style (cygpath)
   3.768        input_path=`$CYGPATH -u "$shortmode_path"`
   3.769        new_path="$input_path"
   3.770      fi
   3.771 @@ -33403,7 +33521,7 @@
   3.772        # Going to short mode and back again did indeed matter. Since short mode is
   3.773        # case insensitive, let's make it lowercase to improve readability.
   3.774        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.775 -      # Now convert it back to Unix-stile (cygpath)
   3.776 +      # Now convert it back to Unix-style (cygpath)
   3.777        input_path=`$CYGPATH -u "$shortmode_path"`
   3.778        new_path="$input_path"
   3.779      fi
   3.780 @@ -33722,7 +33840,7 @@
   3.781        # Going to short mode and back again did indeed matter. Since short mode is
   3.782        # case insensitive, let's make it lowercase to improve readability.
   3.783        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.784 -      # Now convert it back to Unix-stile (cygpath)
   3.785 +      # Now convert it back to Unix-style (cygpath)
   3.786        input_path=`$CYGPATH -u "$shortmode_path"`
   3.787        new_path="$input_path"
   3.788      fi
   3.789 @@ -34237,7 +34355,7 @@
   3.790        # Going to short mode and back again did indeed matter. Since short mode is
   3.791        # case insensitive, let's make it lowercase to improve readability.
   3.792        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.793 -      # Now convert it back to Unix-stile (cygpath)
   3.794 +      # Now convert it back to Unix-style (cygpath)
   3.795        input_path=`$CYGPATH -u "$shortmode_path"`
   3.796        new_path="$input_path"
   3.797      fi
   3.798 @@ -34705,7 +34823,7 @@
   3.799        # Going to short mode and back again did indeed matter. Since short mode is
   3.800        # case insensitive, let's make it lowercase to improve readability.
   3.801        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.802 -      # Now convert it back to Unix-stile (cygpath)
   3.803 +      # Now convert it back to Unix-style (cygpath)
   3.804        input_path=`$CYGPATH -u "$shortmode_path"`
   3.805        new_path="$input_path"
   3.806      fi
   3.807 @@ -35173,7 +35291,7 @@
   3.808        # Going to short mode and back again did indeed matter. Since short mode is
   3.809        # case insensitive, let's make it lowercase to improve readability.
   3.810        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.811 -      # Now convert it back to Unix-stile (cygpath)
   3.812 +      # Now convert it back to Unix-style (cygpath)
   3.813        input_path=`$CYGPATH -u "$shortmode_path"`
   3.814        new_path="$input_path"
   3.815      fi
   3.816 @@ -35642,7 +35760,7 @@
   3.817        # Going to short mode and back again did indeed matter. Since short mode is
   3.818        # case insensitive, let's make it lowercase to improve readability.
   3.819        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.820 -      # Now convert it back to Unix-stile (cygpath)
   3.821 +      # Now convert it back to Unix-style (cygpath)
   3.822        input_path=`$CYGPATH -u "$shortmode_path"`
   3.823        new_path="$input_path"
   3.824      fi
   3.825 @@ -36222,7 +36340,7 @@
   3.826        # Going to short mode and back again did indeed matter. Since short mode is
   3.827        # case insensitive, let's make it lowercase to improve readability.
   3.828        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.829 -      # Now convert it back to Unix-stile (cygpath)
   3.830 +      # Now convert it back to Unix-style (cygpath)
   3.831        input_path=`$CYGPATH -u "$shortmode_path"`
   3.832        new_path="$input_path"
   3.833      fi
   3.834 @@ -36843,7 +36961,7 @@
   3.835        # Going to short mode and back again did indeed matter. Since short mode is
   3.836        # case insensitive, let's make it lowercase to improve readability.
   3.837        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.838 -      # Now convert it back to Unix-stile (cygpath)
   3.839 +      # Now convert it back to Unix-style (cygpath)
   3.840        input_path=`$CYGPATH -u "$shortmode_path"`
   3.841        new_path="$input_path"
   3.842      fi
   3.843 @@ -37430,7 +37548,7 @@
   3.844        # Going to short mode and back again did indeed matter. Since short mode is
   3.845        # case insensitive, let's make it lowercase to improve readability.
   3.846        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.847 -      # Now convert it back to Unix-stile (cygpath)
   3.848 +      # Now convert it back to Unix-style (cygpath)
   3.849        input_path=`$CYGPATH -u "$shortmode_path"`
   3.850        new_path="$input_path"
   3.851      fi
   3.852 @@ -38014,7 +38132,7 @@
   3.853        # Going to short mode and back again did indeed matter. Since short mode is
   3.854        # case insensitive, let's make it lowercase to improve readability.
   3.855        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.856 -      # Now convert it back to Unix-stile (cygpath)
   3.857 +      # Now convert it back to Unix-style (cygpath)
   3.858        input_path=`$CYGPATH -u "$shortmode_path"`
   3.859        new_path="$input_path"
   3.860      fi
   3.861 @@ -38507,7 +38625,7 @@
   3.862        # Going to short mode and back again did indeed matter. Since short mode is
   3.863        # case insensitive, let's make it lowercase to improve readability.
   3.864        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.865 -      # Now convert it back to Unix-stile (cygpath)
   3.866 +      # Now convert it back to Unix-style (cygpath)
   3.867        input_path=`$CYGPATH -u "$shortmode_path"`
   3.868        new_path="$input_path"
   3.869      fi
   3.870 @@ -38975,7 +39093,7 @@
   3.871        # Going to short mode and back again did indeed matter. Since short mode is
   3.872        # case insensitive, let's make it lowercase to improve readability.
   3.873        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.874 -      # Now convert it back to Unix-stile (cygpath)
   3.875 +      # Now convert it back to Unix-style (cygpath)
   3.876        input_path=`$CYGPATH -u "$shortmode_path"`
   3.877        new_path="$input_path"
   3.878      fi
   3.879 @@ -39443,7 +39561,7 @@
   3.880        # Going to short mode and back again did indeed matter. Since short mode is
   3.881        # case insensitive, let's make it lowercase to improve readability.
   3.882        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.883 -      # Now convert it back to Unix-stile (cygpath)
   3.884 +      # Now convert it back to Unix-style (cygpath)
   3.885        input_path=`$CYGPATH -u "$shortmode_path"`
   3.886        new_path="$input_path"
   3.887      fi
   3.888 @@ -39823,7 +39941,7 @@
   3.889        # Going to short mode and back again did indeed matter. Since short mode is
   3.890        # case insensitive, let's make it lowercase to improve readability.
   3.891        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.892 -      # Now convert it back to Unix-stile (cygpath)
   3.893 +      # Now convert it back to Unix-style (cygpath)
   3.894        input_path=`$CYGPATH -u "$shortmode_path"`
   3.895        new_path="$input_path"
   3.896      fi
   3.897 @@ -43360,7 +43478,7 @@
   3.898        # Going to short mode and back again did indeed matter. Since short mode is
   3.899        # case insensitive, let's make it lowercase to improve readability.
   3.900        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.901 -      # Now convert it back to Unix-stile (cygpath)
   3.902 +      # Now convert it back to Unix-style (cygpath)
   3.903        input_path=`$CYGPATH -u "$shortmode_path"`
   3.904        new_path="$input_path"
   3.905      fi
   3.906 @@ -43482,7 +43600,7 @@
   3.907        # Going to short mode and back again did indeed matter. Since short mode is
   3.908        # case insensitive, let's make it lowercase to improve readability.
   3.909        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.910 -      # Now convert it back to Unix-stile (cygpath)
   3.911 +      # Now convert it back to Unix-style (cygpath)
   3.912        input_path=`$CYGPATH -u "$shortmode_path"`
   3.913        new_path="$input_path"
   3.914      fi
   3.915 @@ -43687,7 +43805,7 @@
   3.916        # Going to short mode and back again did indeed matter. Since short mode is
   3.917        # case insensitive, let's make it lowercase to improve readability.
   3.918        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.919 -      # Now convert it back to Unix-stile (cygpath)
   3.920 +      # Now convert it back to Unix-style (cygpath)
   3.921        input_path=`$CYGPATH -u "$shortmode_path"`
   3.922        new_path="$input_path"
   3.923      fi
   3.924 @@ -43809,7 +43927,7 @@
   3.925        # Going to short mode and back again did indeed matter. Since short mode is
   3.926        # case insensitive, let's make it lowercase to improve readability.
   3.927        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.928 -      # Now convert it back to Unix-stile (cygpath)
   3.929 +      # Now convert it back to Unix-style (cygpath)
   3.930        input_path=`$CYGPATH -u "$shortmode_path"`
   3.931        new_path="$input_path"
   3.932      fi
   3.933 @@ -44275,7 +44393,7 @@
   3.934        # Going to short mode and back again did indeed matter. Since short mode is
   3.935        # case insensitive, let's make it lowercase to improve readability.
   3.936        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.937 -      # Now convert it back to Unix-stile (cygpath)
   3.938 +      # Now convert it back to Unix-style (cygpath)
   3.939        input_path=`$CYGPATH -u "$shortmode_path"`
   3.940        new_path="$input_path"
   3.941      fi
   3.942 @@ -44397,7 +44515,7 @@
   3.943        # Going to short mode and back again did indeed matter. Since short mode is
   3.944        # case insensitive, let's make it lowercase to improve readability.
   3.945        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.946 -      # Now convert it back to Unix-stile (cygpath)
   3.947 +      # Now convert it back to Unix-style (cygpath)
   3.948        input_path=`$CYGPATH -u "$shortmode_path"`
   3.949        new_path="$input_path"
   3.950      fi
   3.951 @@ -44577,7 +44695,7 @@
   3.952        # Going to short mode and back again did indeed matter. Since short mode is
   3.953        # case insensitive, let's make it lowercase to improve readability.
   3.954        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.955 -      # Now convert it back to Unix-stile (cygpath)
   3.956 +      # Now convert it back to Unix-style (cygpath)
   3.957        input_path=`$CYGPATH -u "$shortmode_path"`
   3.958        new_path="$input_path"
   3.959      fi
   3.960 @@ -44699,7 +44817,7 @@
   3.961        # Going to short mode and back again did indeed matter. Since short mode is
   3.962        # case insensitive, let's make it lowercase to improve readability.
   3.963        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.964 -      # Now convert it back to Unix-stile (cygpath)
   3.965 +      # Now convert it back to Unix-style (cygpath)
   3.966        input_path=`$CYGPATH -u "$shortmode_path"`
   3.967        new_path="$input_path"
   3.968      fi
   3.969 @@ -44870,7 +44988,7 @@
   3.970        # Going to short mode and back again did indeed matter. Since short mode is
   3.971        # case insensitive, let's make it lowercase to improve readability.
   3.972        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.973 -      # Now convert it back to Unix-stile (cygpath)
   3.974 +      # Now convert it back to Unix-style (cygpath)
   3.975        input_path=`$CYGPATH -u "$shortmode_path"`
   3.976        new_path="$input_path"
   3.977      fi
   3.978 @@ -44992,7 +45110,7 @@
   3.979        # Going to short mode and back again did indeed matter. Since short mode is
   3.980        # case insensitive, let's make it lowercase to improve readability.
   3.981        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.982 -      # Now convert it back to Unix-stile (cygpath)
   3.983 +      # Now convert it back to Unix-style (cygpath)
   3.984        input_path=`$CYGPATH -u "$shortmode_path"`
   3.985        new_path="$input_path"
   3.986      fi
   3.987 @@ -45163,7 +45281,7 @@
   3.988        # Going to short mode and back again did indeed matter. Since short mode is
   3.989        # case insensitive, let's make it lowercase to improve readability.
   3.990        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
   3.991 -      # Now convert it back to Unix-stile (cygpath)
   3.992 +      # Now convert it back to Unix-style (cygpath)
   3.993        input_path=`$CYGPATH -u "$shortmode_path"`
   3.994        new_path="$input_path"
   3.995      fi
   3.996 @@ -45285,7 +45403,7 @@
   3.997        # Going to short mode and back again did indeed matter. Since short mode is
   3.998        # case insensitive, let's make it lowercase to improve readability.
   3.999        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1000 -      # Now convert it back to Unix-stile (cygpath)
  3.1001 +      # Now convert it back to Unix-style (cygpath)
  3.1002        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1003        new_path="$input_path"
  3.1004      fi
  3.1005 @@ -45457,7 +45575,7 @@
  3.1006        # Going to short mode and back again did indeed matter. Since short mode is
  3.1007        # case insensitive, let's make it lowercase to improve readability.
  3.1008        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1009 -      # Now convert it back to Unix-stile (cygpath)
  3.1010 +      # Now convert it back to Unix-style (cygpath)
  3.1011        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1012        new_path="$input_path"
  3.1013      fi
  3.1014 @@ -45579,7 +45697,7 @@
  3.1015        # Going to short mode and back again did indeed matter. Since short mode is
  3.1016        # case insensitive, let's make it lowercase to improve readability.
  3.1017        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1018 -      # Now convert it back to Unix-stile (cygpath)
  3.1019 +      # Now convert it back to Unix-style (cygpath)
  3.1020        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1021        new_path="$input_path"
  3.1022      fi
  3.1023 @@ -45752,7 +45870,7 @@
  3.1024        # Going to short mode and back again did indeed matter. Since short mode is
  3.1025        # case insensitive, let's make it lowercase to improve readability.
  3.1026        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1027 -      # Now convert it back to Unix-stile (cygpath)
  3.1028 +      # Now convert it back to Unix-style (cygpath)
  3.1029        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1030        new_path="$input_path"
  3.1031      fi
  3.1032 @@ -45874,7 +45992,7 @@
  3.1033        # Going to short mode and back again did indeed matter. Since short mode is
  3.1034        # case insensitive, let's make it lowercase to improve readability.
  3.1035        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1036 -      # Now convert it back to Unix-stile (cygpath)
  3.1037 +      # Now convert it back to Unix-style (cygpath)
  3.1038        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1039        new_path="$input_path"
  3.1040      fi
  3.1041 @@ -46043,7 +46161,7 @@
  3.1042        # Going to short mode and back again did indeed matter. Since short mode is
  3.1043        # case insensitive, let's make it lowercase to improve readability.
  3.1044        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1045 -      # Now convert it back to Unix-stile (cygpath)
  3.1046 +      # Now convert it back to Unix-style (cygpath)
  3.1047        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1048        new_path="$input_path"
  3.1049      fi
  3.1050 @@ -46165,7 +46283,7 @@
  3.1051        # Going to short mode and back again did indeed matter. Since short mode is
  3.1052        # case insensitive, let's make it lowercase to improve readability.
  3.1053        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1054 -      # Now convert it back to Unix-stile (cygpath)
  3.1055 +      # Now convert it back to Unix-style (cygpath)
  3.1056        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1057        new_path="$input_path"
  3.1058      fi
  3.1059 @@ -46334,7 +46452,7 @@
  3.1060        # Going to short mode and back again did indeed matter. Since short mode is
  3.1061        # case insensitive, let's make it lowercase to improve readability.
  3.1062        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1063 -      # Now convert it back to Unix-stile (cygpath)
  3.1064 +      # Now convert it back to Unix-style (cygpath)
  3.1065        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1066        new_path="$input_path"
  3.1067      fi
  3.1068 @@ -46456,7 +46574,7 @@
  3.1069        # Going to short mode and back again did indeed matter. Since short mode is
  3.1070        # case insensitive, let's make it lowercase to improve readability.
  3.1071        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1072 -      # Now convert it back to Unix-stile (cygpath)
  3.1073 +      # Now convert it back to Unix-style (cygpath)
  3.1074        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1075        new_path="$input_path"
  3.1076      fi
  3.1077 @@ -46634,7 +46752,7 @@
  3.1078        # Going to short mode and back again did indeed matter. Since short mode is
  3.1079        # case insensitive, let's make it lowercase to improve readability.
  3.1080        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1081 -      # Now convert it back to Unix-stile (cygpath)
  3.1082 +      # Now convert it back to Unix-style (cygpath)
  3.1083        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1084        new_path="$input_path"
  3.1085      fi
  3.1086 @@ -46764,7 +46882,7 @@
  3.1087        # Going to short mode and back again did indeed matter. Since short mode is
  3.1088        # case insensitive, let's make it lowercase to improve readability.
  3.1089        shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1090 -      # Now convert it back to Unix-stile (cygpath)
  3.1091 +      # Now convert it back to Unix-style (cygpath)
  3.1092        input_path=`$CYGPATH -u "$shortmode_path"`
  3.1093        new_path="$input_path"
  3.1094      fi
  3.1095 @@ -48015,7 +48133,7 @@
  3.1096    if test "x$with_msvcr_dll" != x; then
  3.1097      # If given explicitely by user, do not probe. If not present, fail directly.
  3.1098  
  3.1099 -  DLL_NAME="$DLL_NAME"
  3.1100 +  DLL_NAME="$MSVCR_NAME"
  3.1101    POSSIBLE_MSVC_DLL="$with_msvcr_dll"
  3.1102    METHOD="--with-msvcr-dll"
  3.1103    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1104 @@ -48045,6 +48163,128 @@
  3.1105        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1106  $as_echo "ok" >&6; }
  3.1107        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1108 +
  3.1109 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1110 +
  3.1111 +  # Input might be given as Windows format, start by converting to
  3.1112 +  # unix format.
  3.1113 +  path="$MSVC_DLL"
  3.1114 +  new_path=`$CYGPATH -u "$path"`
  3.1115 +
  3.1116 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1117 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1118 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1119 +  # "foo.exe" is OK but "foo" is an error.
  3.1120 +  #
  3.1121 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1122 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1123 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1124 +  if test "x$test_shortpath" = x; then
  3.1125 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1126 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1127 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1128 +  fi
  3.1129 +
  3.1130 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1131 +  # If so, the updated path is stored in $new_path.
  3.1132 +
  3.1133 +  input_path="$new_path"
  3.1134 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1135 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1136 +  # take no chances and rewrite it.
  3.1137 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1138 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1139 +  if test "x$has_forbidden_chars" != x; then
  3.1140 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1141 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.1142 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.1143 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.1144 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.1145 +      # case insensitive, let's make it lowercase to improve readability.
  3.1146 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1147 +      # Now convert it back to Unix-style (cygpath)
  3.1148 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.1149 +      new_path="$input_path"
  3.1150 +    fi
  3.1151 +  fi
  3.1152 +
  3.1153 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.1154 +  if test "x$test_cygdrive_prefix" = x; then
  3.1155 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.1156 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.1157 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.1158 +      # a path prefixed by /cygdrive for fixpath to work.
  3.1159 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.1160 +    fi
  3.1161 +  fi
  3.1162 +
  3.1163 +
  3.1164 +  if test "x$path" != "x$new_path"; then
  3.1165 +    MSVC_DLL="$new_path"
  3.1166 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1167 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1168 +  fi
  3.1169 +
  3.1170 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1171 +
  3.1172 +  path="$MSVC_DLL"
  3.1173 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.1174 +  new_path="$path"
  3.1175 +  if test "x$has_colon" = x; then
  3.1176 +    # Not in mixed or Windows style, start by that.
  3.1177 +    new_path=`cmd //c echo $path`
  3.1178 +  fi
  3.1179 +
  3.1180 +
  3.1181 +  input_path="$new_path"
  3.1182 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1183 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1184 +  # take no chances and rewrite it.
  3.1185 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1186 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.1187 +  if test "x$has_forbidden_chars" != x; then
  3.1188 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1189 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1190 +  fi
  3.1191 +
  3.1192 +
  3.1193 +  windows_path="$new_path"
  3.1194 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1195 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1196 +    new_path="$unix_path"
  3.1197 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1198 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1199 +    new_path="$unix_path"
  3.1200 +  fi
  3.1201 +
  3.1202 +  if test "x$path" != "x$new_path"; then
  3.1203 +    MSVC_DLL="$new_path"
  3.1204 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1205 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1206 +  fi
  3.1207 +
  3.1208 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.1209 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.1210 +
  3.1211 +  else
  3.1212 +    # We're on a posix platform. Hooray! :)
  3.1213 +    path="$MSVC_DLL"
  3.1214 +    has_space=`$ECHO "$path" | $GREP " "`
  3.1215 +    if test "x$has_space" != x; then
  3.1216 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1217 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1218 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.1219 +    fi
  3.1220 +
  3.1221 +    # Use eval to expand a potential ~
  3.1222 +    eval path="$path"
  3.1223 +    if test ! -f "$path" && test ! -d "$path"; then
  3.1224 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.1225 +    fi
  3.1226 +
  3.1227 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.1228 +  fi
  3.1229 +
  3.1230        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.1231  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.1232        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.1233 @@ -48060,36 +48300,12 @@
  3.1234      if test "x$MSVC_DLL" = x; then
  3.1235        as_fn_error $? "Could not find a proper $MSVCR_NAME as specified by --with-msvcr-dll" "$LINENO" 5
  3.1236      fi
  3.1237 -  else
  3.1238 -
  3.1239 -  VAR_NAME="MSVCR_DLL"
  3.1240 -  DLL_NAME="${MSVCR_NAME}"
  3.1241 -  MSVC_DLL=
  3.1242 -
  3.1243 -  if test "x$MSVC_DLL" = x; then
  3.1244 -    # Probe: Using well-known location from Visual Studio 10.0
  3.1245 -    if test "x$VCINSTALLDIR" != x; then
  3.1246 -      CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
  3.1247 -
  3.1248 -  windows_path="$CYGWIN_VC_INSTALL_DIR"
  3.1249 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1250 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.1251 -    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.1252 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1253 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1254 -    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.1255 -  fi
  3.1256 -
  3.1257 -      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.1258 -        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.1259 -      else
  3.1260 -        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.1261 -      fi
  3.1262 -      $ECHO "POSSIBLE_MSVC_DLL $POSSIBLEMSVC_DLL"
  3.1263 -
  3.1264 -  DLL_NAME="$DLL_NAME"
  3.1265 -  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1266 -  METHOD="well-known location in VCINSTALLDIR"
  3.1267 +    MSVCR_DLL="$MSVC_DLL"
  3.1268 +  elif test "x$DEVKIT_MSVCR_DLL" != x; then
  3.1269 +
  3.1270 +  DLL_NAME="$MSVCR_NAME"
  3.1271 +  POSSIBLE_MSVC_DLL="$DEVKIT_MSVCR_DLL"
  3.1272 +  METHOD="devkit"
  3.1273    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1274      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.1275  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.1276 @@ -48117,6 +48333,128 @@
  3.1277        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1278  $as_echo "ok" >&6; }
  3.1279        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1280 +
  3.1281 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1282 +
  3.1283 +  # Input might be given as Windows format, start by converting to
  3.1284 +  # unix format.
  3.1285 +  path="$MSVC_DLL"
  3.1286 +  new_path=`$CYGPATH -u "$path"`
  3.1287 +
  3.1288 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1289 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1290 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1291 +  # "foo.exe" is OK but "foo" is an error.
  3.1292 +  #
  3.1293 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1294 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1295 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1296 +  if test "x$test_shortpath" = x; then
  3.1297 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1298 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1299 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1300 +  fi
  3.1301 +
  3.1302 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1303 +  # If so, the updated path is stored in $new_path.
  3.1304 +
  3.1305 +  input_path="$new_path"
  3.1306 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1307 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1308 +  # take no chances and rewrite it.
  3.1309 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1310 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1311 +  if test "x$has_forbidden_chars" != x; then
  3.1312 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1313 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.1314 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.1315 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.1316 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.1317 +      # case insensitive, let's make it lowercase to improve readability.
  3.1318 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1319 +      # Now convert it back to Unix-style (cygpath)
  3.1320 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.1321 +      new_path="$input_path"
  3.1322 +    fi
  3.1323 +  fi
  3.1324 +
  3.1325 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.1326 +  if test "x$test_cygdrive_prefix" = x; then
  3.1327 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.1328 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.1329 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.1330 +      # a path prefixed by /cygdrive for fixpath to work.
  3.1331 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.1332 +    fi
  3.1333 +  fi
  3.1334 +
  3.1335 +
  3.1336 +  if test "x$path" != "x$new_path"; then
  3.1337 +    MSVC_DLL="$new_path"
  3.1338 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1339 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1340 +  fi
  3.1341 +
  3.1342 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1343 +
  3.1344 +  path="$MSVC_DLL"
  3.1345 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.1346 +  new_path="$path"
  3.1347 +  if test "x$has_colon" = x; then
  3.1348 +    # Not in mixed or Windows style, start by that.
  3.1349 +    new_path=`cmd //c echo $path`
  3.1350 +  fi
  3.1351 +
  3.1352 +
  3.1353 +  input_path="$new_path"
  3.1354 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1355 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1356 +  # take no chances and rewrite it.
  3.1357 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1358 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.1359 +  if test "x$has_forbidden_chars" != x; then
  3.1360 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1361 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1362 +  fi
  3.1363 +
  3.1364 +
  3.1365 +  windows_path="$new_path"
  3.1366 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1367 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1368 +    new_path="$unix_path"
  3.1369 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1370 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1371 +    new_path="$unix_path"
  3.1372 +  fi
  3.1373 +
  3.1374 +  if test "x$path" != "x$new_path"; then
  3.1375 +    MSVC_DLL="$new_path"
  3.1376 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1377 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1378 +  fi
  3.1379 +
  3.1380 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.1381 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.1382 +
  3.1383 +  else
  3.1384 +    # We're on a posix platform. Hooray! :)
  3.1385 +    path="$MSVC_DLL"
  3.1386 +    has_space=`$ECHO "$path" | $GREP " "`
  3.1387 +    if test "x$has_space" != x; then
  3.1388 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1389 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1390 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.1391 +    fi
  3.1392 +
  3.1393 +    # Use eval to expand a potential ~
  3.1394 +    eval path="$path"
  3.1395 +    if test ! -f "$path" && test ! -d "$path"; then
  3.1396 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.1397 +    fi
  3.1398 +
  3.1399 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.1400 +  fi
  3.1401 +
  3.1402        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.1403  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.1404        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.1405 @@ -48129,16 +48467,39 @@
  3.1406      fi
  3.1407    fi
  3.1408  
  3.1409 -    fi
  3.1410 -  fi
  3.1411 +    if test "x$MSVC_DLL" = x; then
  3.1412 +      as_fn_error $? "Could not find a proper $MSVCR_NAME as specified by devkit" "$LINENO" 5
  3.1413 +    fi
  3.1414 +    MSVCR_DLL="$MSVC_DLL"
  3.1415 +  else
  3.1416 +
  3.1417 +  DLL_NAME="${MSVCR_NAME}"
  3.1418 +  MSVC_DLL=
  3.1419  
  3.1420    if test "x$MSVC_DLL" = x; then
  3.1421 -    # Probe: Check in the Boot JDK directory.
  3.1422 -    POSSIBLE_MSVC_DLL="$BOOT_JDK/bin/$DLL_NAME"
  3.1423 +    # Probe: Using well-known location from Visual Studio 10.0
  3.1424 +    if test "x$VCINSTALLDIR" != x; then
  3.1425 +      CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
  3.1426 +
  3.1427 +  windows_path="$CYGWIN_VC_INSTALL_DIR"
  3.1428 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1429 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1430 +    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.1431 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1432 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1433 +    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.1434 +  fi
  3.1435 +
  3.1436 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.1437 +        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.1438 +      else
  3.1439 +        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.1440 +      fi
  3.1441 +      $ECHO "POSSIBLE_MSVC_DLL $POSSIBLEMSVC_DLL"
  3.1442  
  3.1443    DLL_NAME="$DLL_NAME"
  3.1444    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1445 -  METHOD="well-known location in Boot JDK"
  3.1446 +  METHOD="well-known location in VCINSTALLDIR"
  3.1447    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1448      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.1449  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.1450 @@ -48166,6 +48527,128 @@
  3.1451        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1452  $as_echo "ok" >&6; }
  3.1453        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1454 +
  3.1455 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1456 +
  3.1457 +  # Input might be given as Windows format, start by converting to
  3.1458 +  # unix format.
  3.1459 +  path="$MSVC_DLL"
  3.1460 +  new_path=`$CYGPATH -u "$path"`
  3.1461 +
  3.1462 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1463 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1464 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1465 +  # "foo.exe" is OK but "foo" is an error.
  3.1466 +  #
  3.1467 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1468 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1469 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1470 +  if test "x$test_shortpath" = x; then
  3.1471 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1472 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1473 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1474 +  fi
  3.1475 +
  3.1476 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1477 +  # If so, the updated path is stored in $new_path.
  3.1478 +
  3.1479 +  input_path="$new_path"
  3.1480 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1481 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1482 +  # take no chances and rewrite it.
  3.1483 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1484 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1485 +  if test "x$has_forbidden_chars" != x; then
  3.1486 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1487 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.1488 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.1489 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.1490 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.1491 +      # case insensitive, let's make it lowercase to improve readability.
  3.1492 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1493 +      # Now convert it back to Unix-style (cygpath)
  3.1494 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.1495 +      new_path="$input_path"
  3.1496 +    fi
  3.1497 +  fi
  3.1498 +
  3.1499 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.1500 +  if test "x$test_cygdrive_prefix" = x; then
  3.1501 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.1502 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.1503 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.1504 +      # a path prefixed by /cygdrive for fixpath to work.
  3.1505 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.1506 +    fi
  3.1507 +  fi
  3.1508 +
  3.1509 +
  3.1510 +  if test "x$path" != "x$new_path"; then
  3.1511 +    MSVC_DLL="$new_path"
  3.1512 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1513 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1514 +  fi
  3.1515 +
  3.1516 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1517 +
  3.1518 +  path="$MSVC_DLL"
  3.1519 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.1520 +  new_path="$path"
  3.1521 +  if test "x$has_colon" = x; then
  3.1522 +    # Not in mixed or Windows style, start by that.
  3.1523 +    new_path=`cmd //c echo $path`
  3.1524 +  fi
  3.1525 +
  3.1526 +
  3.1527 +  input_path="$new_path"
  3.1528 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1529 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1530 +  # take no chances and rewrite it.
  3.1531 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1532 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.1533 +  if test "x$has_forbidden_chars" != x; then
  3.1534 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1535 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1536 +  fi
  3.1537 +
  3.1538 +
  3.1539 +  windows_path="$new_path"
  3.1540 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1541 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1542 +    new_path="$unix_path"
  3.1543 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1544 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1545 +    new_path="$unix_path"
  3.1546 +  fi
  3.1547 +
  3.1548 +  if test "x$path" != "x$new_path"; then
  3.1549 +    MSVC_DLL="$new_path"
  3.1550 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1551 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1552 +  fi
  3.1553 +
  3.1554 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.1555 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.1556 +
  3.1557 +  else
  3.1558 +    # We're on a posix platform. Hooray! :)
  3.1559 +    path="$MSVC_DLL"
  3.1560 +    has_space=`$ECHO "$path" | $GREP " "`
  3.1561 +    if test "x$has_space" != x; then
  3.1562 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1563 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1564 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.1565 +    fi
  3.1566 +
  3.1567 +    # Use eval to expand a potential ~
  3.1568 +    eval path="$path"
  3.1569 +    if test ! -f "$path" && test ! -d "$path"; then
  3.1570 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.1571 +    fi
  3.1572 +
  3.1573 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.1574 +  fi
  3.1575 +
  3.1576        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.1577  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.1578        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.1579 @@ -48178,26 +48661,16 @@
  3.1580      fi
  3.1581    fi
  3.1582  
  3.1583 +    fi
  3.1584    fi
  3.1585  
  3.1586    if test "x$MSVC_DLL" = x; then
  3.1587 -    # Probe: Look in the Windows system32 directory
  3.1588 -    CYGWIN_SYSTEMROOT="$SYSTEMROOT"
  3.1589 -
  3.1590 -  windows_path="$CYGWIN_SYSTEMROOT"
  3.1591 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1592 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.1593 -    CYGWIN_SYSTEMROOT="$unix_path"
  3.1594 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1595 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1596 -    CYGWIN_SYSTEMROOT="$unix_path"
  3.1597 -  fi
  3.1598 -
  3.1599 -    POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
  3.1600 +    # Probe: Check in the Boot JDK directory.
  3.1601 +    POSSIBLE_MSVC_DLL="$BOOT_JDK/bin/$DLL_NAME"
  3.1602  
  3.1603    DLL_NAME="$DLL_NAME"
  3.1604    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1605 -  METHOD="well-known location in SYSTEMROOT"
  3.1606 +  METHOD="well-known location in Boot JDK"
  3.1607    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1608      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.1609  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.1610 @@ -48225,6 +48698,128 @@
  3.1611        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1612  $as_echo "ok" >&6; }
  3.1613        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1614 +
  3.1615 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1616 +
  3.1617 +  # Input might be given as Windows format, start by converting to
  3.1618 +  # unix format.
  3.1619 +  path="$MSVC_DLL"
  3.1620 +  new_path=`$CYGPATH -u "$path"`
  3.1621 +
  3.1622 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1623 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1624 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1625 +  # "foo.exe" is OK but "foo" is an error.
  3.1626 +  #
  3.1627 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1628 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1629 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1630 +  if test "x$test_shortpath" = x; then
  3.1631 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1632 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1633 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1634 +  fi
  3.1635 +
  3.1636 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1637 +  # If so, the updated path is stored in $new_path.
  3.1638 +
  3.1639 +  input_path="$new_path"
  3.1640 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1641 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1642 +  # take no chances and rewrite it.
  3.1643 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1644 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1645 +  if test "x$has_forbidden_chars" != x; then
  3.1646 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1647 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.1648 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.1649 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.1650 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.1651 +      # case insensitive, let's make it lowercase to improve readability.
  3.1652 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1653 +      # Now convert it back to Unix-style (cygpath)
  3.1654 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.1655 +      new_path="$input_path"
  3.1656 +    fi
  3.1657 +  fi
  3.1658 +
  3.1659 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.1660 +  if test "x$test_cygdrive_prefix" = x; then
  3.1661 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.1662 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.1663 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.1664 +      # a path prefixed by /cygdrive for fixpath to work.
  3.1665 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.1666 +    fi
  3.1667 +  fi
  3.1668 +
  3.1669 +
  3.1670 +  if test "x$path" != "x$new_path"; then
  3.1671 +    MSVC_DLL="$new_path"
  3.1672 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1673 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1674 +  fi
  3.1675 +
  3.1676 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1677 +
  3.1678 +  path="$MSVC_DLL"
  3.1679 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.1680 +  new_path="$path"
  3.1681 +  if test "x$has_colon" = x; then
  3.1682 +    # Not in mixed or Windows style, start by that.
  3.1683 +    new_path=`cmd //c echo $path`
  3.1684 +  fi
  3.1685 +
  3.1686 +
  3.1687 +  input_path="$new_path"
  3.1688 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1689 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1690 +  # take no chances and rewrite it.
  3.1691 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1692 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.1693 +  if test "x$has_forbidden_chars" != x; then
  3.1694 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1695 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1696 +  fi
  3.1697 +
  3.1698 +
  3.1699 +  windows_path="$new_path"
  3.1700 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1701 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1702 +    new_path="$unix_path"
  3.1703 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1704 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1705 +    new_path="$unix_path"
  3.1706 +  fi
  3.1707 +
  3.1708 +  if test "x$path" != "x$new_path"; then
  3.1709 +    MSVC_DLL="$new_path"
  3.1710 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1711 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1712 +  fi
  3.1713 +
  3.1714 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.1715 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.1716 +
  3.1717 +  else
  3.1718 +    # We're on a posix platform. Hooray! :)
  3.1719 +    path="$MSVC_DLL"
  3.1720 +    has_space=`$ECHO "$path" | $GREP " "`
  3.1721 +    if test "x$has_space" != x; then
  3.1722 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1723 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1724 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.1725 +    fi
  3.1726 +
  3.1727 +    # Use eval to expand a potential ~
  3.1728 +    eval path="$path"
  3.1729 +    if test ! -f "$path" && test ! -d "$path"; then
  3.1730 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.1731 +    fi
  3.1732 +
  3.1733 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.1734 +  fi
  3.1735 +
  3.1736        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.1737  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.1738        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.1739 @@ -48240,30 +48835,23 @@
  3.1740    fi
  3.1741  
  3.1742    if test "x$MSVC_DLL" = x; then
  3.1743 -    # Probe: If Visual Studio Express is installed, there is usually one with the debugger
  3.1744 -    if test "x$VS100COMNTOOLS" != x; then
  3.1745 -      CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
  3.1746 -
  3.1747 -  windows_path="$CYGWIN_VS_TOOLS_DIR"
  3.1748 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1749 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.1750 -    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.1751 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1752 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1753 -    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.1754 -  fi
  3.1755 -
  3.1756 -      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.1757 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.1758 -            | $GREP -i /x64/ | $HEAD --lines 1`
  3.1759 -      else
  3.1760 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.1761 -            | $GREP -i /x86/ | $HEAD --lines 1`
  3.1762 -      fi
  3.1763 +    # Probe: Look in the Windows system32 directory
  3.1764 +    CYGWIN_SYSTEMROOT="$SYSTEMROOT"
  3.1765 +
  3.1766 +  windows_path="$CYGWIN_SYSTEMROOT"
  3.1767 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1768 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1769 +    CYGWIN_SYSTEMROOT="$unix_path"
  3.1770 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1771 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1772 +    CYGWIN_SYSTEMROOT="$unix_path"
  3.1773 +  fi
  3.1774 +
  3.1775 +    POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
  3.1776  
  3.1777    DLL_NAME="$DLL_NAME"
  3.1778    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1779 -  METHOD="search of VS100COMNTOOLS"
  3.1780 +  METHOD="well-known location in SYSTEMROOT"
  3.1781    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1782      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.1783  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.1784 @@ -48291,6 +48879,128 @@
  3.1785        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1786  $as_echo "ok" >&6; }
  3.1787        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1788 +
  3.1789 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1790 +
  3.1791 +  # Input might be given as Windows format, start by converting to
  3.1792 +  # unix format.
  3.1793 +  path="$MSVC_DLL"
  3.1794 +  new_path=`$CYGPATH -u "$path"`
  3.1795 +
  3.1796 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1797 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1798 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1799 +  # "foo.exe" is OK but "foo" is an error.
  3.1800 +  #
  3.1801 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1802 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1803 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1804 +  if test "x$test_shortpath" = x; then
  3.1805 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1806 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1807 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1808 +  fi
  3.1809 +
  3.1810 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1811 +  # If so, the updated path is stored in $new_path.
  3.1812 +
  3.1813 +  input_path="$new_path"
  3.1814 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1815 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1816 +  # take no chances and rewrite it.
  3.1817 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1818 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1819 +  if test "x$has_forbidden_chars" != x; then
  3.1820 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1821 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.1822 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.1823 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.1824 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.1825 +      # case insensitive, let's make it lowercase to improve readability.
  3.1826 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1827 +      # Now convert it back to Unix-style (cygpath)
  3.1828 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.1829 +      new_path="$input_path"
  3.1830 +    fi
  3.1831 +  fi
  3.1832 +
  3.1833 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.1834 +  if test "x$test_cygdrive_prefix" = x; then
  3.1835 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.1836 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.1837 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.1838 +      # a path prefixed by /cygdrive for fixpath to work.
  3.1839 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.1840 +    fi
  3.1841 +  fi
  3.1842 +
  3.1843 +
  3.1844 +  if test "x$path" != "x$new_path"; then
  3.1845 +    MSVC_DLL="$new_path"
  3.1846 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1847 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1848 +  fi
  3.1849 +
  3.1850 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1851 +
  3.1852 +  path="$MSVC_DLL"
  3.1853 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.1854 +  new_path="$path"
  3.1855 +  if test "x$has_colon" = x; then
  3.1856 +    # Not in mixed or Windows style, start by that.
  3.1857 +    new_path=`cmd //c echo $path`
  3.1858 +  fi
  3.1859 +
  3.1860 +
  3.1861 +  input_path="$new_path"
  3.1862 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1863 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1864 +  # take no chances and rewrite it.
  3.1865 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1866 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.1867 +  if test "x$has_forbidden_chars" != x; then
  3.1868 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.1869 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.1870 +  fi
  3.1871 +
  3.1872 +
  3.1873 +  windows_path="$new_path"
  3.1874 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1875 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1876 +    new_path="$unix_path"
  3.1877 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1878 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1879 +    new_path="$unix_path"
  3.1880 +  fi
  3.1881 +
  3.1882 +  if test "x$path" != "x$new_path"; then
  3.1883 +    MSVC_DLL="$new_path"
  3.1884 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.1885 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.1886 +  fi
  3.1887 +
  3.1888 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.1889 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.1890 +
  3.1891 +  else
  3.1892 +    # We're on a posix platform. Hooray! :)
  3.1893 +    path="$MSVC_DLL"
  3.1894 +    has_space=`$ECHO "$path" | $GREP " "`
  3.1895 +    if test "x$has_space" != x; then
  3.1896 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1897 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1898 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.1899 +    fi
  3.1900 +
  3.1901 +    # Use eval to expand a potential ~
  3.1902 +    eval path="$path"
  3.1903 +    if test ! -f "$path" && test ! -d "$path"; then
  3.1904 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.1905 +    fi
  3.1906 +
  3.1907 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.1908 +  fi
  3.1909 +
  3.1910        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.1911  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.1912        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.1913 @@ -48303,30 +49013,33 @@
  3.1914      fi
  3.1915    fi
  3.1916  
  3.1917 -    fi
  3.1918    fi
  3.1919  
  3.1920    if test "x$MSVC_DLL" = x; then
  3.1921 -    # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
  3.1922 -    # (This was the original behaviour; kept since it might turn something up)
  3.1923 -    if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
  3.1924 +    # Probe: If Visual Studio Express is installed, there is usually one with the debugger
  3.1925 +    if test "x$VS100COMNTOOLS" != x; then
  3.1926 +      CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
  3.1927 +
  3.1928 +  windows_path="$CYGWIN_VS_TOOLS_DIR"
  3.1929 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1930 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.1931 +    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.1932 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.1933 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.1934 +    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.1935 +  fi
  3.1936 +
  3.1937        if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.1938 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.1939 -          | $GREP x64 | $HEAD --lines 1`
  3.1940 -      else
  3.1941 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.1942 -          | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
  3.1943 -        if test "x$POSSIBLE_MSVC_DLL" = x; then
  3.1944 -          # We're grasping at straws now...
  3.1945 -          POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.1946 -              | $HEAD --lines 1`
  3.1947 -        fi
  3.1948 -      fi
  3.1949 -
  3.1950 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.1951 +            | $GREP -i /x64/ | $HEAD --lines 1`
  3.1952 +      else
  3.1953 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.1954 +            | $GREP -i /x86/ | $HEAD --lines 1`
  3.1955 +      fi
  3.1956  
  3.1957    DLL_NAME="$DLL_NAME"
  3.1958    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1959 -  METHOD="search of VCINSTALLDIR"
  3.1960 +  METHOD="search of VS100COMNTOOLS"
  3.1961    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.1962      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.1963  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.1964 @@ -48354,6 +49067,128 @@
  3.1965        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.1966  $as_echo "ok" >&6; }
  3.1967        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.1968 +
  3.1969 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.1970 +
  3.1971 +  # Input might be given as Windows format, start by converting to
  3.1972 +  # unix format.
  3.1973 +  path="$MSVC_DLL"
  3.1974 +  new_path=`$CYGPATH -u "$path"`
  3.1975 +
  3.1976 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.1977 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.1978 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.1979 +  # "foo.exe" is OK but "foo" is an error.
  3.1980 +  #
  3.1981 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.1982 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.1983 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.1984 +  if test "x$test_shortpath" = x; then
  3.1985 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.1986 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.1987 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.1988 +  fi
  3.1989 +
  3.1990 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.1991 +  # If so, the updated path is stored in $new_path.
  3.1992 +
  3.1993 +  input_path="$new_path"
  3.1994 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.1995 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.1996 +  # take no chances and rewrite it.
  3.1997 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.1998 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.1999 +  if test "x$has_forbidden_chars" != x; then
  3.2000 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2001 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2002 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2003 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2004 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.2005 +      # case insensitive, let's make it lowercase to improve readability.
  3.2006 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2007 +      # Now convert it back to Unix-style (cygpath)
  3.2008 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2009 +      new_path="$input_path"
  3.2010 +    fi
  3.2011 +  fi
  3.2012 +
  3.2013 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2014 +  if test "x$test_cygdrive_prefix" = x; then
  3.2015 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2016 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2017 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2018 +      # a path prefixed by /cygdrive for fixpath to work.
  3.2019 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2020 +    fi
  3.2021 +  fi
  3.2022 +
  3.2023 +
  3.2024 +  if test "x$path" != "x$new_path"; then
  3.2025 +    MSVC_DLL="$new_path"
  3.2026 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2027 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2028 +  fi
  3.2029 +
  3.2030 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2031 +
  3.2032 +  path="$MSVC_DLL"
  3.2033 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.2034 +  new_path="$path"
  3.2035 +  if test "x$has_colon" = x; then
  3.2036 +    # Not in mixed or Windows style, start by that.
  3.2037 +    new_path=`cmd //c echo $path`
  3.2038 +  fi
  3.2039 +
  3.2040 +
  3.2041 +  input_path="$new_path"
  3.2042 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2043 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2044 +  # take no chances and rewrite it.
  3.2045 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2046 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2047 +  if test "x$has_forbidden_chars" != x; then
  3.2048 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2049 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2050 +  fi
  3.2051 +
  3.2052 +
  3.2053 +  windows_path="$new_path"
  3.2054 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2055 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2056 +    new_path="$unix_path"
  3.2057 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2058 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2059 +    new_path="$unix_path"
  3.2060 +  fi
  3.2061 +
  3.2062 +  if test "x$path" != "x$new_path"; then
  3.2063 +    MSVC_DLL="$new_path"
  3.2064 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2065 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2066 +  fi
  3.2067 +
  3.2068 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2069 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2070 +
  3.2071 +  else
  3.2072 +    # We're on a posix platform. Hooray! :)
  3.2073 +    path="$MSVC_DLL"
  3.2074 +    has_space=`$ECHO "$path" | $GREP " "`
  3.2075 +    if test "x$has_space" != x; then
  3.2076 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2077 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2078 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2079 +    fi
  3.2080 +
  3.2081 +    # Use eval to expand a potential ~
  3.2082 +    eval path="$path"
  3.2083 +    if test ! -f "$path" && test ! -d "$path"; then
  3.2084 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2085 +    fi
  3.2086 +
  3.2087 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2088 +  fi
  3.2089 +
  3.2090        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2091  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2092        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.2093 @@ -48370,155 +49205,26 @@
  3.2094    fi
  3.2095  
  3.2096    if test "x$MSVC_DLL" = x; then
  3.2097 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2098 -$as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2099 -    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3.2100 -$as_echo "no" >&6; }
  3.2101 -    as_fn_error $? "Could not find $DLL_NAME. Please specify using --with-msvcr-dll." "$LINENO" 5
  3.2102 -  fi
  3.2103 -
  3.2104 -  MSVCR_DLL=$MSVC_DLL
  3.2105 -
  3.2106 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2107 -
  3.2108 -  # Input might be given as Windows format, start by converting to
  3.2109 -  # unix format.
  3.2110 -  path="$MSVCR_DLL"
  3.2111 -  new_path=`$CYGPATH -u "$path"`
  3.2112 -
  3.2113 -  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2114 -  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2115 -  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2116 -  # "foo.exe" is OK but "foo" is an error.
  3.2117 -  #
  3.2118 -  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2119 -  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2120 -  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2121 -  if test "x$test_shortpath" = x; then
  3.2122 -    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
  3.2123 -$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2124 -    as_fn_error $? "Cannot locate the the path of MSVCR_DLL" "$LINENO" 5
  3.2125 -  fi
  3.2126 -
  3.2127 -  # Call helper function which possibly converts this using DOS-style short mode.
  3.2128 -  # If so, the updated path is stored in $new_path.
  3.2129 -
  3.2130 -  input_path="$new_path"
  3.2131 -  # Check if we need to convert this using DOS-style short mode. If the path
  3.2132 -  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2133 -  # take no chances and rewrite it.
  3.2134 -  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2135 -  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.2136 -  if test "x$has_forbidden_chars" != x; then
  3.2137 -    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2138 -    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2139 -    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2140 -    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2141 -      # Going to short mode and back again did indeed matter. Since short mode is
  3.2142 -      # case insensitive, let's make it lowercase to improve readability.
  3.2143 -      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2144 -      # Now convert it back to Unix-stile (cygpath)
  3.2145 -      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2146 -      new_path="$input_path"
  3.2147 -    fi
  3.2148 -  fi
  3.2149 -
  3.2150 -  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2151 -  if test "x$test_cygdrive_prefix" = x; then
  3.2152 -    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2153 -    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2154 -      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2155 -      # a path prefixed by /cygdrive for fixpath to work.
  3.2156 -      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2157 -    fi
  3.2158 -  fi
  3.2159 -
  3.2160 -
  3.2161 -  if test "x$path" != "x$new_path"; then
  3.2162 -    MSVCR_DLL="$new_path"
  3.2163 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
  3.2164 -$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
  3.2165 -  fi
  3.2166 -
  3.2167 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2168 -
  3.2169 -  path="$MSVCR_DLL"
  3.2170 -  has_colon=`$ECHO $path | $GREP ^.:`
  3.2171 -  new_path="$path"
  3.2172 -  if test "x$has_colon" = x; then
  3.2173 -    # Not in mixed or Windows style, start by that.
  3.2174 -    new_path=`cmd //c echo $path`
  3.2175 -  fi
  3.2176 -
  3.2177 -
  3.2178 -  input_path="$new_path"
  3.2179 -  # Check if we need to convert this using DOS-style short mode. If the path
  3.2180 -  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2181 -  # take no chances and rewrite it.
  3.2182 -  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2183 -  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2184 -  if test "x$has_forbidden_chars" != x; then
  3.2185 -    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2186 -    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2187 -  fi
  3.2188 -
  3.2189 -
  3.2190 -  windows_path="$new_path"
  3.2191 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2192 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.2193 -    new_path="$unix_path"
  3.2194 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2195 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2196 -    new_path="$unix_path"
  3.2197 -  fi
  3.2198 -
  3.2199 -  if test "x$path" != "x$new_path"; then
  3.2200 -    MSVCR_DLL="$new_path"
  3.2201 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
  3.2202 -$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
  3.2203 -  fi
  3.2204 -
  3.2205 -  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2206 -  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2207 -
  3.2208 -  else
  3.2209 -    # We're on a posix platform. Hooray! :)
  3.2210 -    path="$MSVCR_DLL"
  3.2211 -    has_space=`$ECHO "$path" | $GREP " "`
  3.2212 -    if test "x$has_space" != x; then
  3.2213 -      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
  3.2214 -$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2215 -      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2216 -    fi
  3.2217 -
  3.2218 -    # Use eval to expand a potential ~
  3.2219 -    eval path="$path"
  3.2220 -    if test ! -f "$path" && test ! -d "$path"; then
  3.2221 -      as_fn_error $? "The path of MSVCR_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2222 -    fi
  3.2223 -
  3.2224 -    MSVCR_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2225 -  fi
  3.2226 -
  3.2227 -  MSVCR_DLL=$MSVCR_DLL
  3.2228 -
  3.2229 -
  3.2230 -  fi
  3.2231 -
  3.2232 -
  3.2233 -# Check whether --with-msvcp-dll was given.
  3.2234 -if test "${with_msvcp_dll+set}" = set; then :
  3.2235 -  withval=$with_msvcp_dll;
  3.2236 -fi
  3.2237 -
  3.2238 -
  3.2239 -  if test "x$MSVCP_NAME" != "x"; then
  3.2240 -    if test "x$with_msvcp_dll" != x; then
  3.2241 -      # If given explicitely by user, do not probe. If not present, fail directly.
  3.2242 +    # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
  3.2243 +    # (This was the original behaviour; kept since it might turn something up)
  3.2244 +    if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
  3.2245 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.2246 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.2247 +          | $GREP x64 | $HEAD --lines 1`
  3.2248 +      else
  3.2249 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.2250 +          | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
  3.2251 +        if test "x$POSSIBLE_MSVC_DLL" = x; then
  3.2252 +          # We're grasping at straws now...
  3.2253 +          POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.2254 +              | $HEAD --lines 1`
  3.2255 +        fi
  3.2256 +      fi
  3.2257 +
  3.2258  
  3.2259    DLL_NAME="$DLL_NAME"
  3.2260 -  POSSIBLE_MSVC_DLL="$with_msvcp_dll"
  3.2261 -  METHOD="--with-msvcp-dll"
  3.2262 +  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2263 +  METHOD="search of VCINSTALLDIR"
  3.2264    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.2265      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.2266  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.2267 @@ -48546,6 +49252,128 @@
  3.2268        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.2269  $as_echo "ok" >&6; }
  3.2270        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2271 +
  3.2272 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2273 +
  3.2274 +  # Input might be given as Windows format, start by converting to
  3.2275 +  # unix format.
  3.2276 +  path="$MSVC_DLL"
  3.2277 +  new_path=`$CYGPATH -u "$path"`
  3.2278 +
  3.2279 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2280 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2281 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2282 +  # "foo.exe" is OK but "foo" is an error.
  3.2283 +  #
  3.2284 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2285 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2286 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2287 +  if test "x$test_shortpath" = x; then
  3.2288 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2289 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2290 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.2291 +  fi
  3.2292 +
  3.2293 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.2294 +  # If so, the updated path is stored in $new_path.
  3.2295 +
  3.2296 +  input_path="$new_path"
  3.2297 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2298 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2299 +  # take no chances and rewrite it.
  3.2300 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2301 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.2302 +  if test "x$has_forbidden_chars" != x; then
  3.2303 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2304 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2305 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2306 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2307 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.2308 +      # case insensitive, let's make it lowercase to improve readability.
  3.2309 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2310 +      # Now convert it back to Unix-style (cygpath)
  3.2311 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2312 +      new_path="$input_path"
  3.2313 +    fi
  3.2314 +  fi
  3.2315 +
  3.2316 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2317 +  if test "x$test_cygdrive_prefix" = x; then
  3.2318 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2319 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2320 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2321 +      # a path prefixed by /cygdrive for fixpath to work.
  3.2322 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2323 +    fi
  3.2324 +  fi
  3.2325 +
  3.2326 +
  3.2327 +  if test "x$path" != "x$new_path"; then
  3.2328 +    MSVC_DLL="$new_path"
  3.2329 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2330 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2331 +  fi
  3.2332 +
  3.2333 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2334 +
  3.2335 +  path="$MSVC_DLL"
  3.2336 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.2337 +  new_path="$path"
  3.2338 +  if test "x$has_colon" = x; then
  3.2339 +    # Not in mixed or Windows style, start by that.
  3.2340 +    new_path=`cmd //c echo $path`
  3.2341 +  fi
  3.2342 +
  3.2343 +
  3.2344 +  input_path="$new_path"
  3.2345 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2346 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2347 +  # take no chances and rewrite it.
  3.2348 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2349 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2350 +  if test "x$has_forbidden_chars" != x; then
  3.2351 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2352 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2353 +  fi
  3.2354 +
  3.2355 +
  3.2356 +  windows_path="$new_path"
  3.2357 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2358 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2359 +    new_path="$unix_path"
  3.2360 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2361 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2362 +    new_path="$unix_path"
  3.2363 +  fi
  3.2364 +
  3.2365 +  if test "x$path" != "x$new_path"; then
  3.2366 +    MSVC_DLL="$new_path"
  3.2367 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2368 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2369 +  fi
  3.2370 +
  3.2371 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2372 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2373 +
  3.2374 +  else
  3.2375 +    # We're on a posix platform. Hooray! :)
  3.2376 +    path="$MSVC_DLL"
  3.2377 +    has_space=`$ECHO "$path" | $GREP " "`
  3.2378 +    if test "x$has_space" != x; then
  3.2379 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2380 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2381 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2382 +    fi
  3.2383 +
  3.2384 +    # Use eval to expand a potential ~
  3.2385 +    eval path="$path"
  3.2386 +    if test ! -f "$path" && test ! -d "$path"; then
  3.2387 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2388 +    fi
  3.2389 +
  3.2390 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2391 +  fi
  3.2392 +
  3.2393        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2394  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2395        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.2396 @@ -48558,39 +49386,35 @@
  3.2397      fi
  3.2398    fi
  3.2399  
  3.2400 -      if test "x$MSVC_DLL" = x; then
  3.2401 -        as_fn_error $? "Could not find a proper $MSVCP_NAME as specified by --with-msvcp-dll" "$LINENO" 5
  3.2402 -      fi
  3.2403 -    else
  3.2404 -
  3.2405 -  VAR_NAME="MSVCP_DLL"
  3.2406 -  DLL_NAME="${MSVCP_NAME}"
  3.2407 -  MSVC_DLL=
  3.2408 +    fi
  3.2409 +  fi
  3.2410  
  3.2411    if test "x$MSVC_DLL" = x; then
  3.2412 -    # Probe: Using well-known location from Visual Studio 10.0
  3.2413 -    if test "x$VCINSTALLDIR" != x; then
  3.2414 -      CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
  3.2415 -
  3.2416 -  windows_path="$CYGWIN_VC_INSTALL_DIR"
  3.2417 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2418 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.2419 -    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.2420 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2421 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2422 -    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.2423 -  fi
  3.2424 -
  3.2425 -      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.2426 -        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.2427 -      else
  3.2428 -        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.2429 -      fi
  3.2430 -      $ECHO "POSSIBLE_MSVC_DLL $POSSIBLEMSVC_DLL"
  3.2431 -
  3.2432 -  DLL_NAME="$DLL_NAME"
  3.2433 -  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2434 -  METHOD="well-known location in VCINSTALLDIR"
  3.2435 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2436 +$as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2437 +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3.2438 +$as_echo "no" >&6; }
  3.2439 +    as_fn_error $? "Could not find $DLL_NAME. Please specify using --with-msvcr-dll." "$LINENO" 5
  3.2440 +  fi
  3.2441 +
  3.2442 +    MSVCR_DLL="$MSVC_DLL"
  3.2443 +  fi
  3.2444 +
  3.2445 +
  3.2446 +
  3.2447 +# Check whether --with-msvcp-dll was given.
  3.2448 +if test "${with_msvcp_dll+set}" = set; then :
  3.2449 +  withval=$with_msvcp_dll;
  3.2450 +fi
  3.2451 +
  3.2452 +
  3.2453 +  if test "x$MSVCP_NAME" != "x"; then
  3.2454 +    if test "x$with_msvcp_dll" != x; then
  3.2455 +      # If given explicitely by user, do not probe. If not present, fail directly.
  3.2456 +
  3.2457 +  DLL_NAME="$MSVCP_NAME"
  3.2458 +  POSSIBLE_MSVC_DLL="$with_msvcp_dll"
  3.2459 +  METHOD="--with-msvcp-dll"
  3.2460    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.2461      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.2462  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.2463 @@ -48618,6 +49442,128 @@
  3.2464        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.2465  $as_echo "ok" >&6; }
  3.2466        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2467 +
  3.2468 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2469 +
  3.2470 +  # Input might be given as Windows format, start by converting to
  3.2471 +  # unix format.
  3.2472 +  path="$MSVC_DLL"
  3.2473 +  new_path=`$CYGPATH -u "$path"`
  3.2474 +
  3.2475 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2476 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2477 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2478 +  # "foo.exe" is OK but "foo" is an error.
  3.2479 +  #
  3.2480 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2481 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2482 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2483 +  if test "x$test_shortpath" = x; then
  3.2484 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2485 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2486 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.2487 +  fi
  3.2488 +
  3.2489 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.2490 +  # If so, the updated path is stored in $new_path.
  3.2491 +
  3.2492 +  input_path="$new_path"
  3.2493 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2494 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2495 +  # take no chances and rewrite it.
  3.2496 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2497 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.2498 +  if test "x$has_forbidden_chars" != x; then
  3.2499 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2500 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2501 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2502 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2503 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.2504 +      # case insensitive, let's make it lowercase to improve readability.
  3.2505 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2506 +      # Now convert it back to Unix-style (cygpath)
  3.2507 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2508 +      new_path="$input_path"
  3.2509 +    fi
  3.2510 +  fi
  3.2511 +
  3.2512 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2513 +  if test "x$test_cygdrive_prefix" = x; then
  3.2514 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2515 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2516 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2517 +      # a path prefixed by /cygdrive for fixpath to work.
  3.2518 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2519 +    fi
  3.2520 +  fi
  3.2521 +
  3.2522 +
  3.2523 +  if test "x$path" != "x$new_path"; then
  3.2524 +    MSVC_DLL="$new_path"
  3.2525 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2526 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2527 +  fi
  3.2528 +
  3.2529 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2530 +
  3.2531 +  path="$MSVC_DLL"
  3.2532 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.2533 +  new_path="$path"
  3.2534 +  if test "x$has_colon" = x; then
  3.2535 +    # Not in mixed or Windows style, start by that.
  3.2536 +    new_path=`cmd //c echo $path`
  3.2537 +  fi
  3.2538 +
  3.2539 +
  3.2540 +  input_path="$new_path"
  3.2541 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2542 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2543 +  # take no chances and rewrite it.
  3.2544 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2545 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2546 +  if test "x$has_forbidden_chars" != x; then
  3.2547 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2548 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2549 +  fi
  3.2550 +
  3.2551 +
  3.2552 +  windows_path="$new_path"
  3.2553 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2554 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2555 +    new_path="$unix_path"
  3.2556 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2557 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2558 +    new_path="$unix_path"
  3.2559 +  fi
  3.2560 +
  3.2561 +  if test "x$path" != "x$new_path"; then
  3.2562 +    MSVC_DLL="$new_path"
  3.2563 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2564 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2565 +  fi
  3.2566 +
  3.2567 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2568 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2569 +
  3.2570 +  else
  3.2571 +    # We're on a posix platform. Hooray! :)
  3.2572 +    path="$MSVC_DLL"
  3.2573 +    has_space=`$ECHO "$path" | $GREP " "`
  3.2574 +    if test "x$has_space" != x; then
  3.2575 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2576 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2577 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2578 +    fi
  3.2579 +
  3.2580 +    # Use eval to expand a potential ~
  3.2581 +    eval path="$path"
  3.2582 +    if test ! -f "$path" && test ! -d "$path"; then
  3.2583 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2584 +    fi
  3.2585 +
  3.2586 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2587 +  fi
  3.2588 +
  3.2589        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2590  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2591        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.2592 @@ -48630,16 +49576,15 @@
  3.2593      fi
  3.2594    fi
  3.2595  
  3.2596 -    fi
  3.2597 -  fi
  3.2598 -
  3.2599 -  if test "x$MSVC_DLL" = x; then
  3.2600 -    # Probe: Check in the Boot JDK directory.
  3.2601 -    POSSIBLE_MSVC_DLL="$BOOT_JDK/bin/$DLL_NAME"
  3.2602 -
  3.2603 -  DLL_NAME="$DLL_NAME"
  3.2604 -  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2605 -  METHOD="well-known location in Boot JDK"
  3.2606 +      if test "x$MSVC_DLL" = x; then
  3.2607 +        as_fn_error $? "Could not find a proper $MSVCP_NAME as specified by --with-msvcp-dll" "$LINENO" 5
  3.2608 +      fi
  3.2609 +      MSVCP_DLL="$MSVC_DLL"
  3.2610 +    elif test "x$DEVKIT_MSVCP_DLL" != x; then
  3.2611 +
  3.2612 +  DLL_NAME="$MSVCP_NAME"
  3.2613 +  POSSIBLE_MSVC_DLL="$DEVKIT_MSVCP_DLL"
  3.2614 +  METHOD="devkit"
  3.2615    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.2616      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.2617  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.2618 @@ -48667,6 +49612,128 @@
  3.2619        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.2620  $as_echo "ok" >&6; }
  3.2621        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2622 +
  3.2623 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2624 +
  3.2625 +  # Input might be given as Windows format, start by converting to
  3.2626 +  # unix format.
  3.2627 +  path="$MSVC_DLL"
  3.2628 +  new_path=`$CYGPATH -u "$path"`
  3.2629 +
  3.2630 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2631 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2632 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2633 +  # "foo.exe" is OK but "foo" is an error.
  3.2634 +  #
  3.2635 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2636 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2637 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2638 +  if test "x$test_shortpath" = x; then
  3.2639 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2640 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2641 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.2642 +  fi
  3.2643 +
  3.2644 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.2645 +  # If so, the updated path is stored in $new_path.
  3.2646 +
  3.2647 +  input_path="$new_path"
  3.2648 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2649 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2650 +  # take no chances and rewrite it.
  3.2651 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2652 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.2653 +  if test "x$has_forbidden_chars" != x; then
  3.2654 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2655 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2656 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2657 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2658 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.2659 +      # case insensitive, let's make it lowercase to improve readability.
  3.2660 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2661 +      # Now convert it back to Unix-style (cygpath)
  3.2662 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2663 +      new_path="$input_path"
  3.2664 +    fi
  3.2665 +  fi
  3.2666 +
  3.2667 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2668 +  if test "x$test_cygdrive_prefix" = x; then
  3.2669 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2670 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2671 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2672 +      # a path prefixed by /cygdrive for fixpath to work.
  3.2673 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2674 +    fi
  3.2675 +  fi
  3.2676 +
  3.2677 +
  3.2678 +  if test "x$path" != "x$new_path"; then
  3.2679 +    MSVC_DLL="$new_path"
  3.2680 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2681 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2682 +  fi
  3.2683 +
  3.2684 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2685 +
  3.2686 +  path="$MSVC_DLL"
  3.2687 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.2688 +  new_path="$path"
  3.2689 +  if test "x$has_colon" = x; then
  3.2690 +    # Not in mixed or Windows style, start by that.
  3.2691 +    new_path=`cmd //c echo $path`
  3.2692 +  fi
  3.2693 +
  3.2694 +
  3.2695 +  input_path="$new_path"
  3.2696 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2697 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2698 +  # take no chances and rewrite it.
  3.2699 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2700 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2701 +  if test "x$has_forbidden_chars" != x; then
  3.2702 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2703 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2704 +  fi
  3.2705 +
  3.2706 +
  3.2707 +  windows_path="$new_path"
  3.2708 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2709 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2710 +    new_path="$unix_path"
  3.2711 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2712 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2713 +    new_path="$unix_path"
  3.2714 +  fi
  3.2715 +
  3.2716 +  if test "x$path" != "x$new_path"; then
  3.2717 +    MSVC_DLL="$new_path"
  3.2718 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2719 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2720 +  fi
  3.2721 +
  3.2722 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2723 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2724 +
  3.2725 +  else
  3.2726 +    # We're on a posix platform. Hooray! :)
  3.2727 +    path="$MSVC_DLL"
  3.2728 +    has_space=`$ECHO "$path" | $GREP " "`
  3.2729 +    if test "x$has_space" != x; then
  3.2730 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2731 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2732 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2733 +    fi
  3.2734 +
  3.2735 +    # Use eval to expand a potential ~
  3.2736 +    eval path="$path"
  3.2737 +    if test ! -f "$path" && test ! -d "$path"; then
  3.2738 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2739 +    fi
  3.2740 +
  3.2741 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2742 +  fi
  3.2743 +
  3.2744        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2745  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2746        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.2747 @@ -48679,26 +49746,39 @@
  3.2748      fi
  3.2749    fi
  3.2750  
  3.2751 -  fi
  3.2752 +      if test "x$MSVC_DLL" = x; then
  3.2753 +        as_fn_error $? "Could not find a proper $MSVCP_NAME as specified by devkit" "$LINENO" 5
  3.2754 +      fi
  3.2755 +      MSVCP_DLL="$MSVC_DLL"
  3.2756 +    else
  3.2757 +
  3.2758 +  DLL_NAME="${MSVCP_NAME}"
  3.2759 +  MSVC_DLL=
  3.2760  
  3.2761    if test "x$MSVC_DLL" = x; then
  3.2762 -    # Probe: Look in the Windows system32 directory
  3.2763 -    CYGWIN_SYSTEMROOT="$SYSTEMROOT"
  3.2764 -
  3.2765 -  windows_path="$CYGWIN_SYSTEMROOT"
  3.2766 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2767 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.2768 -    CYGWIN_SYSTEMROOT="$unix_path"
  3.2769 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2770 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2771 -    CYGWIN_SYSTEMROOT="$unix_path"
  3.2772 -  fi
  3.2773 -
  3.2774 -    POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
  3.2775 +    # Probe: Using well-known location from Visual Studio 10.0
  3.2776 +    if test "x$VCINSTALLDIR" != x; then
  3.2777 +      CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
  3.2778 +
  3.2779 +  windows_path="$CYGWIN_VC_INSTALL_DIR"
  3.2780 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2781 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2782 +    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.2783 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2784 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2785 +    CYGWIN_VC_INSTALL_DIR="$unix_path"
  3.2786 +  fi
  3.2787 +
  3.2788 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.2789 +        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.2790 +      else
  3.2791 +        POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
  3.2792 +      fi
  3.2793 +      $ECHO "POSSIBLE_MSVC_DLL $POSSIBLEMSVC_DLL"
  3.2794  
  3.2795    DLL_NAME="$DLL_NAME"
  3.2796    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2797 -  METHOD="well-known location in SYSTEMROOT"
  3.2798 +  METHOD="well-known location in VCINSTALLDIR"
  3.2799    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.2800      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.2801  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.2802 @@ -48726,6 +49806,128 @@
  3.2803        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.2804  $as_echo "ok" >&6; }
  3.2805        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2806 +
  3.2807 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2808 +
  3.2809 +  # Input might be given as Windows format, start by converting to
  3.2810 +  # unix format.
  3.2811 +  path="$MSVC_DLL"
  3.2812 +  new_path=`$CYGPATH -u "$path"`
  3.2813 +
  3.2814 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2815 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2816 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2817 +  # "foo.exe" is OK but "foo" is an error.
  3.2818 +  #
  3.2819 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2820 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2821 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2822 +  if test "x$test_shortpath" = x; then
  3.2823 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2824 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2825 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.2826 +  fi
  3.2827 +
  3.2828 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.2829 +  # If so, the updated path is stored in $new_path.
  3.2830 +
  3.2831 +  input_path="$new_path"
  3.2832 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2833 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2834 +  # take no chances and rewrite it.
  3.2835 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2836 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.2837 +  if test "x$has_forbidden_chars" != x; then
  3.2838 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2839 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.2840 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.2841 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.2842 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.2843 +      # case insensitive, let's make it lowercase to improve readability.
  3.2844 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2845 +      # Now convert it back to Unix-style (cygpath)
  3.2846 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.2847 +      new_path="$input_path"
  3.2848 +    fi
  3.2849 +  fi
  3.2850 +
  3.2851 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.2852 +  if test "x$test_cygdrive_prefix" = x; then
  3.2853 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.2854 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.2855 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.2856 +      # a path prefixed by /cygdrive for fixpath to work.
  3.2857 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.2858 +    fi
  3.2859 +  fi
  3.2860 +
  3.2861 +
  3.2862 +  if test "x$path" != "x$new_path"; then
  3.2863 +    MSVC_DLL="$new_path"
  3.2864 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2865 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2866 +  fi
  3.2867 +
  3.2868 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2869 +
  3.2870 +  path="$MSVC_DLL"
  3.2871 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.2872 +  new_path="$path"
  3.2873 +  if test "x$has_colon" = x; then
  3.2874 +    # Not in mixed or Windows style, start by that.
  3.2875 +    new_path=`cmd //c echo $path`
  3.2876 +  fi
  3.2877 +
  3.2878 +
  3.2879 +  input_path="$new_path"
  3.2880 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.2881 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.2882 +  # take no chances and rewrite it.
  3.2883 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.2884 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.2885 +  if test "x$has_forbidden_chars" != x; then
  3.2886 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.2887 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.2888 +  fi
  3.2889 +
  3.2890 +
  3.2891 +  windows_path="$new_path"
  3.2892 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2893 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.2894 +    new_path="$unix_path"
  3.2895 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2896 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2897 +    new_path="$unix_path"
  3.2898 +  fi
  3.2899 +
  3.2900 +  if test "x$path" != "x$new_path"; then
  3.2901 +    MSVC_DLL="$new_path"
  3.2902 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.2903 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.2904 +  fi
  3.2905 +
  3.2906 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.2907 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.2908 +
  3.2909 +  else
  3.2910 +    # We're on a posix platform. Hooray! :)
  3.2911 +    path="$MSVC_DLL"
  3.2912 +    has_space=`$ECHO "$path" | $GREP " "`
  3.2913 +    if test "x$has_space" != x; then
  3.2914 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2915 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2916 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.2917 +    fi
  3.2918 +
  3.2919 +    # Use eval to expand a potential ~
  3.2920 +    eval path="$path"
  3.2921 +    if test ! -f "$path" && test ! -d "$path"; then
  3.2922 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.2923 +    fi
  3.2924 +
  3.2925 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.2926 +  fi
  3.2927 +
  3.2928        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.2929  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.2930        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.2931 @@ -48738,33 +49940,16 @@
  3.2932      fi
  3.2933    fi
  3.2934  
  3.2935 +    fi
  3.2936    fi
  3.2937  
  3.2938    if test "x$MSVC_DLL" = x; then
  3.2939 -    # Probe: If Visual Studio Express is installed, there is usually one with the debugger
  3.2940 -    if test "x$VS100COMNTOOLS" != x; then
  3.2941 -      CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
  3.2942 -
  3.2943 -  windows_path="$CYGWIN_VS_TOOLS_DIR"
  3.2944 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2945 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.2946 -    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.2947 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.2948 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.2949 -    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.2950 -  fi
  3.2951 -
  3.2952 -      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.2953 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.2954 -            | $GREP -i /x64/ | $HEAD --lines 1`
  3.2955 -      else
  3.2956 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.2957 -            | $GREP -i /x86/ | $HEAD --lines 1`
  3.2958 -      fi
  3.2959 +    # Probe: Check in the Boot JDK directory.
  3.2960 +    POSSIBLE_MSVC_DLL="$BOOT_JDK/bin/$DLL_NAME"
  3.2961  
  3.2962    DLL_NAME="$DLL_NAME"
  3.2963    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2964 -  METHOD="search of VS100COMNTOOLS"
  3.2965 +  METHOD="well-known location in Boot JDK"
  3.2966    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.2967      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.2968  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.2969 @@ -48792,6 +49977,128 @@
  3.2970        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.2971  $as_echo "ok" >&6; }
  3.2972        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.2973 +
  3.2974 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.2975 +
  3.2976 +  # Input might be given as Windows format, start by converting to
  3.2977 +  # unix format.
  3.2978 +  path="$MSVC_DLL"
  3.2979 +  new_path=`$CYGPATH -u "$path"`
  3.2980 +
  3.2981 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.2982 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.2983 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.2984 +  # "foo.exe" is OK but "foo" is an error.
  3.2985 +  #
  3.2986 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.2987 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.2988 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.2989 +  if test "x$test_shortpath" = x; then
  3.2990 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.2991 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.2992 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.2993 +  fi
  3.2994 +
  3.2995 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.2996 +  # If so, the updated path is stored in $new_path.
  3.2997 +
  3.2998 +  input_path="$new_path"
  3.2999 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3000 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3001 +  # take no chances and rewrite it.
  3.3002 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3003 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.3004 +  if test "x$has_forbidden_chars" != x; then
  3.3005 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3006 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.3007 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.3008 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.3009 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.3010 +      # case insensitive, let's make it lowercase to improve readability.
  3.3011 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3012 +      # Now convert it back to Unix-style (cygpath)
  3.3013 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.3014 +      new_path="$input_path"
  3.3015 +    fi
  3.3016 +  fi
  3.3017 +
  3.3018 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.3019 +  if test "x$test_cygdrive_prefix" = x; then
  3.3020 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.3021 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.3022 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.3023 +      # a path prefixed by /cygdrive for fixpath to work.
  3.3024 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.3025 +    fi
  3.3026 +  fi
  3.3027 +
  3.3028 +
  3.3029 +  if test "x$path" != "x$new_path"; then
  3.3030 +    MSVC_DLL="$new_path"
  3.3031 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3032 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3033 +  fi
  3.3034 +
  3.3035 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3036 +
  3.3037 +  path="$MSVC_DLL"
  3.3038 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.3039 +  new_path="$path"
  3.3040 +  if test "x$has_colon" = x; then
  3.3041 +    # Not in mixed or Windows style, start by that.
  3.3042 +    new_path=`cmd //c echo $path`
  3.3043 +  fi
  3.3044 +
  3.3045 +
  3.3046 +  input_path="$new_path"
  3.3047 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3048 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3049 +  # take no chances and rewrite it.
  3.3050 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3051 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.3052 +  if test "x$has_forbidden_chars" != x; then
  3.3053 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3054 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3055 +  fi
  3.3056 +
  3.3057 +
  3.3058 +  windows_path="$new_path"
  3.3059 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3060 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3061 +    new_path="$unix_path"
  3.3062 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3063 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3064 +    new_path="$unix_path"
  3.3065 +  fi
  3.3066 +
  3.3067 +  if test "x$path" != "x$new_path"; then
  3.3068 +    MSVC_DLL="$new_path"
  3.3069 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3070 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3071 +  fi
  3.3072 +
  3.3073 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.3074 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.3075 +
  3.3076 +  else
  3.3077 +    # We're on a posix platform. Hooray! :)
  3.3078 +    path="$MSVC_DLL"
  3.3079 +    has_space=`$ECHO "$path" | $GREP " "`
  3.3080 +    if test "x$has_space" != x; then
  3.3081 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3082 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3083 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.3084 +    fi
  3.3085 +
  3.3086 +    # Use eval to expand a potential ~
  3.3087 +    eval path="$path"
  3.3088 +    if test ! -f "$path" && test ! -d "$path"; then
  3.3089 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.3090 +    fi
  3.3091 +
  3.3092 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.3093 +  fi
  3.3094 +
  3.3095        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.3096  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.3097        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.3098 @@ -48804,30 +50111,26 @@
  3.3099      fi
  3.3100    fi
  3.3101  
  3.3102 -    fi
  3.3103    fi
  3.3104  
  3.3105    if test "x$MSVC_DLL" = x; then
  3.3106 -    # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
  3.3107 -    # (This was the original behaviour; kept since it might turn something up)
  3.3108 -    if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
  3.3109 -      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.3110 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3111 -          | $GREP x64 | $HEAD --lines 1`
  3.3112 -      else
  3.3113 -        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3114 -          | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
  3.3115 -        if test "x$POSSIBLE_MSVC_DLL" = x; then
  3.3116 -          # We're grasping at straws now...
  3.3117 -          POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3118 -              | $HEAD --lines 1`
  3.3119 -        fi
  3.3120 -      fi
  3.3121 -
  3.3122 +    # Probe: Look in the Windows system32 directory
  3.3123 +    CYGWIN_SYSTEMROOT="$SYSTEMROOT"
  3.3124 +
  3.3125 +  windows_path="$CYGWIN_SYSTEMROOT"
  3.3126 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3127 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3128 +    CYGWIN_SYSTEMROOT="$unix_path"
  3.3129 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3130 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3131 +    CYGWIN_SYSTEMROOT="$unix_path"
  3.3132 +  fi
  3.3133 +
  3.3134 +    POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
  3.3135  
  3.3136    DLL_NAME="$DLL_NAME"
  3.3137    POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3138 -  METHOD="search of VCINSTALLDIR"
  3.3139 +  METHOD="well-known location in SYSTEMROOT"
  3.3140    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.3141      { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.3142  $as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.3143 @@ -48855,6 +50158,128 @@
  3.3144        { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.3145  $as_echo "ok" >&6; }
  3.3146        MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3147 +
  3.3148 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3149 +
  3.3150 +  # Input might be given as Windows format, start by converting to
  3.3151 +  # unix format.
  3.3152 +  path="$MSVC_DLL"
  3.3153 +  new_path=`$CYGPATH -u "$path"`
  3.3154 +
  3.3155 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.3156 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.3157 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.3158 +  # "foo.exe" is OK but "foo" is an error.
  3.3159 +  #
  3.3160 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.3161 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.3162 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.3163 +  if test "x$test_shortpath" = x; then
  3.3164 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3165 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3166 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.3167 +  fi
  3.3168 +
  3.3169 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.3170 +  # If so, the updated path is stored in $new_path.
  3.3171 +
  3.3172 +  input_path="$new_path"
  3.3173 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3174 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3175 +  # take no chances and rewrite it.
  3.3176 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3177 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.3178 +  if test "x$has_forbidden_chars" != x; then
  3.3179 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3180 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.3181 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.3182 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.3183 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.3184 +      # case insensitive, let's make it lowercase to improve readability.
  3.3185 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3186 +      # Now convert it back to Unix-style (cygpath)
  3.3187 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.3188 +      new_path="$input_path"
  3.3189 +    fi
  3.3190 +  fi
  3.3191 +
  3.3192 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.3193 +  if test "x$test_cygdrive_prefix" = x; then
  3.3194 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.3195 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.3196 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.3197 +      # a path prefixed by /cygdrive for fixpath to work.
  3.3198 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.3199 +    fi
  3.3200 +  fi
  3.3201 +
  3.3202 +
  3.3203 +  if test "x$path" != "x$new_path"; then
  3.3204 +    MSVC_DLL="$new_path"
  3.3205 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3206 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3207 +  fi
  3.3208 +
  3.3209 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3210 +
  3.3211 +  path="$MSVC_DLL"
  3.3212 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.3213 +  new_path="$path"
  3.3214 +  if test "x$has_colon" = x; then
  3.3215 +    # Not in mixed or Windows style, start by that.
  3.3216 +    new_path=`cmd //c echo $path`
  3.3217 +  fi
  3.3218 +
  3.3219 +
  3.3220 +  input_path="$new_path"
  3.3221 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3222 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3223 +  # take no chances and rewrite it.
  3.3224 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3225 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.3226 +  if test "x$has_forbidden_chars" != x; then
  3.3227 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3228 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3229 +  fi
  3.3230 +
  3.3231 +
  3.3232 +  windows_path="$new_path"
  3.3233 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3234 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3235 +    new_path="$unix_path"
  3.3236 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3237 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3238 +    new_path="$unix_path"
  3.3239 +  fi
  3.3240 +
  3.3241 +  if test "x$path" != "x$new_path"; then
  3.3242 +    MSVC_DLL="$new_path"
  3.3243 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3244 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3245 +  fi
  3.3246 +
  3.3247 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.3248 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.3249 +
  3.3250 +  else
  3.3251 +    # We're on a posix platform. Hooray! :)
  3.3252 +    path="$MSVC_DLL"
  3.3253 +    has_space=`$ECHO "$path" | $GREP " "`
  3.3254 +    if test "x$has_space" != x; then
  3.3255 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3256 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3257 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.3258 +    fi
  3.3259 +
  3.3260 +    # Use eval to expand a potential ~
  3.3261 +    eval path="$path"
  3.3262 +    if test ! -f "$path" && test ! -d "$path"; then
  3.3263 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.3264 +    fi
  3.3265 +
  3.3266 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.3267 +  fi
  3.3268 +
  3.3269        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.3270  $as_echo_n "checking for $DLL_NAME... " >&6; }
  3.3271        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.3272 @@ -48867,6 +50292,379 @@
  3.3273      fi
  3.3274    fi
  3.3275  
  3.3276 +  fi
  3.3277 +
  3.3278 +  if test "x$MSVC_DLL" = x; then
  3.3279 +    # Probe: If Visual Studio Express is installed, there is usually one with the debugger
  3.3280 +    if test "x$VS100COMNTOOLS" != x; then
  3.3281 +      CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
  3.3282 +
  3.3283 +  windows_path="$CYGWIN_VS_TOOLS_DIR"
  3.3284 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3285 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3286 +    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.3287 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3288 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3289 +    CYGWIN_VS_TOOLS_DIR="$unix_path"
  3.3290 +  fi
  3.3291 +
  3.3292 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.3293 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.3294 +            | $GREP -i /x64/ | $HEAD --lines 1`
  3.3295 +      else
  3.3296 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
  3.3297 +            | $GREP -i /x86/ | $HEAD --lines 1`
  3.3298 +      fi
  3.3299 +
  3.3300 +  DLL_NAME="$DLL_NAME"
  3.3301 +  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3302 +  METHOD="search of VS100COMNTOOLS"
  3.3303 +  if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.3304 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.3305 +$as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.3306 +
  3.3307 +    # Need to check if the found msvcr is correct architecture
  3.3308 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking found $DLL_NAME architecture" >&5
  3.3309 +$as_echo_n "checking found $DLL_NAME architecture... " >&6; }
  3.3310 +    MSVC_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVC_DLL"`
  3.3311 +    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3312 +      # The MSYS 'file' command returns "PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit"
  3.3313 +      # on x32 and "PE32+ executable for MS Windows (DLL) (GUI) Mono/.Net assembly" on x64 systems.
  3.3314 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
  3.3315 +        CORRECT_MSVCR_ARCH="PE32 executable"
  3.3316 +      else
  3.3317 +        CORRECT_MSVCR_ARCH="PE32+ executable"
  3.3318 +      fi
  3.3319 +    else
  3.3320 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
  3.3321 +        CORRECT_MSVCR_ARCH=386
  3.3322 +      else
  3.3323 +        CORRECT_MSVCR_ARCH=x86-64
  3.3324 +      fi
  3.3325 +    fi
  3.3326 +    if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
  3.3327 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.3328 +$as_echo "ok" >&6; }
  3.3329 +      MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3330 +
  3.3331 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3332 +
  3.3333 +  # Input might be given as Windows format, start by converting to
  3.3334 +  # unix format.
  3.3335 +  path="$MSVC_DLL"
  3.3336 +  new_path=`$CYGPATH -u "$path"`
  3.3337 +
  3.3338 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.3339 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.3340 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.3341 +  # "foo.exe" is OK but "foo" is an error.
  3.3342 +  #
  3.3343 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.3344 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.3345 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.3346 +  if test "x$test_shortpath" = x; then
  3.3347 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3348 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3349 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.3350 +  fi
  3.3351 +
  3.3352 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.3353 +  # If so, the updated path is stored in $new_path.
  3.3354 +
  3.3355 +  input_path="$new_path"
  3.3356 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3357 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3358 +  # take no chances and rewrite it.
  3.3359 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3360 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.3361 +  if test "x$has_forbidden_chars" != x; then
  3.3362 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3363 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.3364 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.3365 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.3366 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.3367 +      # case insensitive, let's make it lowercase to improve readability.
  3.3368 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3369 +      # Now convert it back to Unix-style (cygpath)
  3.3370 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.3371 +      new_path="$input_path"
  3.3372 +    fi
  3.3373 +  fi
  3.3374 +
  3.3375 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.3376 +  if test "x$test_cygdrive_prefix" = x; then
  3.3377 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.3378 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.3379 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.3380 +      # a path prefixed by /cygdrive for fixpath to work.
  3.3381 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.3382 +    fi
  3.3383 +  fi
  3.3384 +
  3.3385 +
  3.3386 +  if test "x$path" != "x$new_path"; then
  3.3387 +    MSVC_DLL="$new_path"
  3.3388 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3389 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3390 +  fi
  3.3391 +
  3.3392 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3393 +
  3.3394 +  path="$MSVC_DLL"
  3.3395 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.3396 +  new_path="$path"
  3.3397 +  if test "x$has_colon" = x; then
  3.3398 +    # Not in mixed or Windows style, start by that.
  3.3399 +    new_path=`cmd //c echo $path`
  3.3400 +  fi
  3.3401 +
  3.3402 +
  3.3403 +  input_path="$new_path"
  3.3404 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3405 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3406 +  # take no chances and rewrite it.
  3.3407 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3408 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.3409 +  if test "x$has_forbidden_chars" != x; then
  3.3410 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3411 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3412 +  fi
  3.3413 +
  3.3414 +
  3.3415 +  windows_path="$new_path"
  3.3416 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3417 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3418 +    new_path="$unix_path"
  3.3419 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3420 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3421 +    new_path="$unix_path"
  3.3422 +  fi
  3.3423 +
  3.3424 +  if test "x$path" != "x$new_path"; then
  3.3425 +    MSVC_DLL="$new_path"
  3.3426 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3427 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3428 +  fi
  3.3429 +
  3.3430 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.3431 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.3432 +
  3.3433 +  else
  3.3434 +    # We're on a posix platform. Hooray! :)
  3.3435 +    path="$MSVC_DLL"
  3.3436 +    has_space=`$ECHO "$path" | $GREP " "`
  3.3437 +    if test "x$has_space" != x; then
  3.3438 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3439 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3440 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.3441 +    fi
  3.3442 +
  3.3443 +    # Use eval to expand a potential ~
  3.3444 +    eval path="$path"
  3.3445 +    if test ! -f "$path" && test ! -d "$path"; then
  3.3446 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.3447 +    fi
  3.3448 +
  3.3449 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.3450 +  fi
  3.3451 +
  3.3452 +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.3453 +$as_echo_n "checking for $DLL_NAME... " >&6; }
  3.3454 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.3455 +$as_echo "$MSVC_DLL" >&6; }
  3.3456 +    else
  3.3457 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
  3.3458 +$as_echo "incorrect, ignoring" >&6; }
  3.3459 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located $DLL_NAME is $MSVC_DLL_FILETYPE" >&5
  3.3460 +$as_echo "$as_me: The file type of the located $DLL_NAME is $MSVC_DLL_FILETYPE" >&6;}
  3.3461 +    fi
  3.3462 +  fi
  3.3463 +
  3.3464 +    fi
  3.3465 +  fi
  3.3466 +
  3.3467 +  if test "x$MSVC_DLL" = x; then
  3.3468 +    # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
  3.3469 +    # (This was the original behaviour; kept since it might turn something up)
  3.3470 +    if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
  3.3471 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
  3.3472 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3473 +          | $GREP x64 | $HEAD --lines 1`
  3.3474 +      else
  3.3475 +        POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3476 +          | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
  3.3477 +        if test "x$POSSIBLE_MSVC_DLL" = x; then
  3.3478 +          # We're grasping at straws now...
  3.3479 +          POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
  3.3480 +              | $HEAD --lines 1`
  3.3481 +        fi
  3.3482 +      fi
  3.3483 +
  3.3484 +
  3.3485 +  DLL_NAME="$DLL_NAME"
  3.3486 +  POSSIBLE_MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3487 +  METHOD="search of VCINSTALLDIR"
  3.3488 +  if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
  3.3489 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&5
  3.3490 +$as_echo "$as_me: Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD" >&6;}
  3.3491 +
  3.3492 +    # Need to check if the found msvcr is correct architecture
  3.3493 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking found $DLL_NAME architecture" >&5
  3.3494 +$as_echo_n "checking found $DLL_NAME architecture... " >&6; }
  3.3495 +    MSVC_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVC_DLL"`
  3.3496 +    if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3497 +      # The MSYS 'file' command returns "PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit"
  3.3498 +      # on x32 and "PE32+ executable for MS Windows (DLL) (GUI) Mono/.Net assembly" on x64 systems.
  3.3499 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
  3.3500 +        CORRECT_MSVCR_ARCH="PE32 executable"
  3.3501 +      else
  3.3502 +        CORRECT_MSVCR_ARCH="PE32+ executable"
  3.3503 +      fi
  3.3504 +    else
  3.3505 +      if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
  3.3506 +        CORRECT_MSVCR_ARCH=386
  3.3507 +      else
  3.3508 +        CORRECT_MSVCR_ARCH=x86-64
  3.3509 +      fi
  3.3510 +    fi
  3.3511 +    if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
  3.3512 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  3.3513 +$as_echo "ok" >&6; }
  3.3514 +      MSVC_DLL="$POSSIBLE_MSVC_DLL"
  3.3515 +
  3.3516 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3517 +
  3.3518 +  # Input might be given as Windows format, start by converting to
  3.3519 +  # unix format.
  3.3520 +  path="$MSVC_DLL"
  3.3521 +  new_path=`$CYGPATH -u "$path"`
  3.3522 +
  3.3523 +  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.3524 +  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.3525 +  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.3526 +  # "foo.exe" is OK but "foo" is an error.
  3.3527 +  #
  3.3528 +  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.3529 +  # It is also a way to make sure we got the proper file name for the real test later on.
  3.3530 +  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.3531 +  if test "x$test_shortpath" = x; then
  3.3532 +    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3533 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3534 +    as_fn_error $? "Cannot locate the the path of MSVC_DLL" "$LINENO" 5
  3.3535 +  fi
  3.3536 +
  3.3537 +  # Call helper function which possibly converts this using DOS-style short mode.
  3.3538 +  # If so, the updated path is stored in $new_path.
  3.3539 +
  3.3540 +  input_path="$new_path"
  3.3541 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3542 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3543 +  # take no chances and rewrite it.
  3.3544 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3545 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.3546 +  if test "x$has_forbidden_chars" != x; then
  3.3547 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3548 +    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.3549 +    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.3550 +    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.3551 +      # Going to short mode and back again did indeed matter. Since short mode is
  3.3552 +      # case insensitive, let's make it lowercase to improve readability.
  3.3553 +      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3554 +      # Now convert it back to Unix-style (cygpath)
  3.3555 +      input_path=`$CYGPATH -u "$shortmode_path"`
  3.3556 +      new_path="$input_path"
  3.3557 +    fi
  3.3558 +  fi
  3.3559 +
  3.3560 +  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.3561 +  if test "x$test_cygdrive_prefix" = x; then
  3.3562 +    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.3563 +    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.3564 +      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.3565 +      # a path prefixed by /cygdrive for fixpath to work.
  3.3566 +      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.3567 +    fi
  3.3568 +  fi
  3.3569 +
  3.3570 +
  3.3571 +  if test "x$path" != "x$new_path"; then
  3.3572 +    MSVC_DLL="$new_path"
  3.3573 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3574 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3575 +  fi
  3.3576 +
  3.3577 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3578 +
  3.3579 +  path="$MSVC_DLL"
  3.3580 +  has_colon=`$ECHO $path | $GREP ^.:`
  3.3581 +  new_path="$path"
  3.3582 +  if test "x$has_colon" = x; then
  3.3583 +    # Not in mixed or Windows style, start by that.
  3.3584 +    new_path=`cmd //c echo $path`
  3.3585 +  fi
  3.3586 +
  3.3587 +
  3.3588 +  input_path="$new_path"
  3.3589 +  # Check if we need to convert this using DOS-style short mode. If the path
  3.3590 +  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3591 +  # take no chances and rewrite it.
  3.3592 +  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3593 +  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.3594 +  if test "x$has_forbidden_chars" != x; then
  3.3595 +    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3596 +    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3597 +  fi
  3.3598 +
  3.3599 +
  3.3600 +  windows_path="$new_path"
  3.3601 +  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3602 +    unix_path=`$CYGPATH -u "$windows_path"`
  3.3603 +    new_path="$unix_path"
  3.3604 +  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3605 +    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3606 +    new_path="$unix_path"
  3.3607 +  fi
  3.3608 +
  3.3609 +  if test "x$path" != "x$new_path"; then
  3.3610 +    MSVC_DLL="$new_path"
  3.3611 +    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVC_DLL to \"$new_path\"" >&5
  3.3612 +$as_echo "$as_me: Rewriting MSVC_DLL to \"$new_path\"" >&6;}
  3.3613 +  fi
  3.3614 +
  3.3615 +  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.3616 +  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.3617 +
  3.3618 +  else
  3.3619 +    # We're on a posix platform. Hooray! :)
  3.3620 +    path="$MSVC_DLL"
  3.3621 +    has_space=`$ECHO "$path" | $GREP " "`
  3.3622 +    if test "x$has_space" != x; then
  3.3623 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&5
  3.3624 +$as_echo "$as_me: The path of MSVC_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3625 +      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.3626 +    fi
  3.3627 +
  3.3628 +    # Use eval to expand a potential ~
  3.3629 +    eval path="$path"
  3.3630 +    if test ! -f "$path" && test ! -d "$path"; then
  3.3631 +      as_fn_error $? "The path of MSVC_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.3632 +    fi
  3.3633 +
  3.3634 +    MSVC_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.3635 +  fi
  3.3636 +
  3.3637 +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $DLL_NAME" >&5
  3.3638 +$as_echo_n "checking for $DLL_NAME... " >&6; }
  3.3639 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVC_DLL" >&5
  3.3640 +$as_echo "$MSVC_DLL" >&6; }
  3.3641 +    else
  3.3642 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
  3.3643 +$as_echo "incorrect, ignoring" >&6; }
  3.3644 +      { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located $DLL_NAME is $MSVC_DLL_FILETYPE" >&5
  3.3645 +$as_echo "$as_me: The file type of the located $DLL_NAME is $MSVC_DLL_FILETYPE" >&6;}
  3.3646 +    fi
  3.3647 +  fi
  3.3648 +
  3.3649      fi
  3.3650    fi
  3.3651  
  3.3652 @@ -48878,133 +50676,9 @@
  3.3653      as_fn_error $? "Could not find $DLL_NAME. Please specify using --with-msvcr-dll." "$LINENO" 5
  3.3654    fi
  3.3655  
  3.3656 -  MSVCP_DLL=$MSVC_DLL
  3.3657 -
  3.3658 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3659 -
  3.3660 -  # Input might be given as Windows format, start by converting to
  3.3661 -  # unix format.
  3.3662 -  path="$MSVCP_DLL"
  3.3663 -  new_path=`$CYGPATH -u "$path"`
  3.3664 -
  3.3665 -  # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
  3.3666 -  # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
  3.3667 -  # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
  3.3668 -  # "foo.exe" is OK but "foo" is an error.
  3.3669 -  #
  3.3670 -  # This test is therefore slightly more accurate than "test -f" to check for file precense.
  3.3671 -  # It is also a way to make sure we got the proper file name for the real test later on.
  3.3672 -  test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
  3.3673 -  if test "x$test_shortpath" = x; then
  3.3674 -    { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCP_DLL, which resolves as \"$path\", is invalid." >&5
  3.3675 -$as_echo "$as_me: The path of MSVCP_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3676 -    as_fn_error $? "Cannot locate the the path of MSVCP_DLL" "$LINENO" 5
  3.3677 -  fi
  3.3678 -
  3.3679 -  # Call helper function which possibly converts this using DOS-style short mode.
  3.3680 -  # If so, the updated path is stored in $new_path.
  3.3681 -
  3.3682 -  input_path="$new_path"
  3.3683 -  # Check if we need to convert this using DOS-style short mode. If the path
  3.3684 -  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3685 -  # take no chances and rewrite it.
  3.3686 -  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3687 -  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
  3.3688 -  if test "x$has_forbidden_chars" != x; then
  3.3689 -    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3690 -    shortmode_path=`$CYGPATH -s -m -a "$input_path"`
  3.3691 -    path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
  3.3692 -    if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
  3.3693 -      # Going to short mode and back again did indeed matter. Since short mode is
  3.3694 -      # case insensitive, let's make it lowercase to improve readability.
  3.3695 -      shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3696 -      # Now convert it back to Unix-stile (cygpath)
  3.3697 -      input_path=`$CYGPATH -u "$shortmode_path"`
  3.3698 -      new_path="$input_path"
  3.3699 -    fi
  3.3700 -  fi
  3.3701 -
  3.3702 -  test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
  3.3703 -  if test "x$test_cygdrive_prefix" = x; then
  3.3704 -    # As a simple fix, exclude /usr/bin since it's not a real path.
  3.3705 -    if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
  3.3706 -      # The path is in a Cygwin special directory (e.g. /home). We need this converted to
  3.3707 -      # a path prefixed by /cygdrive for fixpath to work.
  3.3708 -      new_path="$CYGWIN_ROOT_PATH$input_path"
  3.3709 -    fi
  3.3710 -  fi
  3.3711 -
  3.3712 -
  3.3713 -  if test "x$path" != "x$new_path"; then
  3.3714 -    MSVCP_DLL="$new_path"
  3.3715 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCP_DLL to \"$new_path\"" >&5
  3.3716 -$as_echo "$as_me: Rewriting MSVCP_DLL to \"$new_path\"" >&6;}
  3.3717 -  fi
  3.3718 -
  3.3719 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3720 -
  3.3721 -  path="$MSVCP_DLL"
  3.3722 -  has_colon=`$ECHO $path | $GREP ^.:`
  3.3723 -  new_path="$path"
  3.3724 -  if test "x$has_colon" = x; then
  3.3725 -    # Not in mixed or Windows style, start by that.
  3.3726 -    new_path=`cmd //c echo $path`
  3.3727 -  fi
  3.3728 -
  3.3729 -
  3.3730 -  input_path="$new_path"
  3.3731 -  # Check if we need to convert this using DOS-style short mode. If the path
  3.3732 -  # contains just simple characters, use it. Otherwise (spaces, weird characters),
  3.3733 -  # take no chances and rewrite it.
  3.3734 -  # Note: m4 eats our [], so we need to use [ and ] instead.
  3.3735 -  has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
  3.3736 -  if test "x$has_forbidden_chars" != x; then
  3.3737 -    # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
  3.3738 -    new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
  3.3739 -  fi
  3.3740 -
  3.3741 -
  3.3742 -  windows_path="$new_path"
  3.3743 -  if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
  3.3744 -    unix_path=`$CYGPATH -u "$windows_path"`
  3.3745 -    new_path="$unix_path"
  3.3746 -  elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
  3.3747 -    unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
  3.3748 -    new_path="$unix_path"
  3.3749 -  fi
  3.3750 -
  3.3751 -  if test "x$path" != "x$new_path"; then
  3.3752 -    MSVCP_DLL="$new_path"
  3.3753 -    { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCP_DLL to \"$new_path\"" >&5
  3.3754 -$as_echo "$as_me: Rewriting MSVCP_DLL to \"$new_path\"" >&6;}
  3.3755 -  fi
  3.3756 -
  3.3757 -  # Save the first 10 bytes of this path to the storage, so fixpath can work.
  3.3758 -  all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
  3.3759 -
  3.3760 -  else
  3.3761 -    # We're on a posix platform. Hooray! :)
  3.3762 -    path="$MSVCP_DLL"
  3.3763 -    has_space=`$ECHO "$path" | $GREP " "`
  3.3764 -    if test "x$has_space" != x; then
  3.3765 -      { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCP_DLL, which resolves as \"$path\", is invalid." >&5
  3.3766 -$as_echo "$as_me: The path of MSVCP_DLL, which resolves as \"$path\", is invalid." >&6;}
  3.3767 -      as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
  3.3768 -    fi
  3.3769 -
  3.3770 -    # Use eval to expand a potential ~
  3.3771 -    eval path="$path"
  3.3772 -    if test ! -f "$path" && test ! -d "$path"; then
  3.3773 -      as_fn_error $? "The path of MSVCP_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
  3.3774 -    fi
  3.3775 -
  3.3776 -    MSVCP_DLL="`cd "$path"; $THEPWDCMD -L`"
  3.3777 -  fi
  3.3778 -
  3.3779 -  MSVCP_DLL=$MSVCP_DLL
  3.3780 -
  3.3781 -
  3.3782 -    fi
  3.3783 +      MSVCP_DLL="$MSVC_DLL"
  3.3784 +    fi
  3.3785 +
  3.3786    fi
  3.3787  
  3.3788  
     4.1 --- a/common/autoconf/toolchain.m4	Wed May 16 15:52:51 2018 -0700
     4.2 +++ b/common/autoconf/toolchain.m4	Mon May 21 06:54:25 2018 -0700
     4.3 @@ -217,11 +217,15 @@
     4.4    ORG_CXXFLAGS="$CXXFLAGS"
     4.5    ORG_OBJCFLAGS="$OBJCFLAGS"
     4.6  
     4.7 +  # autoconf magic only relies on PATH, so update it if tools dir is specified
     4.8 +  OLD_PATH="$PATH"
     4.9 +
    4.10    # On Windows, we need to detect the visual studio installation first.
    4.11    # This will change the PATH, but we need to keep that new PATH even 
    4.12    # after toolchain detection is done, since the compiler (on x86) uses
    4.13    # it for DLL resolution in runtime.
    4.14 -  if test "x$OPENJDK_BUILD_OS" = "xwindows" && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
    4.15 +  if test "x$OPENJDK_BUILD_OS" = "xwindows" \
    4.16 +      && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
    4.17      TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
    4.18      # Reset path to VS_PATH. It will include everything that was on PATH at the time we
    4.19      # ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV.
    4.20 @@ -231,9 +235,6 @@
    4.21      export LIB="$VS_LIB"
    4.22    fi
    4.23  
    4.24 -  # autoconf magic only relies on PATH, so update it if tools dir is specified
    4.25 -  OLD_PATH="$PATH"
    4.26 -
    4.27    # Before we locate the compilers, we need to sanitize the Xcode build environment
    4.28    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
    4.29      # determine path to Xcode developer directory
     5.1 --- a/common/autoconf/toolchain_windows.m4	Wed May 16 15:52:51 2018 -0700
     5.2 +++ b/common/autoconf/toolchain_windows.m4	Mon May 21 06:54:25 2018 -0700
     5.3 @@ -210,6 +210,37 @@
     5.4      done
     5.5  
     5.6      exit 0
     5.7 +  elif test "x$DEVKIT_VS_VERSION" != x; then
     5.8 +    VS_VERSION=$DEVKIT_VS_VERSION
     5.9 +    TOOLCHAIN_VERSION=$VS_VERSION
    5.10 +    eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
    5.11 +    eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
    5.12 +    eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
    5.13 +    eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
    5.14 +    eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
    5.15 +    VS_PATH="$TOOLCHAIN_PATH:$PATH"
    5.16 +
    5.17 +    # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
    5.18 +    # can still be exported as INCLUDE for compiler invocations without
    5.19 +    # SYSROOT_CFLAGS
    5.20 +    OLDIFS="$IFS"
    5.21 +    IFS=";"
    5.22 +    for i in $DEVKIT_VS_INCLUDE; do
    5.23 +      ipath=$i
    5.24 +      BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([ipath])
    5.25 +      VS_INCLUDE="$VS_INCLUDE;$ipath"
    5.26 +    done
    5.27 +    # Convert DEVKIT_VS_LIB into VS_LIB so that it can still be exported
    5.28 +    # as LIB for compiler invocations without SYSROOT_LDFLAGS
    5.29 +    for i in $DEVKIT_VS_LIB; do
    5.30 +      libpath=$i
    5.31 +      BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([libpath])
    5.32 +      VS_LIB="$VS_LIB;$libpath"
    5.33 +    done
    5.34 +    IFS="$OLDIFS"
    5.35 +
    5.36 +    AC_MSG_NOTICE([Found devkit $VS_DESCRIPTION])
    5.37 +
    5.38    elif test "x$with_toolchain_version" != x; then
    5.39      # User override; check that it is valid
    5.40      if test "x${VALID_VS_VERSIONS/$with_toolchain_version/}" = "x${VALID_VS_VERSIONS}"; then
    5.41 @@ -262,71 +293,81 @@
    5.42    # First-hand choice is to locate and run the vsvars bat file.
    5.43    TOOLCHAIN_FIND_VISUAL_STUDIO
    5.44  
    5.45 -  if test "x$VS_ENV_CMD" != x; then
    5.46 -    # We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
    5.47 -    BASIC_FIXUP_EXECUTABLE(VS_ENV_CMD)
    5.48 +  # If we have a devkit, skip all of the below.
    5.49 +  if test "x$DEVKIT_VS_VERSION" = x; then
    5.50 +    if test "x$VS_ENV_CMD" != x; then
    5.51 +      # We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
    5.52 +      BASIC_FIXUP_EXECUTABLE(VS_ENV_CMD)
    5.53  
    5.54 -    # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
    5.55 -    AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
    5.56 +      # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
    5.57 +      AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
    5.58  
    5.59 -    # We need to create a couple of temporary files.
    5.60 -    VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
    5.61 -    $MKDIR -p $VS_ENV_TMP_DIR
    5.62 +      # We need to create a couple of temporary files.
    5.63 +      VS_ENV_TMP_DIR="$OUTPUT_ROOT/vs-env"
    5.64 +      $MKDIR -p $VS_ENV_TMP_DIR
    5.65  
    5.66 -    # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
    5.67 -    # Instead create a shell script which will set the relevant variables when run.
    5.68 -    WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
    5.69 -    BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
    5.70 -    WINPATH_BASH="$BASH"
    5.71 -    BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
    5.72 +      # Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
    5.73 +      # Instead create a shell script which will set the relevant variables when run.
    5.74 +      WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
    5.75 +      BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
    5.76 +      WINPATH_BASH="$BASH"
    5.77 +      BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
    5.78  
    5.79 -    # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
    5.80 -    # script (executable by bash) that will setup the important variables.
    5.81 -    EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat"
    5.82 -    $ECHO "@echo off" >  $EXTRACT_VC_ENV_BAT_FILE
    5.83 -    # This will end up something like:
    5.84 -    # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat
    5.85 -    $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE
    5.86 -    # These will end up something like:
    5.87 -    # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh
    5.88 -    # The trailing space for everyone except PATH is no typo, but is needed due
    5.89 -    # to trailing \ in the Windows paths. These will be stripped later.
    5.90 -    $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.91 -    $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.92 -    $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.93 -    $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.94 -    $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.95 -    $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE
    5.96 +      # Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
    5.97 +      # script (executable by bash) that will setup the important variables.
    5.98 +      EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat"
    5.99 +      $ECHO "@echo off" >  $EXTRACT_VC_ENV_BAT_FILE
   5.100 +      # This will end up something like:
   5.101 +      # call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat
   5.102 +      $ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE
   5.103 +      # These will end up something like:
   5.104 +      # C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh
   5.105 +      # The trailing space for everyone except PATH is no typo, but is needed due
   5.106 +      # to trailing \ in the Windows paths. These will be stripped later.
   5.107 +      $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' \
   5.108 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.109 +      $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' \
   5.110 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.111 +      $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' \
   5.112 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.113 +      $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' \
   5.114 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.115 +      $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' \
   5.116 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.117 +      $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' \
   5.118 +          >> $EXTRACT_VC_ENV_BAT_FILE
   5.119  
   5.120 -    # Now execute the newly created bat file.
   5.121 -    # The | cat is to stop SetEnv.Cmd to mess with system colors on msys.
   5.122 -    # Change directory so we don't need to mess with Windows paths in redirects.
   5.123 -    cd $VS_ENV_TMP_DIR
   5.124 -    cmd /c extract-vs-env.bat | $CAT
   5.125 -    cd $CURDIR
   5.126 +      # Now execute the newly created bat file.
   5.127 +      # The | cat is to stop SetEnv.Cmd to mess with system colors on msys.
   5.128 +      # Change directory so we don't need to mess with Windows paths in redirects.
   5.129 +      cd $VS_ENV_TMP_DIR
   5.130 +      cmd /c extract-vs-env.bat | $CAT
   5.131 +      cd $CURDIR
   5.132  
   5.133 -    if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
   5.134 -      AC_MSG_NOTICE([Could not succesfully extract the envionment variables needed for the VS setup.])
   5.135 -      AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation])
   5.136 -      AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
   5.137 -      AC_MSG_ERROR([Cannot continue])
   5.138 +      if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
   5.139 +        AC_MSG_NOTICE([Could not succesfully extract the envionment variables needed for the VS setup.])
   5.140 +        AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation])
   5.141 +        AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
   5.142 +        AC_MSG_ERROR([Cannot continue])
   5.143 +      fi
   5.144 +
   5.145 +      # Now set all paths and other env variables. This will allow the rest of
   5.146 +      # the configure script to find and run the compiler in the proper way.
   5.147 +      AC_MSG_NOTICE([Setting extracted environment variables])
   5.148 +      . $VS_ENV_TMP_DIR/set-vs-env.sh
   5.149 +      # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
   5.150 +      # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR.
   5.151 +    else
   5.152 +      # We did not find a vsvars bat file, let's hope we are run from a VS command prompt.
   5.153 +     AC_MSG_NOTICE([Cannot locate a valid Visual Studio installation, checking current environment])
   5.154      fi
   5.155 -
   5.156 -    # Now set all paths and other env variables. This will allow the rest of
   5.157 -    # the configure script to find and run the compiler in the proper way.
   5.158 -    AC_MSG_NOTICE([Setting extracted environment variables])
   5.159 -    . $VS_ENV_TMP_DIR/set-vs-env.sh
   5.160 -    # Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
   5.161 -    # also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR.
   5.162 -  else
   5.163 -    # We did not find a vsvars bat file, let's hope we are run from a VS command prompt.
   5.164 -    AC_MSG_NOTICE([Cannot locate a valid Visual Studio installation, checking current environment])
   5.165    fi
   5.166  
   5.167    # At this point, we should have correct variables in the environment, or we can't continue.
   5.168    AC_MSG_CHECKING([for Visual Studio variables])
   5.169  
   5.170 -  if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then
   5.171 +  if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x \
   5.172 +      || test "x$WINDOWSSDKDIR" != x || test "x$DEVKIT_NAME" != x; then
   5.173      if test "x$VS_INCLUDE" = x || test "x$VS_LIB" = x; then
   5.174        AC_MSG_RESULT([present but broken])
   5.175        AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.])
   5.176 @@ -367,10 +408,10 @@
   5.177    POSSIBLE_MSVC_DLL="$2"
   5.178    METHOD="$3"
   5.179    if test -n "$POSSIBLE_MSVC_DLL" -a -e "$POSSIBLE_MSVC_DLL"; then
   5.180 -    AC_MSG_NOTICE([Found $1 at $POSSIBLE_MSVC_DLL using $METHOD])
   5.181 +    AC_MSG_NOTICE([Found $DLL_NAME at $POSSIBLE_MSVC_DLL using $METHOD])
   5.182  
   5.183      # Need to check if the found msvcr is correct architecture
   5.184 -    AC_MSG_CHECKING([found $1 architecture])
   5.185 +    AC_MSG_CHECKING([found $DLL_NAME architecture])
   5.186      MSVC_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVC_DLL"`
   5.187      if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
   5.188        # The MSYS 'file' command returns "PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit"
   5.189 @@ -390,19 +431,19 @@
   5.190      if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
   5.191        AC_MSG_RESULT([ok])
   5.192        MSVC_DLL="$POSSIBLE_MSVC_DLL"
   5.193 -      AC_MSG_CHECKING([for $1])
   5.194 +      BASIC_FIXUP_PATH(MSVC_DLL)
   5.195 +      AC_MSG_CHECKING([for $DLL_NAME])
   5.196        AC_MSG_RESULT([$MSVC_DLL])
   5.197      else
   5.198        AC_MSG_RESULT([incorrect, ignoring])
   5.199 -      AC_MSG_NOTICE([The file type of the located $1 is $MSVC_DLL_FILETYPE])
   5.200 +      AC_MSG_NOTICE([The file type of the located $DLL_NAME is $MSVC_DLL_FILETYPE])
   5.201      fi
   5.202    fi
   5.203  ])
   5.204  
   5.205  AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
   5.206  [
   5.207 -  VAR_NAME="$1"
   5.208 -  DLL_NAME="$2"
   5.209 +  DLL_NAME="$1"
   5.210    MSVC_DLL=
   5.211  
   5.212    if test "x$MSVC_DLL" = x; then
   5.213 @@ -481,10 +522,6 @@
   5.214      AC_MSG_RESULT([no])
   5.215      AC_MSG_ERROR([Could not find $DLL_NAME. Please specify using --with-msvcr-dll.])
   5.216    fi
   5.217 -
   5.218 -  $1=$MSVC_DLL
   5.219 -  BASIC_FIXUP_PATH($1)
   5.220 -  AC_SUBST($1, [$]$1)
   5.221  ])
   5.222  
   5.223  AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
   5.224 @@ -494,14 +531,22 @@
   5.225  
   5.226    if test "x$with_msvcr_dll" != x; then
   5.227      # If given explicitely by user, do not probe. If not present, fail directly.
   5.228 -    TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$with_msvcr_dll],
   5.229 -        [--with-msvcr-dll])
   5.230 +    TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($MSVCR_NAME, [$with_msvcr_dll], [--with-msvcr-dll])
   5.231      if test "x$MSVC_DLL" = x; then
   5.232        AC_MSG_ERROR([Could not find a proper $MSVCR_NAME as specified by --with-msvcr-dll])
   5.233      fi
   5.234 +    MSVCR_DLL="$MSVC_DLL"
   5.235 +  elif test "x$DEVKIT_MSVCR_DLL" != x; then
   5.236 +    TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($MSVCR_NAME, [$DEVKIT_MSVCR_DLL], [devkit])
   5.237 +    if test "x$MSVC_DLL" = x; then
   5.238 +      AC_MSG_ERROR([Could not find a proper $MSVCR_NAME as specified by devkit])
   5.239 +    fi
   5.240 +    MSVCR_DLL="$MSVC_DLL"
   5.241    else
   5.242 -    TOOLCHAIN_SETUP_MSVC_DLL([MSVCR_DLL], [${MSVCR_NAME}])
   5.243 +    TOOLCHAIN_SETUP_MSVC_DLL([${MSVCR_NAME}])
   5.244 +    MSVCR_DLL="$MSVC_DLL"
   5.245    fi
   5.246 +  AC_SUBST(MSVCR_DLL)
   5.247  
   5.248    AC_ARG_WITH(msvcp-dll, [AS_HELP_STRING([--with-msvcp-dll],
   5.249        [path to microsoft C++ runtime dll (msvcp*.dll) (Windows only) @<:@probed@:>@])])
   5.250 @@ -509,14 +554,22 @@
   5.251    if test "x$MSVCP_NAME" != "x"; then
   5.252      if test "x$with_msvcp_dll" != x; then
   5.253        # If given explicitely by user, do not probe. If not present, fail directly.
   5.254 -      TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$with_msvcp_dll],
   5.255 -          [--with-msvcp-dll])
   5.256 +      TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($MSVCP_NAME, [$with_msvcp_dll], [--with-msvcp-dll])
   5.257        if test "x$MSVC_DLL" = x; then
   5.258          AC_MSG_ERROR([Could not find a proper $MSVCP_NAME as specified by --with-msvcp-dll])
   5.259        fi
   5.260 +      MSVCP_DLL="$MSVC_DLL"
   5.261 +    elif test "x$DEVKIT_MSVCP_DLL" != x; then
   5.262 +      TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($MSVCP_NAME, [$DEVKIT_MSVCP_DLL], [devkit])
   5.263 +      if test "x$MSVC_DLL" = x; then
   5.264 +        AC_MSG_ERROR([Could not find a proper $MSVCP_NAME as specified by devkit])
   5.265 +      fi
   5.266 +      MSVCP_DLL="$MSVC_DLL"
   5.267      else
   5.268 -      TOOLCHAIN_SETUP_MSVC_DLL([MSVCP_DLL], [${MSVCP_NAME}])
   5.269 +      TOOLCHAIN_SETUP_MSVC_DLL([${MSVCP_NAME}])
   5.270 +      MSVCP_DLL="$MSVC_DLL"
   5.271      fi
   5.272 +    AC_SUBST(MSVCP_DLL)
   5.273    fi
   5.274  ])
   5.275  

mercurial