Bug 147887 - [Win] Switch Windows build to Visual Studio 2015
Summary: [Win] Switch Windows build to Visual Studio 2015
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-08-11 11:34 PDT by Brent Fulgham
Modified: 2015-08-11 14:03 PDT (History)
9 users (show)

See Also:


Attachments
Patch (223.45 KB, patch)
2015-08-11 11:50 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff
Patch (227.41 KB, patch)
2015-08-11 12:41 PDT, Brent Fulgham
achristensen: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2015-08-11 11:34:23 PDT
Switch the target compiler and build environment to use Visual Studio 2015.
Comment 1 Brent Fulgham 2015-08-11 11:44:38 PDT
<rdar://problem/22235098>
Comment 2 Brent Fulgham 2015-08-11 11:50:18 PDT
Created attachment 258731 [details]
Patch
Comment 3 WebKit Commit Bot 2015-08-11 11:52:58 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment 4 Alex Christensen 2015-08-11 12:23:55 PDT
Comment on attachment 258731 [details]
Patch

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

Hooray! I'm pretty sure I'll r+ the next patch.
May as well change my comment in the build-webkit script about vcvarsall.bat, too.

> Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:58
> +    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>

Will the binary still work on Windows 7 and vista?

> Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:83
> -    <PlatformToolset>v120_xp</PlatformToolset>
> +    <PlatformToolset>v140_xp</PlatformToolset>

This should change v120_xp to v140.  I don't think there is a v140_xp toolset.

> Tools/Scripts/webkitdirs.pm:508
> -        $vsInstallDir = File::Spec->catdir(programFilesPath(), "Microsoft Visual Studio 12.0");
> +        $vsInstallDir = File::Spec->catdir(programFilesPath(), "Microsoft Visual Studio 14.0");
> +        if (! -e $vsInstallDir) {
> +            $vsInstallDir = File::Spec->catdir(programFilesPath(), "Microsoft Visual Studio 12.0");
> +        }

vs2015 has to be installed for the v140 toolset to be installed, so I don't think this fallback is necessary or helpful.
Comment 5 Brent Fulgham 2015-08-11 12:41:46 PDT
Comment on attachment 258731 [details]
Patch

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

>> Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:58
>> +    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
> 
> Will the binary still work on Windows 7 and vista?

Yes. This new field is apparently comparable to the v140 setting. The ability to execute the code is set to Windows 7.1 through the WINVER=0x601 setting.

>> Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:83
>> +    <PlatformToolset>v140_xp</PlatformToolset>
> 
> This should change v120_xp to v140.  I don't think there is a v140_xp toolset.

Agreed! I've corrected this.

>> Tools/Scripts/webkitdirs.pm:508
>> +        }
> 
> vs2015 has to be installed for the v140 toolset to be installed, so I don't think this fallback is necessary or helpful.

OK. We should also ditch the MSBuild 12.0 stuff too, then, since that's the stuff that shipped with "Microsoft Visual Studio 12.0".
Comment 6 Brent Fulgham 2015-08-11 12:41:59 PDT
Created attachment 258738 [details]
Patch
Comment 7 Alex Christensen 2015-08-11 12:45:17 PDT
Comment on attachment 258738 [details]
Patch

r=me.  Hooray!
Comment 8 Brent Fulgham 2015-08-11 14:03:03 PDT
Committed r188291: <http://trac.webkit.org/changeset/188291>