From 582e85adf7426c70dd7c4702114cef888e7e049e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 5 Aug 2018 13:41:58 -0700 Subject: [PATCH] support Visual Studio 2017 Requires the Windows 8 SDK for now, I think. --- racket/src/worksp/genvsx.c | 5 ++++- racket/src/worksp/msvcprep.bat | 26 ++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/racket/src/worksp/genvsx.c b/racket/src/worksp/genvsx.c index 1766eb4ee9..8c7414ff85 100644 --- a/racket/src/worksp/genvsx.c +++ b/racket/src/worksp/genvsx.c @@ -87,7 +87,10 @@ int main() { const char *vers = "100"; int i; -#if _MSC_VER >= 1900 +#if _MSC_VER >= 1914 + /* VS 2017 */ + vers = "141"; +#elif _MSC_VER >= 1900 /* VS 2015 */ vers = "140"; #elif _MSC_VER >= 1800 diff --git a/racket/src/worksp/msvcprep.bat b/racket/src/worksp/msvcprep.bat index 067ebd058f..f1a545d2f2 100644 --- a/racket/src/worksp/msvcprep.bat +++ b/racket/src/worksp/msvcprep.bat @@ -4,22 +4,24 @@ REM Expects something like "x86", "amd64", or "x86_amd64" as an argument. set VCMODE=%1 -set VCVARBAT=C:\Program Files\Microsoft Visual Studio 14.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 14.0\vc\vcvarsall.bat +set Applications=%ProgramFiles(x86)% +if "%Applications%" == "" set Applications=%ProgramFiles% -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files\Microsoft Visual Studio 13.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 13.0\vc\vcvarsall.bat +set VCVARBAT=%Applications%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files\Microsoft Visual Studio 12.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 12.0\vc\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 14.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files\Microsoft Visual Studio 11.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 11.0\vc\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 13.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files\Microsoft Visual Studio 10.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 10.0\vc\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 12.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files\Microsoft Visual Studio 9.0\vc\vcvarsall.bat -if not exist "%VCVARBAT%" set VCVARBAT=C:\Program Files (x86)\Microsoft Visual Studio 9.0\vc\vcvarsall.bat +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 11.0\vc\vcvarsall.bat + +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 10.0\vc\vcvarsall.bat + +if not exist "%VCVARBAT%" set VCVARBAT=%Applications%\Microsoft Visual Studio 9.0\vc\vcvarsall.bat "%VCVARBAT%" %VCMODE%