common/autoconf/toolchain_windows.m4

changeset 2333
1c0d5a15ab4c
parent 2228
1a5c98aae346
child 2384
b45bf475c2ca
child 2480
fe8417a1ea8c
equal deleted inserted replaced
2332:21d41d977059 2333:1c0d5a15ab4c
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="Community Professional Enterprise" 81 VS_EDITIONS_2017="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=
263 eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}" 264 eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
264 fi 265 fi
265 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}" 266 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
266 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}" 267 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
267 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}" 268 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
269 eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
268 eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}" 270 eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
269 VS_PATH="$TOOLCHAIN_PATH:$PATH" 271 VS_PATH="$TOOLCHAIN_PATH:$PATH"
270 272
271 # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it 273 # Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
272 # can still be exported as INCLUDE for compiler invocations without 274 # can still be exported as INCLUDE for compiler invocations without
308 TOOLCHAIN_VERSION=$VS_VERSION 310 TOOLCHAIN_VERSION=$VS_VERSION
309 eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}" 311 eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
310 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}" 312 eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
311 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}" 313 eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
312 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}" 314 eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
315 eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
313 # The rest of the variables are already evaled while probing 316 # The rest of the variables are already evaled while probing
314 AC_MSG_NOTICE([Found $VS_DESCRIPTION]) 317 AC_MSG_NOTICE([Found $VS_DESCRIPTION])
315 break 318 break
316 fi 319 fi
317 done 320 done
431 AC_MSG_RESULT([ok]) 434 AC_MSG_RESULT([ok])
432 # Remove any trailing "\" and " " from the variables. 435 # Remove any trailing "\" and " " from the variables.
433 VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` 436 VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'`
434 VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` 437 VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'`
435 VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` 438 VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
436 WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` 439 WindowsSdkDir=`$ECHO "$WindowsSdkDir" | $SED 's/\\\\* *$//'`
437 WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` 440 WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
441 if test -z "$WINDOWSSDKDIR"; then
442 WINDOWSSDKDIR="$WindowsSdkDir"
443 fi
438 # Remove any paths containing # (typically F#) as that messes up make. This 444 # Remove any paths containing # (typically F#) as that messes up make. This
439 # is needed if visual studio was installed with F# support. 445 # is needed if visual studio was installed with F# support.
440 VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'` 446 VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'`
441 447
442 AC_SUBST(VS_PATH) 448 AC_SUBST(VS_PATH)
503 MSVC_DLL= 509 MSVC_DLL=
504 510
505 if test "x$MSVC_DLL" = x; then 511 if test "x$MSVC_DLL" = x; then
506 if test "x$VCINSTALLDIR" != x; then 512 if test "x$VCINSTALLDIR" != x; then
507 CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR" 513 CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
508 BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VC_INSTALL_DIR) 514 BASIC_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
509 if test "$VS_VERSION" -lt 2017; then 515 if test "$VS_VERSION" -lt 2017; then
510 # Probe: Using well-known location from Visual Studio 12.0 and older 516 # Probe: Using well-known location from Visual Studio 12.0 and older
511 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then 517 if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
512 POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME" 518 POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
513 else 519 else
637 TOOLCHAIN_SETUP_MSVC_DLL([${MSVCP_NAME}]) 643 TOOLCHAIN_SETUP_MSVC_DLL([${MSVCP_NAME}])
638 MSVCP_DLL="$MSVC_DLL" 644 MSVCP_DLL="$MSVC_DLL"
639 fi 645 fi
640 AC_SUBST(MSVCP_DLL) 646 AC_SUBST(MSVCP_DLL)
641 fi 647 fi
642 ]) 648
643 649 AC_ARG_WITH(ucrt-dll-dir, [AS_HELP_STRING([--with-ucrt-dll-dir],
650 [path to Microsoft Windows Kit UCRT DLL dir (Windows only) @<:@probed@:>@])])
651
652 if test "x$USE_UCRT" = "xtrue"; then
653 AC_MSG_CHECKING([for UCRT DLL dir])
654 if test "x$with_ucrt_dll_dir" != x; then
655 if test -z "$(ls -d "$with_ucrt_dll_dir/*.dll" 2> /dev/null)"; then
656 AC_MSG_RESULT([no])
657 AC_MSG_ERROR([Could not find any dlls in $with_ucrt_dll_dir])
658 else
659 AC_MSG_RESULT([$with_ucrt_dll_dir])
660 UCRT_DLL_DIR="$with_ucrt_dll_dir"
661 BASIC_FIXUP_PATH([UCRT_DLL_DIR])
662 fi
663 elif test "x$DEVKIT_UCRT_DLL_DIR" != "x"; then
664 UCRT_DLL_DIR="$DEVKIT_UCRT_DLL_DIR"
665 AC_MSG_RESULT($UCRT_DLL_DIR)
666 else
667 CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
668 BASIC_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
669 dll_subdir=$OPENJDK_TARGET_CPU
670 if test "x$dll_subdir" = "xx86_64"; then
671 dll_subdir="x64"
672 fi
673 UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
674 if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
675 AC_MSG_RESULT([no])
676 AC_MSG_ERROR([Could not find any dlls in $UCRT_DLL_DIR])
677 else
678 AC_MSG_RESULT($UCRT_DLL_DIR)
679 fi
680 fi
681 else
682 UCRT_DLL_DIR=
683 fi
684 AC_SUBST(UCRT_DLL_DIR)
685 ])
686

mercurial