Bug 174195 - Upgrade MSVC to 2017
Summary: Upgrade MSVC to 2017
Status: RESOLVED DUPLICATE of bug 172412
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on:
Blocks: 174715
  Show dependency treegraph
 
Reported: 2017-07-05 21:54 PDT by Yusuke Suzuki
Modified: 2020-06-01 14:57 PDT (History)
5 users (show)

See Also:


Attachments
Patch (8.18 KB, patch)
2017-07-05 23:18 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2017-07-05 21:54:13 PDT
In r219186, GCC requirement is bumped to 5.0.0 at least.
It allows us to use full-feature of C++14 including relaxed-constexpr.

If we can upgrade MSVC to 2017, then WebKit can use relaxed-constexpr in the tree.
Comment 1 Yusuke Suzuki 2017-07-05 21:55:20 PDT
(In reply to Yusuke Suzuki from comment #0)
> In r219186, GCC requirement is bumped to 5.0.0 at least.
> It allows us to use full-feature of C++14 including relaxed-constexpr.
> 
> If we can upgrade MSVC to 2017, then WebKit can use relaxed-constexpr in the
> tree.

Compared to GCC version, upgrading MSVC version aggressively does not cause problems I think. In the case of GCC, upgrading GCC becomes a bit conservative due to toolchains used in embedded environment.
But, in the case of MSVC, basically it is only used in Windows.
Comment 2 Yusuke Suzuki 2017-07-05 23:18:24 PDT
Created attachment 314698 [details]
Patch
Comment 3 Alex Christensen 2017-07-06 09:32:56 PDT
Cool!
We will have to upgrade some internal infrastructure before doing this.
Comment 4 Don Olmstead 2017-07-07 11:17:15 PDT
Comment on attachment 314698 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314698&action=review

> Tools/EWSTools/start-queue-win.sh:15
> +    "$PROGRAMFILES/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat"

For our bot we use Visual Studio Build Tools 2017 https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch/T127 since there's no reason for a full install of VS for a build machine.

> Tools/Scripts/build-webkit:262
> +        die "Run \"C:/Program Files (x86)/Microsoft Visual Studio 15.0/VC/vcvarsall.bat\" before build-webkit when using ninja";

2017 let's you install wherever you like and have multiple instances of VS https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/ provides info on detecting a applicable tool chain
Comment 5 Yusuke Suzuki 2017-07-21 10:17:28 PDT
Comment on attachment 314698 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314698&action=review

>> Tools/EWSTools/start-queue-win.sh:15
>> +    "$PROGRAMFILES/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat"
> 
> For our bot we use Visual Studio Build Tools 2017 https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch/T127 since there's no reason for a full install of VS for a build machine.

That sounds very cool! Do you have any information about the directory structure of this Visual Studio Build Tools 2017?

>> Tools/Scripts/build-webkit:262
>> +        die "Run \"C:/Program Files (x86)/Microsoft Visual Studio 15.0/VC/vcvarsall.bat\" before build-webkit when using ninja";
> 
> 2017 let's you install wherever you like and have multiple instances of VS https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/ provides info on detecting a applicable tool chain

Oh, great, I'll look into this.
Comment 6 Don Olmstead 2017-08-15 12:01:43 PDT
We have https://bugs.webkit.org/show_bug.cgi?id=175279 outstanding. At that point we could create a script that gets the location of the installed Visual Studio 2017 instance.
Comment 7 Don Olmstead 2017-12-06 20:08:37 PST

*** This bug has been marked as a duplicate of bug 172412 ***
Comment 8 Maciej Stachowiak 2020-06-01 14:57:13 PDT
Comment on attachment 314698 [details]
Patch

Unflagging and obsoleting patch, since this bug has been resolved as a duplicate.