make/autoconf/toolchain_windows.m4
changeset 50073 35b22ca681d1
parent 49566 7c224ec572d0
child 50273 737a17045ffe
equal deleted inserted replaced
50072:54eda3aad6dd 50073:35b22ca681d1
    74 VS_DESCRIPTION_2017="Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING"
    74 VS_DESCRIPTION_2017="Microsoft Visual Studio 2017 - CURRENTLY NOT WORKING"
    75 VS_VERSION_INTERNAL_2017=141
    75 VS_VERSION_INTERNAL_2017=141
    76 VS_MSVCR_2017=vcruntime140.dll
    76 VS_MSVCR_2017=vcruntime140.dll
    77 VS_MSVCP_2017=msvcp140.dll
    77 VS_MSVCP_2017=msvcp140.dll
    78 VS_ENVVAR_2017="VS150COMNTOOLS"
    78 VS_ENVVAR_2017="VS150COMNTOOLS"
       
    79 VS_USE_UCRT_2017="true"
    79 VS_VS_INSTALLDIR_2017="Microsoft Visual Studio/2017"
    80 VS_VS_INSTALLDIR_2017="Microsoft Visual Studio/2017"
    80 VS_EDITIONS_2017="BuildTools Community Professional Enterprise"
    81 VS_EDITIONS_2017="BuildTools Community Professional Enterprise"
    81 VS_SDK_INSTALLDIR_2017=
    82 VS_SDK_INSTALLDIR_2017=
    82 VS_VS_PLATFORM_NAME_2017="v141"
    83 VS_VS_PLATFORM_NAME_2017="v141"
    83 VS_SDK_PLATFORM_NAME_2017=
    84 VS_SDK_PLATFORM_NAME_2017=
   262       eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
   263       eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
   263     fi
   264     fi
   264     eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
   265     eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
   265     eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
   266     eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
   266     eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
   267     eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
       
   268     eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
   267     eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
   269     eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
   268     VS_PATH="$TOOLCHAIN_PATH:$PATH"
   270     VS_PATH="$TOOLCHAIN_PATH:$PATH"
   269 
   271 
   270     # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
   272     # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
   271     # can still be exported as INCLUDE for compiler invocations without
   273     # can still be exported as INCLUDE for compiler invocations without
   307       TOOLCHAIN_VERSION=$VS_VERSION
   309       TOOLCHAIN_VERSION=$VS_VERSION
   308       eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
   310       eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
   309       eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
   311       eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
   310       eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
   312       eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
   311       eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
   313       eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
       
   314       eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
   312       # The rest of the variables are already evaled while probing
   315       # The rest of the variables are already evaled while probing
   313       AC_MSG_NOTICE([Found $VS_DESCRIPTION])
   316       AC_MSG_NOTICE([Found $VS_DESCRIPTION])
   314       break
   317       break
   315     fi
   318     fi
   316   done
   319   done
   430       AC_MSG_RESULT([ok])
   433       AC_MSG_RESULT([ok])
   431       # Remove any trailing "\" ";" and " " from the variables.
   434       # Remove any trailing "\" ";" and " " from the variables.
   432       VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
   435       VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
   433       VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
   436       VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
   434       VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
   437       VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
   435       WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'`
   438       WindowsSdkDir=`$ECHO "$WindowsSdkDir" | $SED 's/\\\\* *$//'`
   436       WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
   439       WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
       
   440       if test -z "$WINDOWSSDKDIR"; then
       
   441         WINDOWSSDKDIR="$WindowsSdkDir"
       
   442       fi
   437       # Remove any paths containing # (typically F#) as that messes up make. This
   443       # Remove any paths containing # (typically F#) as that messes up make. This
   438       # is needed if visual studio was installed with F# support.
   444       # is needed if visual studio was installed with F# support.
   439       VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'`
   445       VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'`
   440 
   446 
   441       AC_SUBST(VS_PATH)
   447       AC_SUBST(VS_PATH)
   537   MSVC_DLL=
   543   MSVC_DLL=
   538 
   544 
   539   if test "x$MSVC_DLL" = x; then
   545   if test "x$MSVC_DLL" = x; then
   540     if test "x$VCINSTALLDIR" != x; then
   546     if test "x$VCINSTALLDIR" != x; then
   541       CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
   547       CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
   542       BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VC_INSTALL_DIR)
   548       BASIC_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
   543       if test "$VS_VERSION" -lt 2017; then
   549       if test "$VS_VERSION" -lt 2017; then
   544         # Probe: Using well-known location from Visual Studio 12.0 and older
   550         # Probe: Using well-known location from Visual Studio 12.0 and older
   545         if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
   551         if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
   546           POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
   552           POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
   547         else
   553         else
   671       TOOLCHAIN_SETUP_MSVC_DLL([${MSVCP_NAME}])
   677       TOOLCHAIN_SETUP_MSVC_DLL([${MSVCP_NAME}])
   672       MSVCP_DLL="$MSVC_DLL"
   678       MSVCP_DLL="$MSVC_DLL"
   673     fi
   679     fi
   674     AC_SUBST(MSVCP_DLL)
   680     AC_SUBST(MSVCP_DLL)
   675   fi
   681   fi
       
   682 
       
   683   AC_ARG_WITH(ucrt-dll-dir, [AS_HELP_STRING([--with-ucrt-dll-dir],
       
   684       [path to Microsoft Windows Kit UCRT DLL dir (Windows only) @<:@probed@:>@])])
       
   685 
       
   686   if test "x$USE_UCRT" = "xtrue"; then
       
   687     AC_MSG_CHECKING([for UCRT DLL dir])
       
   688     if test "x$with_ucrt_dll_dir" != x; then
       
   689       if test -z "$(ls -d "$with_ucrt_dll_dir/*.dll" 2> /dev/null)"; then
       
   690         AC_MSG_RESULT([no])
       
   691         AC_MSG_ERROR([Could not find any dlls in $with_ucrt_dll_dir])
       
   692       else
       
   693         AC_MSG_RESULT([$with_ucrt_dll_dir])
       
   694         UCRT_DLL_DIR="$with_ucrt_dll_dir"
       
   695         BASIC_FIXUP_PATH([UCRT_DLL_DIR])
       
   696       fi
       
   697     elif test "x$DEVKIT_UCRT_DLL_DIR" != "x"; then
       
   698       UCRT_DLL_DIR="$DEVKIT_UCRT_DLL_DIR"
       
   699       AC_MSG_RESULT($UCRT_DLL_DIR)
       
   700     else
       
   701       CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
       
   702       BASIC_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
       
   703       dll_subdir=$OPENJDK_TARGET_CPU
       
   704       if test "x$dll_subdir" = "xx86_64"; then
       
   705         dll_subdir="x64"
       
   706       fi
       
   707       UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
       
   708       if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
       
   709         AC_MSG_RESULT([no])
       
   710         AC_MSG_ERROR([Could not find any dlls in $UCRT_DLL_DIR])
       
   711       else
       
   712         AC_MSG_RESULT($UCRT_DLL_DIR)
       
   713       fi
       
   714     fi
       
   715   else
       
   716     UCRT_DLL_DIR=
       
   717   fi
       
   718   AC_SUBST(UCRT_DLL_DIR)
   676 ])
   719 ])