--- a/make/autoconf/toolchain.m4 Fri Dec 14 17:08:58 2018 -0800
+++ b/make/autoconf/toolchain.m4 Fri Dec 14 17:12:14 2018 -0800
@@ -281,13 +281,13 @@
TOOLCHAIN_CC_BINARY_clang="clang"
TOOLCHAIN_CC_BINARY_gcc="gcc"
- TOOLCHAIN_CC_BINARY_microsoft="cl"
+ TOOLCHAIN_CC_BINARY_microsoft="cl$EXECUTABLE_SUFFIX"
TOOLCHAIN_CC_BINARY_solstudio="cc"
TOOLCHAIN_CC_BINARY_xlc="xlc_r"
TOOLCHAIN_CXX_BINARY_clang="clang++"
TOOLCHAIN_CXX_BINARY_gcc="g++"
- TOOLCHAIN_CXX_BINARY_microsoft="cl"
+ TOOLCHAIN_CXX_BINARY_microsoft="cl$EXECUTABLE_SUFFIX"
TOOLCHAIN_CXX_BINARY_solstudio="CC"
TOOLCHAIN_CXX_BINARY_xlc="xlC_r"
@@ -333,9 +333,17 @@
if test "x$OPENJDK_BUILD_OS" = "xwindows" \
&& test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
- # Reset path to VS_PATH. It will include everything that was on PATH at the time we
- # ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV.
- PATH="$VS_PATH"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
+ # Append VS_PATH
+ BASIC_APPEND_TO_PATH(PATH, $VS_PATH)
+ BASIC_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
+ export WSLENV
+ else
+ # Reset path to VS_PATH. It will include everything that was on PATH at the time we
+ # ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV.
+ BASIC_APPEND_TO_PATH(PATH, $VS_PATH)
+ AC_MSG_NOTICE(PATH $PATH)
+ fi
# The microsoft toolchain also requires INCLUDE and LIB to be set.
export INCLUDE="$VS_INCLUDE"
export LIB="$VS_LIB"
@@ -430,7 +438,7 @@
# There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
- COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ COMPILER_VERSION_OUTPUT=`"$COMPILER" 2>&1 | $GREP -v 'ERROR.*UtilTranslatePathList' | $HEAD -n 1 | $TR -d '\r'`
# Check that this is likely to be Microsoft CL.EXE.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
if test $? -ne 0; then
@@ -698,7 +706,7 @@
# In the Microsoft toolchain we have a separate LD command "link".
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
- AC_CHECK_PROG([LD], [link],[link],,, [$CYGWIN_LINK])
+ AC_CHECK_PROG([LD], [link.exe],[link.exe],,, [$CYGWIN_LINK])
BASIC_FIXUP_EXECUTABLE(LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
@@ -750,7 +758,7 @@
#
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# The corresponding ar tool is lib.exe (used to create static libraries)
- AC_CHECK_PROG([AR], [lib],[lib],,,)
+ AC_CHECK_PROG([AR], [lib.exe],[lib.exe],,,)
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(AR, ar gcc-ar)
else
@@ -774,12 +782,12 @@
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
- AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt])
+ AC_CHECK_PROG([MT], [mt.exe], [mt.exe],,, [/usr/bin/mt])
BASIC_FIXUP_EXECUTABLE(MT)
# Setup the resource compiler (RC)
- AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc])
+ AC_CHECK_PROG([RC], [rc.exe], [rc.exe],,, [/usr/bin/rc])
BASIC_FIXUP_EXECUTABLE(RC)
- AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
+ AC_CHECK_PROG([DUMPBIN], [dumpbin.exe], [dumpbin.exe],,,)
BASIC_FIXUP_EXECUTABLE(DUMPBIN)
# We need to check for 'msbuild.exe' because at the place where we expect to
# find 'msbuild.exe' there's also a directory called 'msbuild' and configure
@@ -999,7 +1007,7 @@
# Check for extra potential brokenness.
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# On Windows, double-check that we got the right compiler.
- CC_VERSION_OUTPUT=`$CC 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ CC_VERSION_OUTPUT=`$CC 2>&1 | $GREP -v 'ERROR.*UtilTranslatePathList' | $HEAD -n 1 | $TR -d '\r'`
COMPILER_CPU_TEST=`$ECHO $CC_VERSION_OUTPUT | $SED -n "s/^.* \(.*\)$/\1/p"`
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
if test "x$COMPILER_CPU_TEST" != "x80x86" -a "x$COMPILER_CPU_TEST" != "xx86"; then