Граф коммитов

115 Коммитов

Автор SHA1 Сообщение Дата
Bruce Dawson 43c2069e0a Revert "Make VS 2017 the default compiler on Windows"
This reverts commit 8707de2d756841d799483ceff0427e316961f468.

Reason for revert: media_unittests is crashing in vpx_internal_error
https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64/builds/15967

Original change's description:
> Make VS 2017 the default compiler on Windows
> 
> All known blockers for VS 2017 as the default compiler for Chrome on
> Windows have been addressed. Switching to VS 2017 will give us:
> 
> - Better C++ conformance and various bug fixes, especially around
> constexpr
> - Faster fastlink links and fixes to linker bugs which can cause
> incremental linking to fail
> - Newer STL header files for increased STL conformance
> - Debugger stability fixes (it is quite possible to debug VS 2015
> binaries with VS 2017 but using the same toolchain for both is
> preferable)
> 
> Note that many of these benefits apply even in the context of switching
> to clang - faster links are always good, and increased VS conformance
> makings switching between VS and clang easier.
> 
> Test switches to VS 2017 have been done enough times to make us
> reasonably confident that the switch will go smoothly. If not then it
> can be easily reverted. If the switch sticks then the documentation
> pages will need to be updated.
> 
> Note that the Windows 10 Creators Update SDK will be made required soon
> after this change.
> 
> Bug: 683729
> Change-Id: I79fdd9e44c6bb7ef25ab6bcb88845ac18e5cf56f
> Reviewed-on: https://chromium-review.googlesource.com/665637
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Scott Graham <scottmg@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#502421}

TBR=dpranke@chromium.org,brucedawson@chromium.org,scottmg@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 683729
Change-Id: Icf40a84f30941980b1c9e038cc4336b057ea10c0
Reviewed-on: https://chromium-review.googlesource.com/670283
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502535}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eaccacb6302f7b0ea235fd7d1ff3aa7eaf8b20ef
2017-09-18 06:35:37 +00:00
Bruce Dawson 15b7614fc6 Make VS 2017 the default compiler on Windows
All known blockers for VS 2017 as the default compiler for Chrome on
Windows have been addressed. Switching to VS 2017 will give us:

- Better C++ conformance and various bug fixes, especially around
constexpr
- Faster fastlink links and fixes to linker bugs which can cause
incremental linking to fail
- Newer STL header files for increased STL conformance
- Debugger stability fixes (it is quite possible to debug VS 2015
binaries with VS 2017 but using the same toolchain for both is
preferable)

Note that many of these benefits apply even in the context of switching
to clang - faster links are always good, and increased VS conformance
makings switching between VS and clang easier.

Test switches to VS 2017 have been done enough times to make us
reasonably confident that the switch will go smoothly. If not then it
can be easily reverted. If the switch sticks then the documentation
pages will need to be updated.

Note that the Windows 10 Creators Update SDK will be made required soon
after this change.

Bug: 683729
Change-Id: I79fdd9e44c6bb7ef25ab6bcb88845ac18e5cf56f
Reviewed-on: https://chromium-review.googlesource.com/665637
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502421}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8707de2d756841d799483ceff0427e316961f468
2017-09-15 23:00:10 +00:00
Nico Weber 6140e7ce31 Make create_installer_archive.py work a bit better on non-Win hosts.
- copy api-ms-* files with r bit set so that the installer script
  can read them when it tries to copy them
- convert \ to / when reading chrome/installer/mini_installer/chrome.release
- use 7za instead of 7za.exe (and assume it's already installed)

Also don't create the same directory twice in MakeStagingDirectories(), see
https://codereview.chromium.org/8615002/diff/3005/chrome/tools/build/win/create_installer_archive.py#newcode154
(this is unrelated to the cross-build).

Still doesn't work in cross-builds because of (at least) makecab.exe,
and I don't have a good idea on how to tackle that yet, but this seems
like a good intermediate step.

Bug: 762073
Change-Id: I297ea0c87afe6a67246c018e188ac4edf4a3b865
Reviewed-on: https://chromium-review.googlesource.com/650839
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499794}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6faad1e4c378ef1e2bb39240da3db9f9e835bbf
2017-09-05 23:30:13 +00:00
Bruce Dawson 2887ee57f5 Revert "Change default VC++ compiler from 2015 to 2017"
This reverts commit ec9a1e6ce2708f93ea08f82dd76a1f556310af91.

Reason for revert: Weekend testing of VC++ 2017 is complete. A canary
was produced (62.0.3197.0) and a bug was found (crbug.com/759402), so
it was a worthwhile experiment.

Original change's description:
> Change default VC++ compiler from 2015 to 2017
> 
> Now that VC++ 2017 15.3.2 is packaged up we can try again to have VC++
> 2017 as the default compiler. This will be reverted at the end of the
> weekend. If the clang workaround for 727447 is reverted then this will
> also test whether that code-gen bug is fixed.
> 
> R=​thakis@chromium.org
> BUG=683729,727447
> 
> Change-Id: I74b070a0f8b5c58348309e1bea553136499c6922
> Reviewed-on: https://chromium-review.googlesource.com/636325
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#497599}

TBR=thakis@chromium.org,brucedawson@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 683729, 727447
Change-Id: I9bef79f3197597fea6009692ec96809ff7ecf560
Reviewed-on: https://chromium-review.googlesource.com/637046
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#497684}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 43b6c849b3c49f71261a71fcb40455d0e263c49d
2017-08-28 01:12:50 +00:00
Bruce Dawson d8899ab6f1 Change default VC++ compiler from 2015 to 2017
Now that VC++ 2017 15.3.2 is packaged up we can try again to have VC++
2017 as the default compiler. This will be reverted at the end of the
weekend. If the clang workaround for 727447 is reverted then this will
also test whether that code-gen bug is fixed.

R=thakis@chromium.org
BUG=683729,727447

Change-Id: I74b070a0f8b5c58348309e1bea553136499c6922
Reviewed-on: https://chromium-review.googlesource.com/636325
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#497599}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ec9a1e6ce2708f93ea08f82dd76a1f556310af91
2017-08-25 23:55:03 +00:00
Bruce Dawson 6c2bcbac42 VS 2017 Update 3.2
This change switches the VS 2017 package to use the 10.0.15063.468 SDK
and VS 2017 Update 3.2 (includes fix to code-gen bug hit when building
clang with VC++ 2017).

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading VS 2017 Update 3.2, from
https://www.visualstudio.com/vs/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.15063.468 SDK installer was used to install the
Debuggers package.

Then the packaging script was run like this:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0

VS 2015 builds are still the default so this makes no immediate difference.

R=scottmg@chromium.org
BUG=683729,727447

Change-Id: Ie615737503ff3a502c6c4df3651c7511db901ffc
Reviewed-on: https://chromium-review.googlesource.com/628243
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#497477}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1a56a637268fb862ea7c4fbfd8fc2d89c4b9eff4
2017-08-25 18:56:35 +00:00
Bruce Dawson 31a381b980 VS 2017 Update 3
This change switches the VS 2017 package to use the 10.0.15063.468 SDK
and the non-preview release of VS 2017 Update 3.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading VS 2017 Update 3, from
https://www.visualstudio.com/vs/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.15063.468 SDK installer was used to install the
Debuggers package.

Then the packaging script was run like this:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0

VS 2015 builds are still the default so this makes no immediate difference.

R=scottmg@chromium.org
BUG=683729

Change-Id: I9a53d1739f0a3684efc719c03022c32a2e95175e
Reviewed-on: https://chromium-review.googlesource.com/614920
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#496414}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0269b680ee726032e7b2bd0e46923ef2ba08a7b9
2017-08-22 20:01:13 +00:00
Sebastien Marchand d662af1d76 Makes the copy of dbgcore.dll optional.
This DLL doesn't exist in the Anniversary Update SDK, so it's probably
fine to assume that it's not required by dbghelp.dll.

Bug: 748166
Change-Id: Ic611fcde7114da4457f28fd735bf74ab9b9be6a6
Reviewed-on: https://chromium-review.googlesource.com/610307
Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#493773}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 71914fe37299192c5863d9503241e3e26cbef358
2017-08-11 16:40:45 +00:00
Nico Weber 52b9fde793 win: Let vs_toolchain.py work on non-Win hosts again.
Bug: 495204
Change-Id: I42d6ba4302edb674afceff99029e78c2b862cbb0
Reviewed-on: https://chromium-review.googlesource.com/583644
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489101}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 29a1e8008049fb32089df12f4b28e1214eef2ea8
2017-07-24 22:23:12 +00:00
Bruce Dawson f2d801f48d Revert "Test changing default Windows compiler to VS2017"
This reverts commit 95ebf5a518b2cc7f96046d605057be87ab0e5682.

Reason for revert: Testing is done - VS 2017 canary should appear?

Original change's description:
> Test changing default Windows compiler to VS2017
> 
> Doing another VS2017 test over the week end now with the newly packaged
> VS 2017 Update 3 Preview 4 (was Preview 2 last time).
> 
> This CL is currently purely for testing purposes and will be reverted by
> the end of the weekend.
> 
> R=​dpranke@chromium.org
> BUG=683729
> 
> Change-Id: Ie5c2e92b789b1dcbd51d4e0028230b5b72ce9eb9
> Reviewed-on: https://chromium-review.googlesource.com/572500
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#486999}

TBR=dpranke@chromium.org,brucedawson@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 683729
Change-Id: I65044b790dd7415e380381a47d204a838c7bd837
Reviewed-on: https://chromium-review.googlesource.com/573623
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#487111}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8e6e8c57c1c30caf7e2756e95d5a59e90336b0bd
2017-07-17 16:39:20 +00:00
Bruce Dawson e003acd314 Test changing default Windows compiler to VS2017
Doing another VS2017 test over the week end now with the newly packaged
VS 2017 Update 3 Preview 4 (was Preview 2 last time).

This CL is currently purely for testing purposes and will be reverted by
the end of the weekend.

R=dpranke@chromium.org
BUG=683729

Change-Id: Ie5c2e92b789b1dcbd51d4e0028230b5b72ce9eb9
Reviewed-on: https://chromium-review.googlesource.com/572500
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#486999}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 95ebf5a518b2cc7f96046d605057be87ab0e5682
2017-07-15 21:54:58 +00:00
Bruce Dawson 63efa355f9 VS 2017 Update 3 Preview 4 with fixed SDK
This change switches the VS 2017 package to use the 10.0.15063.468 SDK
and the fourth preview of VS 2017 Update 3.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading the VS 2017 Update 3 Preview 4,
from https://www.visualstudio.com/vs/preview/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.15063.468 SDK installer was used to install the
Debuggers package.

The latest version of vswhere.exe doesn't show pre-release versions of
VS by default so win_toolchain/package_from_installed.py was locally
patched to add the -prerelease flag to the vswhere.exe invocation.

Then the packaging script was run like this:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0

VS 2015 builds are still the default so this makes no immediate difference.

R=dpranke@chromium.org
BUG=683729

Change-Id: Ic9515f6f315931c72a762411ea6713e86351ce37
Reviewed-on: https://chromium-review.googlesource.com/572480
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#486967}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 218308404f31ef8f428249febca2db1282f783a5
2017-07-15 02:20:35 +00:00
brucedawson 8a9cac468c VS 2017 Update 3 Preview 3 with fixed SDK
This change switches the VS 2017 package to use the 10.0.15063.468 SDK and
the third preview of VS 2017 Update 3.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading the VS 2017 Update 3 Preview 3,
from https://www.visualstudio.com/vs/preview/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.15063.468 SDK installer was used to install the Debuggers
package and patch wrl\event.h (still broken in the SDK installed by VS
2017 Updat3 3).

The packaging script was run like this:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0

VS 2015 builds are still the default so this makes no immediate difference.

R=dpranke@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2966713003
Cr-Original-Commit-Position: refs/heads/master@{#484715}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9da63a8364a4cdec18db79b537ac819d29dd4284
2017-07-06 19:38:31 +00:00
sebmarchand 59c4b39062 Copy dbgcore.dll to the build directory.
dbghelp.dll apparently has some dependencies on dbgcore.dll, which isn't
available on the Clusterfuzz bots (and probably on the trybots as well).

BUG=738088

Review-Url: https://codereview.chromium.org/2964523003
Cr-Original-Commit-Position: refs/heads/master@{#483516}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 475258923fee8ee38edbcd4ad1a86bc5ef6f286a
2017-06-29 22:24:39 +00:00
brucedawson 31de18e148 Updating VS 2015 package with no vctip.exe
This packages VS 2015 with vctip.exe removed in order to avoid problems
caused when it hangs around.

This is also packaged with a new Windows 10 SDK - 10.0.15063.468, which
fixes the header-file bugs that previously required patching.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

The process for creating this package is:
    - Install depot tools, run ‘gclient’, and add depot_tools to the path
    - Install final version of VS 2015 Professional Update 3 with these options:
     * Visual C++ and make sure the three nodes underneath are also selected
     * Under Universal Windows App Development Tools make sure the "Tools (1.4.1) and Windows 10 SDK (10.0.14393)" node is selected

Then the Windows 10.0.15063.468 SDK was installed, with all components.
This also installs the x86 and x64 debuggers.

Finally the packaging script (updated to filter out vctip.exe, with
https://chromium-review.googlesource.com/c/544395/) was run:

    python depot_tools\win_toolchain\package_from_installed.py 2015 -w 10.0.15063.0

This CL does *not* change build\toolchain\win\setup_toolchain.py to request
the 10.0.15063.0 SDK when building with DEPOT_TOOLS_WIN_TOOLCHAIN=0. That is
because this SDK is not yet required (crrev.com/2938543002 is a benign NOP
with the 14393 SDK).

BUG=735226

Review-Url: https://codereview.chromium.org/2950223002
Cr-Original-Commit-Position: refs/heads/master@{#481586}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 48c3f86f33b07d26c075b502ef6d0ba063c74bf3
2017-06-22 17:40:42 +00:00
brucedawson bf51d5681a Revert of Test changing default Windows compiler to VS2017 (patchset #1 id:1 of https://codereview.chromium.org/2862723004/ )
Reason for revert:
Build 61.0.3134.0 uses VS 2017 and that will be sufficient to let us look for performance regressions and crashes, so I am reverting.

Original issue's description:
> Test changing default Windows compiler to VS2017
>
> Doing another VS2017 test over the week end now to see if a recently
> discovered code-gen bug has been fixed. The VS 2017 package now uses
> VS 2017 Update 3 Preview 2 (was Preview 1 last time). At least one
> code-gen bug was fixed by Preview 2 but this bug may be a new one.
>
> This CL is currently purely for testing purposes and will be reverted by
> the end of the week end.
>
> R=scottmg@chromium.org
> BUG=683729,727671
>
> Review-Url: https://codereview.chromium.org/2862723004
> Cr-Commit-Position: refs/heads/master@{#480264}
> Committed: f278a33ca6

TBR=scottmg@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=683729,727671

Review-Url: https://codereview.chromium.org/2944773002
Cr-Original-Commit-Position: refs/heads/master@{#480315}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eb339abb6c31f0f6a02d7b7038031ced69898eea
2017-06-18 23:26:06 +00:00
brucedawson 9ec24027ab Test changing default Windows compiler to VS2017
Doing another VS2017 test over the week end now to see if a recently
discovered code-gen bug has been fixed. The VS 2017 package now uses
VS 2017 Update 3 Preview 2 (was Preview 1 last time). At least one
code-gen bug was fixed by Preview 2 but this bug may be a new one.

This CL is currently purely for testing purposes and will be reverted by
the end of the week end.

R=scottmg@chromium.org
BUG=683729,727671

Review-Url: https://codereview.chromium.org/2862723004
Cr-Original-Commit-Position: refs/heads/master@{#480264}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f278a33ca6aff0723f13942bbb47b3753bea543d
2017-06-17 01:40:04 +00:00
brucedawson c6f78e980d VS 2015 Update 3 with 10.0.15063.0 SDK
This change switches the VS 2015 package to use the 10.0.15063.0 SDK.
This is necessary for crrev.com/2938543002. As a side-effect of the
repackaging it also upgrades the compiler from 19.00.24213.1 to
19.00.24215.1.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

The process for creating this package is:
    - Install depot tools, run ‘gclient’, and add depot_tools to the path
    - Install final version of VS 2015 Professional Update 3 with these options:
     * Visual C++ and make sure the three nodes underneath are also selected
     * Under Universal Windows App Development Tools make sure the "Tools (1.4.1) and Windows 10 SDK (10.0.14393)" node is selected

Then the Windows 10.0.15063.0 SDK was installed. This also installs
the x86 and x64 debuggers.

Then wrl\event.h was patched to work around a problem with clang-cl
builds, as described towards the end of this bug:
https://developercommunity.visualstudio.com/content/problem/42961/15063-sdk-is-broken-bitsh-indirectly-references-no.html
The patched version of event.h is attached to this bug comment:
    https://bugs.chromium.org/p/chromium/issues/detail?id=683729#c120

Finally the packaging script (updated in
https://chromium-review.googlesource.com/c/519982) was run:

    python depot_tools\win_toolchain\package_from_installed.py 2015 -w 10.0.15063.0

This CL does *not* change build\toolchain\win\setup_toolchain.py to request
the 10.0.15063.0 SDK when building with DEPOT_TOOLS_WIN_TOOLCHAIN=0. That is
because this SDK is not yet required (crrev.com/2938543002 is a benign NOP
with the 14393 SDK) and because wrl\event.h is still broken (for clang-cl)
in the latest 15063 SDK.

BUG=682416

Review-Url: https://codereview.chromium.org/2914643003
Cr-Original-Commit-Position: refs/heads/master@{#479900}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 407583a866bb1839b09289b5f2e856b15700ea51
2017-06-16 01:50:24 +00:00
brucedawson 3ab6155577 VS 2017 Update 3 Preview 2 with 10.0.15063.0 SDK
This change switches the VS 2017 package to use the 10.0.15063.0 SDK and
the second preview of VS 2017 Update 3.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading the VS 2017 Update 3 Preview 1,
from https://www.visualstudio.com/vs/preview/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.15063.0 SDK installer was used to install the Debuggers
package.

Then wrl\event.h was patched to work around a problem with clang-cl
builds, as described towards the end of this bug:
https://developercommunity.visualstudio.com/content/problem/42961/15063-sdk-is-broken-bitsh-indirectly-references-no.html
The patched version of event.h is attached to this bug comment:
    https://bugs.chromium.org/p/chromium/issues/detail?id=683729#c120

The packaging script was updated in https://chromium-review.googlesource.com/c/534353/
to support this version and was then run like this:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0

VS 2015 builds are still the default.

R=scottmg@chromium.org
BUG=682416, 727970, 683729

Review-Url: https://codereview.chromium.org/2938453003
Cr-Original-Commit-Position: refs/heads/master@{#479555}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6460371218a734a724df68694975882f22c52d31
2017-06-15 00:31:12 +00:00
thakis 2548e2e4cf Revert of Changing default Windows compiler to VS2017 (patchset #1 id:1 of https://codereview.chromium.org/2877993002/ )
Reason for revert:
We have a canary.

Original issue's description:
> Changing default Windows compiler to VS2017
>
> Doing another VS2017 test over the week end now that the PGO issues have
> been fixed.
>
> This CL is currently purely for testing purposes and will be reverted by
> the end of the week end.
>
> BUG=683729
>
> Review-Url: https://codereview.chromium.org/2877993002
> Cr-Commit-Position: refs/heads/master@{#475212}
> Committed: 833aa96095

TBR=brucedawson@chromium.org,sebmarchand@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=683729

Review-Url: https://codereview.chromium.org/2909903002
Cr-Original-Commit-Position: refs/heads/master@{#475354}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5ea5799ced8c179ee57cf877d370e763e76d819c
2017-05-29 15:14:30 +00:00
sebmarchand 4249339127 Changing default Windows compiler to VS2017
Doing another VS2017 test over the week end now that the PGO issues have
been fixed.

This CL is currently purely for testing purposes and will be reverted by
the end of the week end.

BUG=683729

Review-Url: https://codereview.chromium.org/2877993002
Cr-Original-Commit-Position: refs/heads/master@{#475212}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 833aa96095e1f827ffc05af8bf545a094ffa6e35
2017-05-27 01:34:31 +00:00
brucedawson e2e8f8926d Switch VS 2017 builds to VS 2017 Update 3 Preview 1
This change switches the VS 2017 package to use the first Update 3
Preview.

Packaging was done on a Windows Server 2016 VM, cleanly created for this
purpose.

Compiler was packaged up by downloading the VS 2017 Update 3 Preview 1,
from https://www.visualstudio.com/vs/preview/, and then running this
command (executable name was different):

    vs_professional.exe --add Microsoft.VisualStudio.Workload.NativeDesktop
    --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
    --passive

Then the Windows 10.0.14393.0 SDK (10.0.14393.795, to be precise) was
installed, necessary because Chrome currently requires that SDK. This
also installs the x86 and x64 debuggers.

Then statreg.h in the VS install was patched to add constexpr for
clang-cl (but not for VC++, which can't handle it), per this bug:

https://developercommunity.visualstudio.com/content/problem/58907/statregh-doesnt-compile-with-clang-cl-constconstex.html

The patched version is attached to this bug comment:
    https://bugs.chromium.org/p/chromium/issues/detail?id=683729#c113

Finally the packaging script (updated in
https://chromium-review.googlesource.com/516442) was run:

    python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.14393.0

VS 2015 builds are still the default.

R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2904733004
Cr-Original-Commit-Position: refs/heads/master@{#475088}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bc58befabe87e204650c836793204bac887992bd
2017-05-26 19:34:56 +00:00
sebmarchand b19d8a0c0e Fix to vs_toolchain.FindVCToolsRoot
This makes sure that the VS environment is always properly set when
calling vs_toolchain.FindVCToolsRoot from the bots.

Review-Url: https://codereview.chromium.org/2893293004
Cr-Original-Commit-Position: refs/heads/master@{#473784}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f44f50c9aaa57c68b4de5b23b2a8433d40ca98a2
2017-05-23 02:08:31 +00:00
sebmarchand 1caf3a69f3 Update merge_pgc_files.py in preparation for VS2017
pgomgr.exe has been moved to a different location in VS2017 so the logic
that find it should be updated.

It can't just be copied to the build directory because we always run the
x64 bit version of this binary (and we don't want to mix x86 and x64
binaries in the same build dir)

BUG=719319

Review-Url: https://codereview.chromium.org/2884613003
Cr-Original-Commit-Position: refs/heads/master@{#473438}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab3a1821bb57a51d11be2b038b3a698236ccd5fc
2017-05-20 15:00:06 +00:00
sebmarchand 3f03a3296d Make the PGO profiling step work with VS2017
The PGO build is failing for the VS2017 binaries because some of the
dependencies (pgort140.dll, pgosweep.exe...) have moved to a different
directory of the toolchain.

There's also a change to the profiling script to use a copy of
pgosweep.exe from the build directory rather than the one in the
toolchain's directory, this is required in order to be able to use
Swarming for the profiling step (and this is probably cleaner because
it avoid duplicating the logic that find these runtime dependencies).

BUG=719319

Review-Url: https://codereview.chromium.org/2878693002
Cr-Original-Commit-Position: refs/heads/master@{#471299}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 79a9cbda265c5ab725a0a25d725980bd0b376439
2017-05-12 15:29:26 +00:00
thakis ab75dcc805 Revert of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2863313002/ )
Reason for revert:
We hopefully had a canary with this by now.

Original issue's description:
> Reland of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2851143002/ )
>
> Reason for revert:
> Trying to get another canary built over the weekend. Will revert again on Sunday.
>
> Original issue's description:
> > Revert of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2852433005/ )
> >
> > Reason for revert:
> > Reverting as planned - it was just a test switch to VS 2017, which seems to have gone smoothly. I'm hopeful that canary 60.0.3086.0 is being built with VS 2017, to
> > complete the test.
> >
> > Original issue's description:
> > > Changing default Windows compiler to VS 2017
> > >
> > > This is a single character change to temporarily switch Chrome to
> > > building with VC++ 2017. This CL is currently purely for testing
> > > purposes and will be landed for the weekend in order to flesh out any
> > > remaining bugs.
> > >
> > > This is a retry of crrev.com/2762093003 which failed due to a compiler
> > > warning which was missed in local testing and the try bots. That warning
> > > has been resolved and a local build of 'all' completed cleanly.
> > >
> > > BUG=683729
> > >
> > > Review-Url: https://codereview.chromium.org/2852433005
> > > Cr-Commit-Position: refs/heads/master@{#468239}
> > > Committed: 060d293f1d
> >
> > TBR=thakis@chromium.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=683729
> >
> > Review-Url: https://codereview.chromium.org/2851143002
> > Cr-Commit-Position: refs/heads/master@{#468298}
> > Committed: 93cf7d6a5e
>
> TBR=brucedawson@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=683729
>
> Review-Url: https://codereview.chromium.org/2863313002
> Cr-Commit-Position: refs/heads/master@{#469843}
> Committed: ce36c5acc6

TBR=brucedawson@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=683729
NOTRY=true

Review-Url: https://codereview.chromium.org/2870523002
Cr-Original-Commit-Position: refs/heads/master@{#469904}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c7ec9f9be09789ae4bafb7c6067c898d24255363
2017-05-08 01:27:52 +00:00
thakis 99d7dc3269 Reland of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2851143002/ )
Reason for revert:
Trying to get another canary built over the weekend. Will revert again on Sunday.

Original issue's description:
> Revert of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2852433005/ )
>
> Reason for revert:
> Reverting as planned - it was just a test switch to VS 2017, which seems to have gone smoothly. I'm hopeful that canary 60.0.3086.0 is being built with VS 2017, to
> complete the test.
>
> Original issue's description:
> > Changing default Windows compiler to VS 2017
> >
> > This is a single character change to temporarily switch Chrome to
> > building with VC++ 2017. This CL is currently purely for testing
> > purposes and will be landed for the weekend in order to flesh out any
> > remaining bugs.
> >
> > This is a retry of crrev.com/2762093003 which failed due to a compiler
> > warning which was missed in local testing and the try bots. That warning
> > has been resolved and a local build of 'all' completed cleanly.
> >
> > BUG=683729
> >
> > Review-Url: https://codereview.chromium.org/2852433005
> > Cr-Commit-Position: refs/heads/master@{#468239}
> > Committed: 060d293f1d
>
> TBR=thakis@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=683729
>
> Review-Url: https://codereview.chromium.org/2851143002
> Cr-Commit-Position: refs/heads/master@{#468298}
> Committed: 93cf7d6a5e

TBR=brucedawson@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=683729

Review-Url: https://codereview.chromium.org/2863313002
Cr-Original-Commit-Position: refs/heads/master@{#469843}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ce36c5acc6e27a75e8fa455c92277de713922ac0
2017-05-06 18:45:47 +00:00
tikuta e157370488 Remove unused variable from vs_toolchain.py
BUG=

Review-Url: https://codereview.chromium.org/2855773003
Cr-Original-Commit-Position: refs/heads/master@{#468571}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6d749aecf75ec843731bf88438ed540bba793bb4
2017-05-02 06:12:31 +00:00
brucedawson 4a81c967d6 Improve error message when debuggers not installed
When building Chrome we require that you have the "Debugging tools for
Windows" feature of the Windows 10 SDK installed. The error messages
when this non-default component is not installed are a bit cryptic. This
adds a more explicit error message.

The new error message looks like this:

>gn gen out\debug
Traceback (most recent call last):
  File "c:/src/chromium4/src/build/vs_toolchain.py", line 448, in <module>
    sys.exit(main())
  File "c:/src/chromium4/src/build/vs_toolchain.py", line 444, in main
    return commands[sys.argv[1]](*sys.argv[2:])
  File "c:/src/chromium4/src/build/vs_toolchain.py", line 309, in CopyDlls
    _CopyDebugger(target_dir, target_cpu)
  File "c:/src/chromium4/src/build/vs_toolchain.py", line 331, in _CopyDebugger
    '10 SDK.' % full_path)
Exception: dbghelp.dll not found in "C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\dbghelp.dll"
You must install the "Debugging Tools for Windows" feature from the Windows 10 SDK.
ERROR at //build/toolchain/win/BUILD.gn:39:3: Script returned non-zero exit code.
  exec_script("../../vs_toolchain.py",
  ^----------
Current dir: c:/src/chromium4/src/out/debug/
Command: C:/src/depot_tools/python276_bin/python.exe -- c:/src/chromium4/src/build/vs_toolchain.py copy_dlls c:/src/chromium4/src/out/debug Debug x86
Returned 1.
See //BUILD.gn:65:1: which caused the file to be included.
group("gn_all") {
^----------------

R=wkorman@chromium.org
BUG=702697

Review-Url: https://codereview.chromium.org/2853083002
Cr-Original-Commit-Position: refs/heads/master@{#468397}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c3d410ea272423ac277dc3f3e3def6490dfd6dc
2017-05-01 20:27:19 +00:00
brucedawson b8545353d4 Revert of Changing default Windows compiler to VS 2017 (patchset #1 id:1 of https://codereview.chromium.org/2852433005/ )
Reason for revert:
Reverting as planned - it was just a test switch to VS 2017, which seems to have gone smoothly. I'm hopeful that canary 60.0.3086.0 is being built with VS 2017, to
complete the test.

Original issue's description:
> Changing default Windows compiler to VS 2017
>
> This is a single character change to temporarily switch Chrome to
> building with VC++ 2017. This CL is currently purely for testing
> purposes and will be landed for the weekend in order to flesh out any
> remaining bugs.
>
> This is a retry of crrev.com/2762093003 which failed due to a compiler
> warning which was missed in local testing and the try bots. That warning
> has been resolved and a local build of 'all' completed cleanly.
>
> BUG=683729
>
> Review-Url: https://codereview.chromium.org/2852433005
> Cr-Commit-Position: refs/heads/master@{#468239}
> Committed: 060d293f1d

TBR=thakis@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=683729

Review-Url: https://codereview.chromium.org/2851143002
Cr-Original-Commit-Position: refs/heads/master@{#468298}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 93cf7d6a5e0ccbb248ac818c3c7c7181a409b45b
2017-05-01 06:49:56 +00:00
brucedawson 3b48c72530 Changing default Windows compiler to VS 2017
This is a single character change to temporarily switch Chrome to
building with VC++ 2017. This CL is currently purely for testing
purposes and will be landed for the weekend in order to flesh out any
remaining bugs.

This is a retry of crrev.com/2762093003 which failed due to a compiler
warning which was missed in local testing and the try bots. That warning
has been resolved and a local build of 'all' completed cleanly.

BUG=683729

Review-Url: https://codereview.chromium.org/2852433005
Cr-Original-Commit-Position: refs/heads/master@{#468239}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 060d293f1d87d450a824dc46f564792272ed34a3
2017-04-29 11:47:47 +00:00
findit-for-me 4636d31671 Revert of Changing default Windows compiler to VS 2017 (patchset #9 id:160001 of https://codereview.chromium.org/2762093003/ )
Reason for revert:

Findit(https://goo.gl/kROfz5) identified CL at revision 466536 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzU2MzRiZWNjM2NmNTVkZDE2ZDhlNWY2ZTU2YTcxMDVjNGVmY2Y4YWYM

Original issue's description:
> Changing default Windows compiler to VS 2017
>
> This CL is currently purely for testing purposes.
>
> BUG=683729
>
> Review-Url: https://codereview.chromium.org/2762093003
> Cr-Commit-Position: refs/heads/master@{#466536}
> Committed: 5634becc3c

TBR=thakis@chromium.org,scottmg@chromium.org,dpranke@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=683729

Review-Url: https://codereview.chromium.org/2832373002
Cr-Original-Commit-Position: refs/heads/master@{#466538}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a9d5d30b3deb074bb9eea410b75cd1d2220ac9ea
2017-04-22 18:40:21 +00:00
brucedawson c8eb68f4d4 Changing default Windows compiler to VS 2017
This CL is currently purely for testing purposes.

BUG=683729

Review-Url: https://codereview.chromium.org/2762093003
Cr-Original-Commit-Position: refs/heads/master@{#466536}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5634becc3cf55dd16d8e5f6e56a7105c4efcf8af
2017-04-22 04:29:53 +00:00
brucedawson c43d9e5efb Copy dbghelp.dll to output directory
Chrome's tests sometimes symbolize call stacks. In order to support new
PDB formats such as PDB's generated by VS 2017's updated /debug:fastlink
we need to use a recent version of dbghelp.dll. This change restores a
modified version of _CopyDebugger that was removed a few weeks ago, thus
avoiding a CPU busy hang in the system version of dbghelp.dll.

R=jochen@chromium.org
BUG=712905

Review-Url: https://codereview.chromium.org/2834513003
Cr-Original-Commit-Position: refs/heads/master@{#465784}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6db4113f95a5fd90ec2e0df495ba1982c651ccee
2017-04-19 22:27:40 +00:00
drbasic d9f7991400 Get Chrome compiling on VS2017 Community edition
R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2815873002
Cr-Original-Commit-Position: refs/heads/master@{#464657}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 461b329afc65973c9d25edbae1eff9e0b6979d07
2017-04-14 02:13:01 +00:00
jochen 199e673c90 Enable content shell crash integration test on Windows
BUG=688737,706744
R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2782603002
Cr-Original-Commit-Position: refs/heads/master@{#461175}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2511b73c11a55d8bb8a4c730d0cb308fbc821780
2017-03-31 18:24:15 +00:00
brucedawson bd82dfa88e New VS 2017 toolchain with dbghelp.dll fixes
This updates the package used when building Chrome with VS 2017 based
on the changes in https://chromium-review.googlesource.com/461385.

This packages versions of dbghelp.dll that can handle VS 2017's
/debug:fastlink binaries without hanging. This avoids hangs in windbg
and in base_unittests, and elsewhere.

See this bug for details:
https://developercommunity.visualstudio.com/content/problem/36255/chromes-base-unittests-fails-with-vs-2017-due-to-s.html

R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2778323002
Cr-Original-Commit-Position: refs/heads/master@{#460236}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a01e98bf1f7cd1b9418698808ae83fca54fb626
2017-03-28 23:28:26 +00:00
brucedawson 9f91eb223d Remove VS 2013 from vs_toolchain.py
Chrome has not built with VS 2013 for a while now, so no need to carry
that baggage around as we add VS 2017 support.

Review-Url: https://codereview.chromium.org/2771333002
Cr-Original-Commit-Position: refs/heads/master@{#459876}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e7c0d998d5416b380ffefe1f6acd6126e35d11ed
2017-03-27 20:59:15 +00:00
brucedawson e176b47d66 Add VS 2017 toolchain hash
This change adds a hash for the VS 2017 RTM toolchain download in depot
tools. This allows Googlers to use VS 2017 to build Chrome without
needing to install it, and lets build machines use VS 2017 (although
they continue to default to VS 2015.

The package was created on a Windows Server 2016 VM. One would hope that
the OS used wouldn't matter, but ...? Previous installs of VS 2015 or
the platform SDK are likely to leave files lying around that will alter
the hash so a clean VM is needed. Then follow these steps:

Install VS 2017 Professional RTM, selecting the "Desktop development with
C++" component, and add the MFC and ATL support option.

After this is done you need to install the debugger packages from the
Windows 10 SDK. Go to:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
and be sure to check the Debugging Tools option. Once the installers
have downloaded you can find the x86 and x64 debugger installers in the
download directory in "Windows Kits\10\StandaloneSDK\Installers" - run
them both.

Then run the packaging script, like this:
> python depot_tools\win_toolchain\package_from_installed.py 2017

Note that this packages the 10.0.14393.0 SDK, but this is not the same
10.0.14393.0 SDK that was used in the previous VS 2015 packaging. The
SDK was updated without changing the version number. Most of the changes
should not matter, but be aware.

To use this package set these two environment variables:
    DEPOT_TOOLS_WIN_TOOLCHAIN=1
    GYP_MSVS_VERSION=2017

Then run "gclient runhooks" to download the new package. The .ninja
files will not automatically update so you may need to run gn gen on
your output directories.

The 'chrome' target should build cleanly without warnings. However
VS 2017 is not yet a supported toolchain so warnings may appear. You
may want to use the treat_warnings_as_errors = false build flag.

To run VS 2017 tests on the buildbots you need to change the
CURRENT_DEFAULT_TOOLCHAIN_VERSION in build\vs_toolchain.py to '2017'
and you need to add a landmine to force a rebuild.

The build process was tested on two separate VMs to ensure that the
results were consistent. They were.

BUG=683729

Review-Url: https://codereview.chromium.org/2777643002
Cr-Original-Commit-Position: refs/heads/master@{#459593}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 560bb951d9a6625633fcad4e4168fb7054bb4dfa
2017-03-24 23:10:01 +00:00
brucedawson 3c5003eba8 Copy *all* UCRT DLLs to the output directory
In component builds where DEPOT_TOOLS_WIN_TOOLCHAIN=0 the VS toolchain
script would copy *most* of the UCRT DLLs, but not all of them. It would
fail to copy the api-ms-win-crt-*.dll files. This was not noticed
because these only need to be copied in if you make the mini_installer
target, and if you had previously done generated your output directory
with DEPOT_TOOLS_WIN_TOOLCHAIN=1 then the files would be copied in then,
and retained.

This changes the script to copy from %WINDOWSSDKDIR%\Redist\ucrt\DLLs
directory, or the default location if this variable is not set. This
path is used elsewhere, why copy_cdb_to_output.py and is supported by
both values of DEPOT_TOOLS_WIN_TOOLCHAIN. If the SDK is installed in a
non-default location then DEPOT_TOOLS_WIN_TOOLCHAIN=0 users will have to
ensure that WINDOWSSDKDIR is set.

Local testing confirms that the set of files copied is now identical for
DEPOT_TOOLS_WIN_TOOLCHAIN=0/1 (the file versions are different due to
SDK updates but that is known and expected).

BUG=692300

Review-Url: https://codereview.chromium.org/2743423002
Cr-Original-Commit-Position: refs/heads/master@{#456484}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 46cd6d9361fffc104929e0ed654576eb3b286f14
2017-03-13 21:12:31 +00:00
thestig cc228aba0c Only import gyp when required in vs_toolchain.py.
Also replace some elifs after returns with ifs.

BUG=648423

Review-Url: https://codereview.chromium.org/2745863002
Cr-Original-Commit-Position: refs/heads/master@{#456250}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9b24fa5e6df163fc6aaea2fbc9150016af90a2ce
2017-03-11 01:46:42 +00:00
brucedawson 86d81d7640 Don't confuse VS 2013 with VS 2017
Building with VS 2017 using a packaged toolchain is not yet supported
but if you try to do it you get a surprising result - the VS 2013
toolchain gets downloaded. This adds a 2013 check to avoid this, and
also simplifies/corrects an existing 2017 check and comment.

This lets us fail-fast if a user tries the VS 2017 depot-tools
combination before it is supported.

BUG=683729

Review-Url: https://codereview.chromium.org/2741783006
Cr-Original-Commit-Position: refs/heads/master@{#456226}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fead74a8e3d55044bc89fe96500275a0b5e3f24c
2017-03-11 00:14:47 +00:00
jochen c8fd116a14 Copy cdb.exe to build_root_dir so it's available to isolated tests
BUG=690344
R=dpranke@chromium.org,scottmg@chromium.org

Review-Url: https://codereview.chromium.org/2684033010
Cr-Original-Commit-Position: refs/heads/master@{#450820}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c29ace559b19a2071f4402cd201d162abd1b7ac
2017-02-15 22:45:26 +00:00
brucedawson 3031ba2738 Allow building Chrome with local VC++ 2017 install
This updates the toolchain scripts enough so that it is possible to
build Chrome with VC++ 2017 if DEPOT_TOOLS_WIN_TOOLCHAIN=0 and
GYP_MSVS_VERSION=2017, followed by gclient runhooks.

There are still some local patches needed to make it work, and
treat_warnings_as_errors = false and is_component_build = false in
args.gn may be needed initially, but my local builds are working.

The toolchain code should be updated eventually to use COM to locate
the VC++ install location, instead of the hard-coded path which is being
used as a temporary measure in this change.

R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2653473002
Cr-Original-Commit-Position: refs/heads/master@{#445329}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: adddab40528d1fb6dd94c0e4d2bc794ffccf194a
2017-01-23 06:57:21 +00:00
scottmg 7b9031c801 win: Switch to 10.0.14393.0 SDK
The 10.0.14393.0 SDK was packaged at the same time as the 10.0.10586.0
SDK, during the switch to VS 2015 Update 3. The only reason the SDK
wasn't switched at the same time was to isolate the two changes from
each other, and there's no reason I am aware not to change the SDK now.

R=brucedawson@chromium.org
BUG=440500

Review-Url: https://codereview.chromium.org/2555393003
Cr-Original-Commit-Position: refs/heads/master@{#437190}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b77dd4921b8c3bd94d4543d88dfc160a85dbf868
2016-12-08 06:01:07 +00:00
brucedawson dc8cb2c8bc Add an option to build with the 10.0.14393 SDK
At some point we may need to build with the 10.0.14393 (Windows 10
Anniversary Edition) SDK. It's all packaged up and ready to go, and
this is as good a way as any to record what the hash is for when we
need it.

Any Google employee developing Chrome on Windows can test this out by
setting DEPOT_TOOLS_WIN_SDK_PRERELEASE=1 and running gclient
runhooks.

BUG=440500

Review-Url: https://codereview.chromium.org/2492573002
Cr-Original-Commit-Position: refs/heads/master@{#431387}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5456b380fd8b29d954ad293c19d13b18b975f166
2016-11-10 23:09:37 +00:00
brucedawson 625d00bab6 Switch to VS 2015 Update 3
VS 2015 Update 3 offers numerous improvements such as improved
language conformance, fixes to avoid linker crashes, and
improved code-gen for faster performance. Update 3 also resolves
some problems with incremental linking silently falling back to
a full link.

It also fixes an internal compiler error in /analyze builds.

The landmines change is needed because otherwise things like the
out\Release\cdb directory do not get regenerated.

The process for creating this package is:
- Create a clean Windows VM running Windows Server 2012 R2 (en_windows_server_2012_r2_vl_with_update_x64_dvd_6052766.iso, SHA1: 247EAEE5628850A41F0C51471656AAFB2492EA08, Standard Edition)
- Install depot tools, run ‘gclient’, and add depot_tools to the path
- Install VS 2015 Professional Update 3 - must have been installed after July 12th to get the latest fixes - with these settings and nothing else:
 * Visual C++ and make sure the three nodes underneath are also selected
 * Under Universal Windows App Development Tools make sure the "Tools (1.4.1) and Windows 10 SDK (10.0.14393)" and the "Windows 10 SDK (10.0.10586)" nodes are selected and nothing else
- Copy the *Debugger and Tools*.msi installers from another machine and run them. The 10.0.14393 versions (Anniversary Edition) should be used.
- Then run:
    python depot_tools\win_toolchain\package_from_installed.py 2015

It is also possible to package the 14393 SDK by running this command,
but that change is being saved for later:
    python depot_tools\win_toolchain\package_from_installed.py 2015 -w 10.0.14393.0

BUG=627216,636468,427616,637456

Review-Url: https://codereview.chromium.org/2106203002
Cr-Original-Commit-Position: refs/heads/master@{#417157}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 02343c661ee0482cb73ad0cf861999f2c57eeb11
2016-09-08 01:54:27 +00:00
brucedawson 45f1f694ad Allow testing of Update 3 final
Upgrading to Update 3 is hitting a few roadblocks, which is preventing
Windows developers from getting its fast-incremental-linking goodness.
This change lets developers opt-in to using it by going:

    set DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE=1
    gclient runhooks

If the environment variable is not set then this has no effect.

BUG=627216

Review-Url: https://codereview.chromium.org/2263763002
Cr-Original-Commit-Position: refs/heads/master@{#413279}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ea25a46ed83e529d928190cbf3259964acd3ad1
2016-08-19 23:18:23 +00:00
brucedawson 15ccbc4439 Copy local CRT DLLs to gn output directories
When DEPOT_TOOLS_WIN_TOOLCHAIN=0 it is assumed that the developer has a
local install of Visual Studio, and therefore the CRT DLLs don't need to
be copied to the output directory in order to run binaries. However,
when creating packages for running elsewhere (isolates or the
mini_installer) those DLLs are needed. In order to avoid special cases
elsewhere this change copies them to the output directories when 'gn gen'
or 'gn args' runs.

This change also makes the newly copied files writable so that they can
easily be deleted. For backwards compatibility it also makes the files
writable before deleting them. This avoids a problem with pgort140.dll
which can end up read-only and thus impossible to copy over or delete
without first removing the read-only flag.

This change also removes the need for create_installer_archive.py to
copy CRT DLLs, which should avoid bugs with over-copying of these DLLs.
This change also updates that script to say that ucrtbase*.dll is
required.

BUG=611934,585556, 610336

Review-Url: https://codereview.chromium.org/2021353003
Cr-Original-Commit-Position: refs/heads/master@{#397189}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e7bd0348e692e635c039328cd06aac1ce23b7d4f
2016-06-01 19:11:15 +00:00
brucedawson 472c097e59 Allow building with VS 2015 Update 3 pre-release
Add toolchain hash for Update 3 pre-release and fix declarations of
delay-load hooks for VS 2015 Update 3. The new toolchain is not used
unless you go "set DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE=1", run
"gclient runhooks", and then regenerate ninja files (if using gn).
Therefore this change is a NOP for the build machines and the code
we ship.

VS 2015 Update 3 changes the delay hook function pointers to be const
because this is important for security. This matches that change.

The new compiler is discussed here:
https://blogs.msdn.microsoft.com/vcblog/2016/05/04/new-code-optimizer/

The version packaged up for this change was installed May 16th.

BUG=440500

Review-Url: https://codereview.chromium.org/1959413002
Cr-Original-Commit-Position: refs/heads/master@{#394031}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a80d80c3e4c086a791b93a07ee089413fa60630d
2016-05-17 02:45:31 +00:00