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
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
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
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
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
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
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: f278a33ca6TBR=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
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
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
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: 833aa96095TBR=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
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
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
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
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
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
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: ce36c5acc6TBR=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
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: 93cf7d6a5eTBR=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
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
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: 060d293f1dTBR=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
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
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
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
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
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
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
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
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
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
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
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
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
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
Also fix last-modified-time comparison code to handle minor float
differences and thus correctly not copy identical files (for some
reason there appears to be a ~1e-07 diff between last-modified-time
of copied files...?).
BUG=603603
TEST=No more copy output from gyp_chromium when copied DLLs are already
there or gyp_rc != 0 :-)
Review URL: https://codereview.chromium.org/1890053004
Cr-Original-Commit-Position: refs/heads/master@{#387911}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 381d9f17b002b97ea4cf38a859d91fafd051c587
VS 2015 is used for Chromium builds, but having VS 2013 available is
useful, in particular for SDK bots for nacl. This changes the VS 2013
tool set to one that has setenv.*.json files that were made necessary
by crrev.com/1805173002 so that VS 2013 can still be used.
BUG=495204
Review URL: https://codereview.chromium.org/1886493002
Cr-Original-Commit-Position: refs/heads/master@{#387032}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b10de5ecc2966315ace053a8f8f6054844324d3a
This is the official VS 2015 Update 2 release. This includes all of the
bug fixes which Chromium has been depending on.
BUG=440500
Review URL: https://codereview.chromium.org/1851573002
Cr-Original-Commit-Position: refs/heads/master@{#384480}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 21d776d93f2e432995f6076045f8183c141cd335
When building with DEPOT_TOOLS_WIN_TOOLCHAIN=0 the vs_toolchain.py
script uses environment variables set up by vcvarsall.bat, such as
WINDOWSSDKDIR. The default value of this with VS 2015 is
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\ - note the
trailing slash.
When ninja runs "build\vs_toolchain.py get_toolchain_dir" it translates
this to:
sdk_path = "C:\Program Files (x86)\Windows Kits\10\"
The trailing slash in front of the quote confuses the gn parser. This
change strips those trailing slashes. For more details see the gn
docs:
https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md#Strings
BUG=593154
Review URL: https://codereview.chromium.org/1827663002
Cr-Original-Commit-Position: refs/heads/master@{#382752}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 12bbca48cda56b2a10a68f8f69bb90906189c4bf
Reason for revert:
Preparing a revert in order to reland VS 2015. The CL is not reading for committing yet.
Original issue's description:
> Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1740583002/ )
>
> Reason for revert:
> Broke isolate tests on Win8 GN (dbg) and Win x64 GN (dbg).
>
> Original issue's description:
> > Reland of Change default Windows compiler to VS 2015
> >
> > The change to get_landmines.py is there because modifying this file
> > affects analyze behavior so that all tests run. Changing the printed
> > message is purely a side effect.
> >
> > This change also removes some redundant INCLUDE paths. These are
> > unnecessary when building with VS 2015 (because it defaults to the
> > Windows 10 SDK) and actively harmful (they make the INCLUDE path
> > problematically long).
> >
> > This change was redone in order to fix merge conflicts and because after
> > a few weeks a fresh set of approvals seems reasonable.
> >
> > The original change was landed as crrev.com/1598493004
> >
> > BUG=440500, 584782
> >
> > Committed: https://crrev.com/d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b
> > Cr-Commit-Position: refs/heads/master@{#380382}
>
> TBR=scottmg@chromium.org,dpranke@chromium.org,brucedawson@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=440500, 584782
>
> Committed: https://crrev.com/cb3f85f80a2c146e0e4bf064f02bf68acb274ce5
> Cr-Commit-Position: refs/heads/master@{#380395}
TBR=scottmg@chromium.org,dpranke@chromium.org,vasilii@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=440500, 584782
Review URL: https://codereview.chromium.org/1783773004
Cr-Original-Commit-Position: refs/heads/master@{#380711}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2b33e7eee5db5f956426dbf664f68bff3fe7daee
Reason for revert:
Broke isolate tests on Win8 GN (dbg) and Win x64 GN (dbg).
https://build.chromium.org/p/chromium.win/builders/Win8%20GN%20%28dbg%29/builds/22695/steps/isolate%20tests/logs/stdio
[found] [hashed/size/to hash] [looked up/to lookup] [uploaded/size/to upload/size]
04:10:31.512494 Root: E:\b\build\slave\Win8_GN__dbg_\build\src
04:10:31.513479 Root: E:\b\build\slave\Win8_GN__dbg_\build\src
events_unittests GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified.
04:10:31.988532 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\content\test\data\) = 1574 files
04:10:32.060523 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\media\test\data\) = 233 files
04:10:32.435549 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\net\data\) = 974 files
04:10:32.464549 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\net\tools\testserver\) = 11 files
[2843] [6/29.0Mib/39] [0/6] [0/0b/0/0b] 1s
04:10:32.505555 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\pyftpdlib\) = 37 files
04:10:32.539557 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\pywebsocket\) = 99 files
04:10:32.578571 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\tlslite\) = 105 files
content_browsertests GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified.
Hits : 0 (0b)
Misses : 0 (0b)
Duration: 1.301s
isolate: GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified.
step returned non-zero exit code: 1
Original issue's description:
> Reland of Change default Windows compiler to VS 2015
>
> The change to get_landmines.py is there because modifying this file
> affects analyze behavior so that all tests run. Changing the printed
> message is purely a side effect.
>
> This change also removes some redundant INCLUDE paths. These are
> unnecessary when building with VS 2015 (because it defaults to the
> Windows 10 SDK) and actively harmful (they make the INCLUDE path
> problematically long).
>
> This change was redone in order to fix merge conflicts and because after
> a few weeks a fresh set of approvals seems reasonable.
>
> The original change was landed as crrev.com/1598493004
>
> BUG=440500, 584782
>
> Committed: https://crrev.com/d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b
> Cr-Commit-Position: refs/heads/master@{#380382}
TBR=scottmg@chromium.org,dpranke@chromium.org,brucedawson@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=440500, 584782
Review URL: https://codereview.chromium.org/1778343002
Cr-Original-Commit-Position: refs/heads/master@{#380395}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cb3f85f80a2c146e0e4bf064f02bf68acb274ce5
The change to get_landmines.py is there because modifying this file
affects analyze behavior so that all tests run. Changing the printed
message is purely a side effect.
This change also removes some redundant INCLUDE paths. These are
unnecessary when building with VS 2015 (because it defaults to the
Windows 10 SDK) and actively harmful (they make the INCLUDE path
problematically long).
This change was redone in order to fix merge conflicts and because after
a few weeks a fresh set of approvals seems reasonable.
The original change was landed as crrev.com/1598493004
BUG=440500, 584782
Review URL: https://codereview.chromium.org/1740583002
Cr-Original-Commit-Position: refs/heads/master@{#380382}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b