diff options
author | Jan Kotas <jkotas@microsoft.com> | 2017-10-04 05:12:19 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-04 05:12:19 +0300 |
commit | d1223d2c92e1de67cebfa5c8668b67e6d6265d8c (patch) | |
tree | 3ced99ab743065aa833726a8979844c40edcd32b | |
parent | e1df35035d7388003b0234941de278f557ef314d (diff) |
Delete VS2015 support (#4660)
-rw-r--r-- | Documentation/how-to-build-and-run-ilcompiler-in-console-shell-prompt.md | 2 | ||||
-rw-r--r-- | Documentation/prerequisites-for-building.md | 2 | ||||
-rw-r--r-- | buildscripts/build-native.cmd | 7 | ||||
-rw-r--r-- | buildscripts/buildvars-setup.cmd | 43 | ||||
-rw-r--r-- | tests/CoreCLR/runtest/runtest.cmd | 33 | ||||
-rw-r--r-- | tests/runtest.cmd | 23 |
6 files changed, 29 insertions, 81 deletions
diff --git a/Documentation/how-to-build-and-run-ilcompiler-in-console-shell-prompt.md b/Documentation/how-to-build-and-run-ilcompiler-in-console-shell-prompt.md index 424dd958f..baf53f154 100644 --- a/Documentation/how-to-build-and-run-ilcompiler-in-console-shell-prompt.md +++ b/Documentation/how-to-build-and-run-ilcompiler-in-console-shell-prompt.md @@ -17,7 +17,7 @@ This will result in the following: # Install .NET Core 2.0 SDK * Download .NET Core 2.0 SDK from [https://www.microsoft.com/net/download/core](https://www.microsoft.com/net/download/core) -* On windows ensure you are using the 'x64 Native Tools Command Prompt for VS 2017' or 'VS2015 x64 Native Tools Command Prompt' +* On windows ensure you are using the 'x64 Native Tools Command Prompt for VS 2017' (This is distinct from the 'Developer Command Prompt for VS 2017') You should now be able to use the `dotnet` commands of the CLI tools. diff --git a/Documentation/prerequisites-for-building.md b/Documentation/prerequisites-for-building.md index ada124ca1..f4fc03d03 100644 --- a/Documentation/prerequisites-for-building.md +++ b/Documentation/prerequisites-for-building.md @@ -2,7 +2,7 @@ The following pre-requisites need to be installed for building the repo: # Windows (Windows 7+) -1. Install [Visual Studio 2017](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx), including Visual C++ support. Visual Studio 2015 also works. +1. Install [Visual Studio 2017](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx), including Visual C++ support. 2. Install [CMake](http://www.cmake.org/download/) 3.8.0 or later. Make sure you add it to the PATH in the setup wizard. 3. (Windows 7 only) Install PowerShell 3.0. It's part of [Windows Management Framework 3.0](http://go.microsoft.com/fwlink/?LinkID=240290). Windows 8 or later comes with the right version inbox. diff --git a/buildscripts/build-native.cmd b/buildscripts/build-native.cmd index 8f6e2fd97..e19bcca6d 100644 --- a/buildscripts/build-native.cmd +++ b/buildscripts/build-native.cmd @@ -35,12 +35,7 @@ echo. set __VCBuildArch=x86_amd64 if /i "%__BuildArch%" == "x86" (set __VCBuildArch=x86) -:: VS2017 changed the location of vcvarsall.bat. -if /i "%__VSVersion%" == "vs2017" ( - call "!VS%__VSProductVersion%COMNTOOLS!\..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% -) else ( - call "!VS%__VSProductVersion%COMNTOOLS!\..\..\VC\vcvarsall.bat" %__VCBuildArch% -) +call "!VS%__VSProductVersion%COMNTOOLS!\..\..\VC\Auxiliary\Build\vcvarsall.bat" %__VCBuildArch% :: Regenerate the build files :RegenerateBuildFiles diff --git a/buildscripts/buildvars-setup.cmd b/buildscripts/buildvars-setup.cmd index 1f3b96705..3437af549 100644 --- a/buildscripts/buildvars-setup.cmd +++ b/buildscripts/buildvars-setup.cmd @@ -104,33 +104,22 @@ for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy ByPass "& ""%__ :: Default to highest Visual Studio version available :: -:: For VS2015 (and prior), only a single instance is allowed to be installed on a box -:: and VS140COMNTOOLS is set as a global environment variable by the installer. This -:: allows users to locate where the instance of VS2015 is installed. -:: :: For VS2017, multiple instances can be installed on the same box SxS and VS150COMNTOOLS :: is no longer set as a global environment variable and is instead only set if the user :: has launched the VS2017 Developer Command Prompt. :: :: Following this logic, we will default to the VS2017 toolset if VS150COMNTOOLS tools is :: set, as this indicates the user is running from the VS2017 Developer Command Prompt and -:: is already configured to use that toolset. Otherwise, we will fallback to using the VS2015 -:: toolset if it is installed. Finally, we will fail the script if no supported VS instance +:: is already configured to use that toolset. Otherwise, we will fallback to using the latest +:: VS2017 toolset if it is installed. Finally, we will fail the script if no supported VS instance :: can be found. if defined VisualStudioVersion goto :RunVCVars -:: TODO: Remove: Prefer VS2015 by default to workaround CI issue -if not exist "%VS140COMNTOOLS%" goto TryVSWhere -call "%VS140COMNTOOLS%\VsDevCmd.bat" -goto :RunVCVars -:TryVSWhere - set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" if exist %_VSWHERE% ( for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools ) -if not exist "%_VSCOMNTOOLS%" set _VSCOMNTOOLS=%VS140COMNTOOLS% if not exist "%_VSCOMNTOOLS%" goto :MissingVersion call "%_VSCOMNTOOLS%\VsDevCmd.bat" @@ -138,13 +127,11 @@ call "%_VSCOMNTOOLS%\VsDevCmd.bat" :RunVCVars if "%VisualStudioVersion%"=="15.0" ( goto :VS2017 -) else if "%VisualStudioVersion%"=="14.0" ( - goto :VS2015 ) :MissingVersion -:: Can't find VS 2015 or 2017 -echo Visual Studio 2017 is a pre-requisite to build this repository. Visual Studio 2015 also works. +:: Can't find VS 2017 +echo Visual Studio 2017 is a pre-requisite to build this repository. echo See: https://github.com/dotnet/corert/blob/master/Documentation/prerequisites-for-building.md exit /b 1 @@ -155,28 +142,17 @@ set __VSProductVersion=150 if not exist "!VS%__VSProductVersion%COMNTOOLS!\..\..\VC\Auxiliary\Build\vcvarsall.bat" goto :MissingVisualC goto :CheckMSBuild -:VS2015 -:: Setup vars for VS2015 -set __VSVersion=vs2015 -set __VSProductVersion=140 -if not exist "!VS%__VSProductVersion%COMNTOOLS!\..\..\VC\vcvarsall.bat" goto :MissingVisualC -goto :CheckMSBuild - :MissingVisualC echo Could not find Visual C++ under !VS%__VSProductVersion%COMNTOOLS!. Visual C++ is a pre-requisite to build this repository. echo See: https://github.com/dotnet/corert/blob/master/Documentation/prerequisites-for-building.md exit /b 1 :CheckMSBuild -if /i "%__VSVersion%" == "vs2017" ( - rem The MSBuild that is installed in the shared location is not compatible - rem with VS2017 C++ projects. I must use the MSBuild located in - rem C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe - set _msbuildexe="%VSINSTALLDIR%\MSBuild\15.0\Bin\MSBuild.exe" -) else ( - set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe" - if not exist !_msbuildexe! (set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe") -) +rem The MSBuild that is installed in the shared location is not compatible +rem with VS2017 C++ projects. I must use the MSBuild located in +rem C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe +set _msbuildexe="%VSINSTALLDIR%\MSBuild\15.0\Bin\MSBuild.exe" + if not exist !_msbuildexe! (echo Error: Could not find MSBuild.exe. Please see https://github.com/dotnet/corert/blob/master/Documentation/prerequisites-for-building.md for build instructions. && exit /b 1) rem Explicitly set Platform causes conflicts in managed project files. Clear it to allow building from VS x64 Native Tools Command Prompt @@ -205,7 +181,6 @@ echo. echo./? -? /h -h /help -help: view this message. echo Build architecture: one of x64, x86, arm, wasm ^(default: x64^). echo Build type: one of Debug, Checked, Release ^(default: Debug^). -echo Visual Studio version: vs2015, vs2017 ^(defaults to highest detected^). echo clean: force a clean build ^(default is to perform an incremental build^). echo skiptests: skip building tests ^(default: tests are built^). exit /b 1 diff --git a/tests/CoreCLR/runtest/runtest.cmd b/tests/CoreCLR/runtest/runtest.cmd index f89a6fced..928f6057c 100644 --- a/tests/CoreCLR/runtest/runtest.cmd +++ b/tests/CoreCLR/runtest/runtest.cmd @@ -7,10 +7,8 @@ set __BuildType=Debug set __BuildOS=Windows_NT :: Default to highest Visual Studio version available -set __VSVersion=vs2015 - -if defined VS120COMNTOOLS set __VSVersion=vs2013 -if defined VS140COMNTOOLS set __VSVersion=vs2015 +set __VSVersion=vs2017 +set __VSProductVersion=150 :: Define a prefix for most output progress messages that come from this script. That makes :: it easier to see where these are coming from. Note that there is a trailing space here. @@ -48,9 +46,6 @@ if /i "%1" == "debug" (set __BuildType=Debug&shift&goto Arg_Loop if /i "%1" == "release" (set __BuildType=Release&shift&goto Arg_Loop) if /i "%1" == "checked" (set __BuildType=Checked&shift&goto Arg_Loop) -if /i "%1" == "vs2013" (set __VSVersion=%1&shift&goto Arg_Loop) -if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop) - if /i "%1" == "SkipWrapperGeneration" (set __SkipWrapperGeneration=true&shift&goto Arg_Loop) if /i "%1" == "Exclude" (set __Exclude=%2&shift&shift&goto Arg_Loop) if /i "%1" == "Exclude0" (set __Exclude0=%2&shift&shift&goto Arg_Loop) @@ -96,31 +91,15 @@ if not defined XunitTestReportDirBase set XunitTestReportDirBase=%XunitTestBinB if not exist %__LogsDir% md %__LogsDir% -set __VSProductVersion= -if /i "%__VSVersion%" == "vs2013" set __VSProductVersion=120 -if /i "%__VSVersion%" == "vs2015" set __VSProductVersion=140 - :: Check presence of VS if not defined VS%__VSProductVersion%COMNTOOLS goto NoVS set __VSToolsRoot=!VS%__VSProductVersion%COMNTOOLS! if %__VSToolsRoot:~-1%==\ set "__VSToolsRoot=%__VSToolsRoot:~0,-1%" -:: Does VS really exist? -if not exist "%__VSToolsRoot%\..\IDE\devenv.exe" goto NoVS -if not exist "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" goto NoVS -if not exist "%__VSToolsRoot%\VsDevCmd.bat" goto NoVS - -if /i "%__VSVersion%" =="vs2015" goto MSBuild14 -set _msbuildexe="%ProgramFiles(x86)%\MSBuild\12.0\Bin\MSBuild.exe" -if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\12.0\Bin\MSBuild.exe" -if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe" -goto :CheckMSBuild14 -:MSBuild14 -set _msbuildexe="%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe" -:CheckMSBuild14 -if not exist %_msbuildexe% set _msbuildexe="%ProgramFiles%\MSBuild\14.0\Bin\MSBuild.exe" -if not exist %_msbuildexe% echo Error: Could not find MSBuild.exe. Please see https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md for build instructions. && exit /b 1 +set _msbuildexe="%VSINSTALLDIR%\MSBuild\15.0\Bin\MSBuild.exe" + +if not exist !_msbuildexe! (echo Error: Could not find MSBuild.exe. Please see https://github.com/dotnet/corert/blob/master/Documentation/prerequisites-for-building.md for build instructions. && exit /b 1) :: Set the environment for the build- VS cmd prompt echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\VsDevCmd.bat" @@ -373,6 +352,6 @@ echo CORE_ROOT The path to the runtime exit /b 1 :NoVS -echo Visual Studio 2013+ ^(Community is free^) is a prerequisite to build this repository. +echo Visual Studio 2017 ^(Community is free^) is a prerequisite to build this repository. echo See: https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md#prerequisites exit /b 1 diff --git a/tests/runtest.cmd b/tests/runtest.cmd index fc2cf9c8a..684234174 100644 --- a/tests/runtest.cmd +++ b/tests/runtest.cmd @@ -14,10 +14,6 @@ set CoreRT_CoreCLRTargetsFile= set CoreRT_TestLogFileName=testresults.xml set CoreRT_TestName=* -:: Default to highest Visual Studio version available -set CoreRT_VSVersion=vs2015 -if defined VS150COMNTOOLS set CoreRT_VSVersion=vs2017 - :ArgLoop if "%1" == "" goto :ArgsDone if /i "%1" == "/?" goto :Usage @@ -25,9 +21,6 @@ if /i "%1" == "x64" (set CoreRT_BuildArch=x64&&shift&goto ArgLoop) if /i "%1" == "x86" (set CoreRT_BuildArch=x86&&shift&goto ArgLoop) if /i "%1" == "arm" (set CoreRT_BuildArch=arm&&shift&goto ArgLoop) -if /i "%1" == "vs2017" (set CoreRT_VSVersion=vs2017&shift&goto Arg_Loop) -if /i "%1" == "vs2015" (set CoreRT_VSVersion=vs2015&shift&goto Arg_Loop) - if /i "%1" == "debug" (set CoreRT_BuildType=Debug&shift&goto ArgLoop) if /i "%1" == "release" (set CoreRT_BuildType=Release&shift&goto ArgLoop) if /i "%1" == "/coreclr" ( @@ -110,13 +103,19 @@ if NOT "%CoreRT_MultiFileConfiguration%" == "" ( set __LogDir=%CoreRT_TestRoot%\..\bin\Logs\%__BuildStr%\tests -:: VS2017 changed the location of vcvarsall.bat. -if /i "%__VSVersion%" == "vs2017" ( - call "!VS150COMNTOOLS!\..\..\VC\Auxiliary\Build\vcvarsall.bat" %CoreRT_BuildArch% -) else ( - call "!VS140COMNTOOLS!\..\..\VC\vcvarsall.bat" %CoreRT_BuildArch% +if defined VisualStudioVersion goto :RunVCVars + +set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" +if exist %_VSWHERE% ( + for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools ) +call "%_VSCOMNTOOLS%\VsDevCmd.bat" + +:RunVCVars + +call "!VS150COMNTOOLS!\..\..\VC\Auxiliary\Build\vcvarsall.bat" %CoreRT_BuildArch% + if "%CoreRT_RunCoreCLRTests%"=="true" goto :TestExtRepo if /i "%__BuildType%"=="Debug" ( |