<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[225563] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/225563">225563</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-12-05 18:18:57 -0800 (Tue, 05 Dec 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Switch windows build to Visual Studio 2017
https://bugs.webkit.org/show_bug.cgi?id=172412

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-12-05
Reviewed by Per Arne Vollan.

.:

* Source/cmake/OptionsMSVC.cmake:

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCore.proj:

Source/WebCore:

Only changes proj file to update generator

* WebCore.vcxproj/WebCore.proj:

Source/WebKitLegacy:

* WebKitLegacy.vcxproj/WebKitLegacy.proj:

Source/WTF:

* WTF.vcxproj/WTF.proj:
* wtf/Compiler.h:

Tools:

* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(visualStudioInstallDir):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(setupAppleWinEnv):
(setupCygwinEnv):
(generateBuildSystemFromCMakeProject):
(pickLegacyVisualStudioInstallation): Deleted.
(visualStudioInstallDirLegacy): Deleted.
(visualStudioVersion): Deleted.
(visualStudioVersionFromInstallDir): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFWTFvcxprojWTFproj">trunk/Source/WTF/WTF.vcxproj/WTF.proj</a></li>
<li><a href="#trunkSourceWTFwtfCompilerh">trunk/Source/WTF/wtf/Compiler.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCoreproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj</a></li>
<li><a href="#trunkSourceWebKitLegacyChangeLog">trunk/Source/WebKitLegacy/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacyWebKitLegacyvcxprojWebKitLegacyproj">trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj</a></li>
<li><a href="#trunkSourcecmakeOptionsMSVCcmake">trunk/Source/cmake/OptionsMSVC.cmake</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptsbuildwebkit">trunk/Tools/Scripts/build-webkit</a></li>
<li><a href="#trunkToolsScriptswebkitdirspm">trunk/Tools/Scripts/webkitdirs.pm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog  2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/ChangeLog     2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        * Source/cmake/OptionsMSVC.cmake:
+
</ins><span class="cx"> 2017-12-01  Konstantin Tokarev  <annulen@yandex.ru>
</span><span class="cx"> 
</span><span class="cx">         [cmake] Make description of ENABLE_DRAG_SUPPORT more informative
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog    2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/JavaScriptCore/ChangeLog       2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        * JavaScriptCore.vcxproj/JavaScriptCore.proj:
+
</ins><span class="cx"> 2017-12-05  JF Bastien  <jfbastien@apple.com>
</span><span class="cx"> 
</span><span class="cx">         WebAssembly: don't eagerly checksum
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj   2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj      2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -54,9 +54,9 @@
</span><span class="cx">   <Target Name="Build" AfterTargets="PreBuild">
</span><span class="cx">     <Message Text="Building $(CONFIGURATION) Solution" />
</span><span class="cx">     <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 14 2015&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 15 2017&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 14 2015 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 15 2017 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</span><span class="cx">   </Target>
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog       2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WTF/ChangeLog  2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        * WTF.vcxproj/WTF.proj:
+        * wtf/Compiler.h:
+
</ins><span class="cx"> 2017-12-05  Andy Estes  <aestes@apple.com>
</span><span class="cx"> 
</span><span class="cx">         [Darwin] Simplify use of TargetConditionals
</span></span></pre></div>
<a id="trunkSourceWTFWTFvcxprojWTFproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/WTF.vcxproj/WTF.proj (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/WTF.vcxproj/WTF.proj    2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WTF/WTF.vcxproj/WTF.proj       2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -46,9 +46,9 @@
</span><span class="cx">   <Target Name="Build" AfterTargets="PreBuild">
</span><span class="cx">     <Message Text="Building $(CONFIGURATION) Solution" />
</span><span class="cx">     <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 14 2015&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 15 2017&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 14 2015 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 15 2017 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</span><span class="cx">   </Target>
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtfCompilerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Compiler.h (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Compiler.h  2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WTF/wtf/Compiler.h     2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -130,8 +130,8 @@
</span><span class="cx"> #define WTF_COMPILER_MSVC 1
</span><span class="cx"> #define WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS 1
</span><span class="cx"> 
</span><del>-#if _MSC_VER < 1900
-#error "Please use a newer version of Visual Studio. WebKit requires VS2015 or newer to compile."
</del><ins>+#if _MSC_VER < 1910
+#error "Please use a newer version of Visual Studio. WebKit requires VS2017 or newer to compile."
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WebCore/ChangeLog      2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        Only changes proj file to update generator
+
+        * WebCore.vcxproj/WebCore.proj:
+
</ins><span class="cx"> 2017-12-05  Brent Fulgham  <bfulgham@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Limit user agent versioning to an upper bound
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCoreproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj        2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.proj   2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -54,9 +54,9 @@
</span><span class="cx">   <Target Name="Build" AfterTargets="PreBuild">
</span><span class="cx">     <Message Text="Building $(CONFIGURATION) Solution" />
</span><span class="cx">     <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 14 2015&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 15 2017&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 14 2015 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 15 2017 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</span><span class="cx">   </Target>
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitLegacyChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/ChangeLog      2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WebKitLegacy/ChangeLog 2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        * WebKitLegacy.vcxproj/WebKitLegacy.proj:
+
</ins><span class="cx"> 2017-11-27  Don Olmstead  <don.olmstead@sony.com>
</span><span class="cx"> 
</span><span class="cx">         [CMake][Win] Conditionally select DLL CRT or static CRT
</span></span></pre></div>
<a id="trunkSourceWebKitLegacyWebKitLegacyvcxprojWebKitLegacyproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj 2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj    2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -54,9 +54,9 @@
</span><span class="cx">   <Target Name="Build" AfterTargets="PreBuild">
</span><span class="cx">     <Message Text="Building $(CONFIGURATION) Solution" />
</span><span class="cx">     <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 14 2015&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86=1 -G &quot;Visual Studio 15 2017&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
</span><del>-       <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 14 2015 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</del><ins>+        <Exec Command="$(CMakeCommandCommon) -DWTF_CPU_X86_64=1 -G &quot;Visual Studio 15 2017 Win64&quot;" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</ins><span class="cx">   <Exec Command="msbuild Project.sln /p:Configuration=$(CONFIG)" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
</span><span class="cx">   </Target>
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourcecmakeOptionsMSVCcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsMSVC.cmake (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsMSVC.cmake     2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Source/cmake/OptionsMSVC.cmake        2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -97,10 +97,11 @@
</span><span class="cx"> set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
</span><span class="cx"> 
</span><span class="cx"> if (COMPILER_IS_CLANG_CL)
</span><del>-    # FIXME: We need to set the msc-version above the one it defaults to
-    # when using clang-cl with VS2015. This might be unnecessary when moving to
-    # VS2017 as part of https://bugs.webkit.org/show_bug.cgi?id=172412
-    add_compile_options(-fmsc-version=190023918)
</del><ins>+    # FIXME: The clang-cl visual studio integration seemed to set
+    # this to 1900 explicitly even when building in VS2017 with the
+    # newest toolset option, but we want to be versioned to match
+    # VS2017.
+    add_compile_options(-fmsc-version=1911)
</ins><span class="cx"> 
</span><span class="cx">     # FIXME: Building with clang-cl seemed to fail with 128 bit int support
</span><span class="cx">     set(HAVE_INT128_T OFF)
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog    2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Tools/ChangeLog       2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
+
+        Switch windows build to Visual Studio 2017
+        https://bugs.webkit.org/show_bug.cgi?id=172412
+
+        Reviewed by Per Arne Vollan.
+
+        * Scripts/build-webkit:
+        * Scripts/webkitdirs.pm:
+        (visualStudioInstallDir):
+        (visualStudioInstallDirFallback):
+        (msBuildInstallDir):
+        (setupAppleWinEnv):
+        (setupCygwinEnv):
+        (generateBuildSystemFromCMakeProject):
+        (pickLegacyVisualStudioInstallation): Deleted.
+        (visualStudioInstallDirLegacy): Deleted.
+        (visualStudioVersion): Deleted.
+        (visualStudioVersionFromInstallDir): Deleted.
+
</ins><span class="cx"> 2017-12-05  Alex Christensen  <achristensen@webkit.org>
</span><span class="cx"> 
</span><span class="cx">         Fix crash when loading a file URL that does not have a fileSystemPath representation
</span></span></pre></div>
<a id="trunkToolsScriptsbuildwebkit"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/build-webkit (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/build-webkit 2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Tools/Scripts/build-webkit    2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -288,7 +288,7 @@
</span><span class="cx"> 
</span><span class="cx">     chdirWebKit();
</span><span class="cx">     if (exitStatus(generateBuildSystemFromCMakeProject($prefixPath, @cmakeArgs))) {
</span><del>-        die "Run \"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat\" before build-webkit when using ninja";
</del><ins>+        die "Run Visual Studio 2017 installation vcvars.bat before build-webkit when using ninja";
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     exit 0 if isGenerateProjectOnly();
</span></span></pre></div>
<a id="trunkToolsScriptswebkitdirspm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitdirs.pm (225562 => 225563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitdirs.pm        2017-12-06 01:59:53 UTC (rev 225562)
+++ trunk/Tools/Scripts/webkitdirs.pm   2017-12-06 02:18:57 UTC (rev 225563)
</span><span class="lines">@@ -161,7 +161,6 @@
</span><span class="cx"> my $winVersion;
</span><span class="cx"> my $willUseVCExpressWhenBuilding = 0;
</span><span class="cx"> my $vsWhereFoundInstallation;
</span><del>-my $vsWhereLegacyInstallation;
</del><span class="cx"> 
</span><span class="cx"> # Defined in VCSUtils.
</span><span class="cx"> sub exitStatus($);
</span><span class="lines">@@ -634,37 +633,6 @@
</span><span class="cx">     return undef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub pickLegacyVisualStudioInstallation
-{
-    return $vsWhereLegacyInstallation if defined $vsWhereLegacyInstallation;
-
-    requireModulesForVSWhere();
-    determineSourceDir();
-
-    my $vsWhereOut = `$sourceDir/WebKitLibraries/win/tools/vswhere -nologo -legacy -format json`;
-    my $installations_all = [];
-    eval {
-        $installations_all = JSON::PP::decode_json(Encode::encode('UTF-8' => Encode::decode(console_in => $vsWhereOut)));
-    };
-    print "Error getting Visual Studio Legacy Location: $@\n" if $@;
-    undef $@;
-
-    # It's possible that a non-legacy installation without msbuild
-    # would not be found by the latest, but would be found by this
-    # vswhere call, and we want to skip those, so check for versions
-    # with an installation version before 15.0.
-    my @installations = grep { $_->{installationVersion} < 15 } @$installations_all;
-
-    # We don't get much information that would let us choose between
-    # legacy installations, so we'll take the first.
-    if (scalar @installations) {
-        my $installation = $installations[0];
-        $vsWhereLegacyInstallation = $installation;
-        return $installation;
-    }
-    return undef;
-}
-
</del><span class="cx"> sub visualStudioInstallDir
</span><span class="cx"> {
</span><span class="cx">     return $vsInstallDir if defined $vsInstallDir;
</span><span class="lines">@@ -675,11 +643,7 @@
</span><span class="cx">     } else {
</span><span class="cx">         $vsInstallDir = visualStudioInstallDirVSWhere();
</span><span class="cx">         if (not -e $vsInstallDir) {
</span><del>-            $vsInstallDir = visualStudioInstallDirLegacy();
-        }
-        if (not -e $vsInstallDir) {
</del><span class="cx">             $vsInstallDir = visualStudioInstallDirFallback();
</span><del>-            print "Fallback $vsInstallDir\n";
</del><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     chomp($vsInstallDir = `cygpath "$vsInstallDir"`) if isCygwin();
</span><span class="lines">@@ -697,15 +661,6 @@
</span><span class="cx">     return undef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub visualStudioInstallDirLegacy
-{
-    pickLegacyVisualStudioInstallation();
-    if (defined($vsWhereLegacyInstallation)) {
-        return $vsWhereLegacyInstallation->{installationPath};
-    }
-    return undef;
-}
-
</del><span class="cx"> sub visualStudioInstallDirFallback
</span><span class="cx"> {
</span><span class="cx">     foreach my $productType ((
</span><span class="lines">@@ -721,7 +676,7 @@
</span><span class="cx">             return $installdir;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    return File::Spec->catdir(programFilesPathX86(), "Microsoft Visual Studio 14.0");
</del><ins>+    return undef;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub msBuildInstallDir
</span><span class="lines">@@ -728,15 +683,9 @@
</span><span class="cx"> {
</span><span class="cx">     return $msBuildInstallDir if defined $msBuildInstallDir;
</span><span class="cx"> 
</span><del>-    my $version = visualStudioVersion();
-    if ($version >= 15.0) {
-        my $installDir = visualStudioInstallDir();
-        $msBuildInstallDir = File::Spec->catdir($installDir,
-            "MSBuild", $version, "bin");
-    } else {
-        $msBuildInstallDir = File::Spec->catdir(programFilesPathX86(), 
-            "MSBuild", "14.0", "Bin")
-    }
</del><ins>+    my $installDir = visualStudioInstallDir();
+    $msBuildInstallDir = File::Spec->catdir($installDir,
+        "MSBuild", "15.0", "bin");
</ins><span class="cx"> 
</span><span class="cx">     chomp($msBuildInstallDir = `cygpath "$msBuildInstallDir"`) if isCygwin();
</span><span class="cx"> 
</span><span class="lines">@@ -744,35 +693,6 @@
</span><span class="cx">     return $msBuildInstallDir;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-sub visualStudioVersion
-{
-    return $vsVersion if defined $vsVersion;
-
-    my $installDir = visualStudioInstallDir();
-    $vsVersion = visualStudioVersionFromInstallDir($installDir);
-
-    print "Using Visual Studio $vsVersion\n";
-    return $vsVersion;
-}
-
-sub visualStudioVersionFromInstallDir
-{
-    my ($dir) = @_;
-    my $version;
-
-    if ($dir =~ m|Microsoft Visual Studio[/\\]2017|) {
-        $version = "15.0";
-    }
-
-    if (!defined($version)) {
-        if ($dir =~ /Microsoft Visual Studio ([0-9]+\.[0-9]*)/) {
-            $version = $1;
-        }
-    }
-
-    return $version;
-}
-
</del><span class="cx"> sub determineConfigurationForVisualStudio
</span><span class="cx"> {
</span><span class="cx">     return if defined $configurationForVisualStudio;
</span><span class="lines">@@ -1858,13 +1778,13 @@
</span><span class="cx">     } else {
</span><span class="cx">         if (!defined $ENV{'WEBKIT_LIBRARIES'} || !$ENV{'WEBKIT_LIBRARIES'}) {
</span><span class="cx">             print "Warning: You must set the 'WebKit_Libraries' environment variable\n";
</span><del>-            print "         to be able build WebKit from within Visual Studio 2013 and newer.\n";
</del><ins>+            print "         to be able build WebKit from within Visual Studio 2017 and newer.\n";
</ins><span class="cx">             print "         Make sure that 'WebKit_Libraries' points to the\n";
</span><span class="cx">             print "         'WebKitLibraries/win' directory, not the 'WebKitLibraries/' directory.\n\n";
</span><span class="cx">         }
</span><span class="cx">         if (!defined $ENV{'WEBKIT_OUTPUTDIR'} || !$ENV{'WEBKIT_OUTPUTDIR'}) {
</span><span class="cx">             print "Warning: You must set the 'WebKit_OutputDir' environment variable\n";
</span><del>-            print "         to be able build WebKit from within Visual Studio 2013 and newer.\n\n";
</del><ins>+            print "         to be able build WebKit from within Visual Studio 2017 and newer.\n\n";
</ins><span class="cx">         }
</span><span class="cx">         if (!defined $ENV{'MSBUILDDISABLENODEREUSE'} || !$ENV{'MSBUILDDISABLENODEREUSE'}) {
</span><span class="cx">             print "Warning: You should set the 'MSBUILDDISABLENODEREUSE' environment variable to '1'\n";
</span><span class="lines">@@ -1885,12 +1805,7 @@
</span><span class="cx"> 
</span><span class="cx">     my $programFilesPath = programFilesPath();
</span><span class="cx">     my $visualStudioPath = File::Spec->catfile(visualStudioInstallDir(), qw(Common7 IDE devenv.com));
</span><del>-    if (-e $visualStudioPath) {
-        # Visual Studio is installed;
-        if (visualStudioVersion() eq "12") {
-            $visualStudioPath = File::Spec->catfile(visualStudioInstallDir(), qw(Common7 IDE devenv.exe));
-        }
-    } else {
</del><ins>+    if (!-e $visualStudioPath) {
</ins><span class="cx">         # Visual Studio not found, try VC++ Express
</span><span class="cx">         $visualStudioPath = File::Spec->catfile(visualStudioInstallDir(), qw(Common7 IDE WDExpress.exe));
</span><span class="cx">         if (! -e $visualStudioPath) {
</span><span class="lines">@@ -1897,7 +1812,7 @@
</span><span class="cx">             print "*************************************************************\n";
</span><span class="cx">             print "Cannot find '$visualStudioPath'\n";
</span><span class="cx">             print "Please execute the file 'vcvars32.bat' from\n";
</span><del>-            print "'$programFilesPath\\Microsoft Visual Studio 14.0\\VC\\bin\\'\n";
</del><ins>+            print "your Visual Studio 2017 installation\n";
</ins><span class="cx">             print "to setup the necessary environment variables.\n";
</span><span class="cx">             print "*************************************************************\n";
</span><span class="cx">             die;
</span><span class="lines">@@ -2224,11 +2139,7 @@
</span><span class="cx">             push @args, "Ninja";
</span><span class="cx">         }
</span><span class="cx">     } elsif (isAnyWindows() && isWin64()) {
</span><del>-        if (visualStudioVersion() >= 15) {
-            push @args, '-G "Visual Studio 15 2017 Win64"';
-        } else {
-            push @args, '-G "Visual Studio 14 2015 Win64"';
-        }
</del><ins>+        push @args, '-G "Visual Studio 15 2017 Win64"';
</ins><span class="cx">     }
</span><span class="cx">     # Do not show progress of generating bindings in interactive Ninja build not to leave noisy lines on tty
</span><span class="cx">     push @args, '-DSHOW_BINDINGS_GENERATION_PROGRESS=1' unless ($willUseNinja && -t STDOUT);
</span></span></pre>
</div>
</div>

</body>
</html>