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

149 Коммитов

Автор SHA1 Сообщение Дата
Bruce Dawson df23eb1b25 Fix redist glob to work on Linux
Recent Windows 10 SDKs store the UCRT redist files in a different
directory so a change was landed to scan for the right directory to
handle old and new. However the glob call used a backslash and therefore
fails on Linux. This fixes that by using os.path.join.

Bug: 915036
Change-Id: I7f71b0e9300ac33964a05881525a5eba52203859
Reviewed-on: https://chromium-review.googlesource.com/c/1377503
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#617227}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0778ef57fb5d7b77897bb321e0fe1451ae742d62
2018-12-17 21:12:49 +00:00
Michael Achenbach 8ee3e8b101 Revert "ARM64 capable toolchain hash"
This reverts commit dd8c7b26d4da856b36edba4b2d8dff5a786d3eb4.

Reason for revert: Breaks V8 compilation with msvc due to goma errors:
https://ci.chromium.org/p/v8/builders/luci.v8.try/v8_win64_msvc_compile_rel/b8927261102998791312

Original change's description:
> ARM64 capable toolchain hash
> 
> This updates Chrome to build with a toolchain based on VS 2017 15.9.3
> and the Windows 10.0.17763.132 SDK, with the ARM64 components included to
> support building for ARM64 for Win32. This adds about 400 MB to the package
> size, a bit less than a 50% increase.
> 
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
> 
> The package was created by downloading VS 2017 Update 9.3, from
> https://www.visualstudio.com/vs/, and then running the installer like this:
> 
> $ PATH_TO_INSTALLER.EXE ^
>     --add Microsoft.VisualStudio.Workload.NativeDesktop ^
>     --add Microsoft.VisualStudio.Component.VC.ATLMFC ^
>     --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
>     --add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ^
>     --includeRecommended --passive
> 
> Then Add or Remove Programs was used to modify the SDK to add the
> Debuggers package.
> 
> Then the packaging script was run like this:
> 
>   python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17763.0
> 
> This was tested on two VMs to ensure that the results are consistent.
> 
> This should not significantly affect the x86 and x64 builds, although
> there may have been some STL and CRT changes that could cause changes.
> 
> Bug: 893460
> Change-Id: I33dd5b915ffaf17f306d804f561d26bf82060b03
> Reviewed-on: https://chromium-review.googlesource.com/c/1342814
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#616123}

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

Change-Id: I17be21b124053a182157bfecd54d722f210e6171
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 893460
Reviewed-on: https://chromium-review.googlesource.com/c/1375125
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#616270}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ee86e3d1d70c04102da0a2311f90819f343aee8e
2018-12-13 11:36:09 +00:00
Bruce Dawson 13c1368a25 ARM64 capable toolchain hash
This updates Chrome to build with a toolchain based on VS 2017 15.9.3
and the Windows 10.0.17763.132 SDK, with the ARM64 components included to
support building for ARM64 for Win32. This adds about 400 MB to the package
size, a bit less than a 50% increase.

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

The package was created by downloading VS 2017 Update 9.3, from
https://www.visualstudio.com/vs/, and then running the installer like this:

$ PATH_TO_INSTALLER.EXE ^
    --add Microsoft.VisualStudio.Workload.NativeDesktop ^
    --add Microsoft.VisualStudio.Component.VC.ATLMFC ^
    --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
    --add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ^
    --includeRecommended --passive

Then Add or Remove Programs was used to modify the SDK to add the
Debuggers package.

Then the packaging script was run like this:

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

This was tested on two VMs to ensure that the results are consistent.

This should not significantly affect the x86 and x64 builds, although
there may have been some STL and CRT changes that could cause changes.

Bug: 893460
Change-Id: I33dd5b915ffaf17f306d804f561d26bf82060b03
Reviewed-on: https://chromium-review.googlesource.com/c/1342814
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#616123}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dd8c7b26d4da856b36edba4b2d8dff5a786d3eb4
2018-12-13 00:31:51 +00:00
Bruce Dawson 510ff4cfe9 Fix ucrt redist path
Recent versions of the 10.0.17763 SDK have rearranged the redist
directory where we find the UCRT DLLs. This change updates the toolchain
script so that it looks in the new (versioned) directory first, and
falls back to the old unversioned directory if that doesn't work.

Without this change we still soon start seeing build failures when
using the locally installed toolchain on clean installs.

See also http://crrev.com/c/1370609 for the depot tools packaging
version of this change.

Change-Id: If9144b42838b0537f6159b34e0a84eda30a85548
Reviewed-on: https://chromium-review.googlesource.com/c/1371017
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#615369}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 41a1fad4c04e0c753656e710a06d38cae263bcef
2018-12-11 01:36:32 +00:00
Bruce Dawson ddcb60ca21 Make VC component finding simpler and more robust
We ended up with two functions for finding a version-based directory in
a VS install, and both of those functions could fail if your install
contained a few files leftover from an old install.

This change adds a helper function to consolidate the logic, and it adds
a sort() call so that the most recent numbered directory will be used.

This fixes a failure when DEPOT_TOOLS_WIN_TOOLCHAIN=0 on my machine, and
reduces duplication.

Bug: 907300
Change-Id: I9e5d1a95a2b7764b93161b335376dd08debc5ad1
Reviewed-on: https://chromium-review.googlesource.com/c/1347043
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613708}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 36c55ba8a68a68bf05bb02e647cb4f7ae21918f1
2018-12-04 21:42:44 +00:00
Tom Tan aba8e9893b Copy Windows ARM64 VC runtime from correct location
Bug: 893460
Change-Id: Iad812763c50045ffd9b18b73e0233cbeb4062bf2
Reviewed-on: https://chromium-review.googlesource.com/c/1343567
Commit-Queue: Tom Tan <Tom.Tan@microsoft.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#610041}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c22a04e7177197998d6c37ca2e39fb7d3fb767bd
2018-11-21 14:04:12 +00:00
Bruce Dawson 65c17cf5fc Update vs_toolchain.py to handle ARM64
ARM64 on Win32 adds a third Win32 target platform which requires updates
to the script which configures the toolchain. This includes handling
build\win_toolchain.json listing either two or three toolchains, and not
copying UCRT DLLs in the ARM64 case, except for ucrtbased.dll.

This also fixes some erroneous double quotes, probably left over from
previous changes I made to this file.

This is in preparation for landing and then using crrev.com/c/1330185

Bug: 893460
Change-Id: I1fa775b662e3c0483174c32ad3c73f30f2802ea9
Reviewed-on: https://chromium-review.googlesource.com/c/1339101
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#608951}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 18fbbd37a80afefbc456bfda44656937c154708b
2018-11-16 21:20:04 +00:00
Yoshisato Yanagisawa 8025cd40a2 vs_toolchain.py: empty line between L15 and L16
Change-Id: I960d10e7c83169918e49bf923c6c32d6ffa1b5f7
Reviewed-on: https://chromium-review.googlesource.com/c/1317111
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#605281}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1a0b634961471d89232bbe2c132140de0e44042c
2018-11-05 08:57:34 +00:00
Yoshisato Yanagisawa a68b5f9ecc Fixed lint warning on vs_toolchain.py.
This CL fixes the following warning:

W: 133, 2: Unused variable 'version' (unused-variable)
Change-Id: I73a3eb3fe40b46196a2fbf014c398bd90e693ced
Reviewed-on: https://chromium-review.googlesource.com/c/1317009
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#605260}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ab1d64d285d7dcd97515647d50488fa6ae45241
2018-11-05 06:00:15 +00:00
Tom Tan 47b1e3d07e Add Windows ARM64 support to Chromium build scripts.
This change mostly contains build script change under //chrome/build only.
It is targeting MSVC arm64 toolset, but enable clang-cl
could be based on this change.

Bug: 893460
Change-Id: Ia6f69f067a97fcaeb77021c1019bc594b0859eda
Reviewed-on: https://chromium-review.googlesource.com/c/1272076
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Steven Valdez <svaldez@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600083}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d5bf20624a99401dcb6c9e6aee9244334008222b
2018-10-16 19:37:14 +00:00
Nico Weber 2c37438a00 Remove some unused code.
gyp is no longer needed on sys.path after
https://chromium-review.googlesource.com/c/chromium/src/+/1063611

Bug: 826218
Change-Id: I5ee268cab2f75b4fd6bddd62685f14dee4669626
Reviewed-on: https://chromium-review.googlesource.com/1199572
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#588182}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a2b6b8e797fe4091b994626e77069b206be9ab38
2018-08-31 21:51:38 +00:00
Niels Möller 9748a63a01 Delete code to manipulate GYP_DEFINES
This drops the gyp dependency from vs_toolchain.py. Setting of other
GYP_MSVS_* environment variables left unchanged.

Bug: 826218
Change-Id: I86e20065e95e17f85566440009df40eaf27069ac
Reviewed-on: https://chromium-review.googlesource.com/1063611
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Niels Möller <nisse@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565949}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 741f5154b4a7b218924cd389d7730c6f909d16b6
2018-06-11 09:07:50 +00:00
Bruce Dawson 2e17643119 Update toolchain package to fix dbghelp.dll bug
This change updates the VS 2017 package to fix a bad version of
dbghelp.dll in the Debuggers package, caused by a now-obsolete
workaround in the packaging script, removed in crrev.com/c/1086990.

The package still uses VS 2017 Update 7.1 and the 10.0.17134.12 SDK.

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

Compiler was packaged up by downloading VS 2017 Update 7.1, from
https://www.visualstudio.com/vs/, and then passing these parameters to
the installer:

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

Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
the Debuggers package.

Then the packaging script was run like this:

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

The results were compared to make sure that there were no unintended changes. One
quirk is that the new package is missing the arm/arm64 directories in Debuggers,
which is correct, whereas the previous package was *not* missing them, for some
reason. Other than that there are no unintended changes.

Bug: 773476, 846313
Change-Id: I43db2ea95999fb7b2aeb02ba078e70298b62ffad
Reviewed-on: https://chromium-review.googlesource.com/1086992
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565106}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ac88874511d02aaf42ebbefaf078d8c8f8c2af8a
2018-06-06 23:52:33 +00:00
Hans Wennborg b7c8b88331 Reland "Fixed SDK lookup for non C:\ Windows installation."
This reverts commit 864136ef9686128f4afbfe6146cd3e2d08182d52.

Reason for revert:
While it seems this did trigger the cdb failures in crbug.com/846313,
it was not the root cause and reverting it didn't actually help.

Original change's description:
> Revert "Fixed SDK lookup for non C:\ Windows installation."
> 
> This reverts commit 57fd44c74e13be05a3091976f9bcee39ee8f703e.
> 
> Reason for revert: suspect for messing up symbols on Win7 bot
>                    @ crbug.com/846313
> 
> Original change's description:
> > Fixed SDK lookup for non C:\ Windows installation.
> >
> > Bug: None
> > Change-Id: Ia0aa186d1d39b1beac8ce0152683f774ad5d2eaf
> > Reviewed-on: https://chromium-review.googlesource.com/1066065
> > Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> > Commit-Queue: Jochen Eisinger <jochen@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#561063}
> 
> TBR=jochen@chromium.org,yura.yaroshevich@gmail.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: 846313
> Change-Id: Id93a965aea5555961c539d47e05e79410894eff8
> Reviewed-on: https://chromium-review.googlesource.com/1072307
> Commit-Queue: Gabriel Charette <gab@chromium.org>
> Reviewed-by: Gabriel Charette <gab@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#561609}

TBR=gab@chromium.org,jochen@chromium.org,yura.yaroshevich@gmail.com

Bug: 846313
Change-Id: I9955a47bbe8a81a0dcf7befebfc422560f8a1cc4
Reviewed-on: https://chromium-review.googlesource.com/1073314
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#561873}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2e7257da41fbc81029fae5f306ae8123ec975f0c
2018-05-25 14:41:24 +00:00
Gabriel Charette a1001a0a35 Revert "Fixed SDK lookup for non C:\ Windows installation."
This reverts commit 57fd44c74e13be05a3091976f9bcee39ee8f703e.

Reason for revert: suspect for messing up symbols on Win7 bot
                   @ crbug.com/846313

Original change's description:
> Fixed SDK lookup for non C:\ Windows installation.
>
> Bug: None
> Change-Id: Ia0aa186d1d39b1beac8ce0152683f774ad5d2eaf
> Reviewed-on: https://chromium-review.googlesource.com/1066065
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Commit-Queue: Jochen Eisinger <jochen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#561063}

TBR=jochen@chromium.org,yura.yaroshevich@gmail.com

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

Bug: 846313
Change-Id: Id93a965aea5555961c539d47e05e79410894eff8
Reviewed-on: https://chromium-review.googlesource.com/1072307
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#561609}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 864136ef9686128f4afbfe6146cd3e2d08182d52
2018-05-24 20:26:28 +00:00
Yura Yaroshevich 40e03061e7 Fixed SDK lookup for non C:\ Windows installation.
Bug: None
Change-Id: Ia0aa186d1d39b1beac8ce0152683f774ad5d2eaf
Reviewed-on: https://chromium-review.googlesource.com/1066065
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#561063}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 57fd44c74e13be05a3091976f9bcee39ee8f703e
2018-05-23 14:09:44 +00:00
Bruce Dawson 2273e4bf46 Reland "Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK"
This is a reland of 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda

goma now supports this compiler and the new warnings were dealt with.

Original change's description:
> Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK
>
> This change switches the VS 2017 package to use VS 2017 Update 7.1 while
> using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
> features, and to stop forcing external developers to install an old
> ([Spring] Creators Update) SDK. This change will also bring in a new
> linker and other build tools, but the version of clang-cl will be
> unchanged.
>
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
>
> Compiler was packaged up by downloading VS 2017 Update 7.1, from
> https://www.visualstudio.com/vs/, and then passing these parameters to
> the installer:
>
>     --add Microsoft.VisualStudio.Workload.NativeDesktop
>     --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
>     --passive
>
> Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
> the Debuggers package.
>
> Then the packaging script was run like this:
>
>   python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17134.0
>
> Bug: 773476
> Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
> Reviewed-on: https://chromium-review.googlesource.com/1054027
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#559033}

Bug: 773476,834213
Change-Id: I903158f9dfa604f250010a7047496509f51782e7
Reviewed-on: https://chromium-review.googlesource.com/1066130
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#560002}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 82a5f004e0e52897a6e8bac10490a14fc2845625
2018-05-18 20:05:49 +00:00
Bruce Dawson aa787a64fe Revert "Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK"
This reverts commit 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda.

Reason for revert: this breaks v8's VC++ goma builds, reverting until
goma is updated to support this compiler

Original change's description:
> Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK
> 
> This change switches the VS 2017 package to use VS 2017 Update 7.1 while
> using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
> features, and to stop forcing external developers to install an old
> ([Spring] Creators Update) SDK. This change will also bring in a new
> linker and other build tools, but the version of clang-cl will be
> unchanged.
> 
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
> 
> Compiler was packaged up by downloading VS 2017 Update 7.1, from
> https://www.visualstudio.com/vs/, and then passing these parameters to
> the installer:
> 
>     --add Microsoft.VisualStudio.Workload.NativeDesktop
>     --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
>     --passive
> 
> Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
> the Debuggers package.
> 
> Then the packaging script was run like this:
> 
>   python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.17134.0
> 
> Bug: 773476
> Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
> Reviewed-on: https://chromium-review.googlesource.com/1054027
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#559033}

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

Change-Id: Ib8e84084a9717dafa6616f132b4824d93cbf39bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 773476
Reviewed-on: https://chromium-review.googlesource.com/1063810
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559471}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7ad7e759dd35a114375a671f02669c9a0283bea1
2018-05-17 09:35:36 +00:00
Bruce Dawson 74bdaa2547 Switch to VS 2017 15.7.1 with 10.0.17134.0 SDK
This change switches the VS 2017 package to use VS 2017 Update 7.1 while
using the 10.0.17134.12 SDK. The new SDK is needed to support new HDR
features, and to stop forcing external developers to install an old
([Spring] Creators Update) SDK. This change will also bring in a new
linker and other build tools, but the version of clang-cl will be
unchanged.

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

Compiler was packaged up by downloading VS 2017 Update 7.1, from
https://www.visualstudio.com/vs/, and then passing these parameters to
the installer:

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

Then Add or Remove Programs was used to modify the 10.0.17134.0 SDK to add
the Debuggers package.

Then the packaging script was run like this:

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

Bug: 773476
Change-Id: Ic819f3ae79d7e869227bf33fbb8d202e2f57039b
Reviewed-on: https://chromium-review.googlesource.com/1054027
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#559033}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5a7f3c442684be5eeb244b904bbfc8e6edaf6fda
2018-05-16 10:55:30 +00:00
Johann 8bdd49e0f7 visual studio setup: require older SDK
Support for the latest SDK is incomplete. Mention the required version
when prompting the developer.

R=brucedawson@chromium.org

Bug: 773476
Change-Id: I01010f0db251e11617fb879845940fa2aee19f7b
Reviewed-on: https://chromium-review.googlesource.com/1050691
Commit-Queue: Johann Koenig <johannkoenig@google.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557178}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 21a82c61057f6ef171caa85a6df424f1e5eb6a39
2018-05-09 14:38:58 +00:00
Kimmo Kinnunen 212a45b5be Support MSVC depot tools toolchains for 3rd parties
Third parties would construct toolchain packages on their own,
with the best of their abilities, based on the instructions
provided.

They could then accumulate <canonical hash> -> <their own hash> pairs
in their environment to support historical builds.

Example mapping:
set GYP_MSVS_HASH_1180cb75833ea365097e279efb2d5d7a42dee4b0=4181fce548fece344a85cb6898cf996692998531

Bug: 836225
Change-Id: I4a46e51b09049340344c9717481b141a2a7c296b
Reviewed-on: https://chromium-review.googlesource.com/1025896
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Cr-Original-Commit-Position: refs/heads/master@{#553476}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 82979c0f0f248f2fe60dfa142c3c193ced1f7572
2018-04-25 07:28:57 +00:00
Yngve N. Pettersen dafbe57ab6 GN: Fix bootstrap call to setup_toolchain
The parameters to setup_toolchain changed, adding an OS parameter and a
filename for the environment file.

Additional fixes:
- Add missing base file to list of files
- vs_toolchain should output Windows paths properly escaped

Change-Id: I0e05bf34c8b603f16b901e76164e480121ed9d14
Reviewed-on: https://chromium-review.googlesource.com/1013926
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Yngve Pettersen <yngve@vivaldi.com>
Cr-Original-Commit-Position: refs/heads/master@{#551341}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 95fe44b3c31cf5e1a668d9ef8853aaf2cf9523a5
2018-04-17 15:26:29 +00:00
Robin Raymond 3f91e89a37 WinUWP store application support is out of date
This is required to support building Microsoft's WinUWP store
application version of WebRTC.

vs_toolchain.py
- needed to perform environment variable expansion for "Program
Files(x86)" to correctly identify Visual Studio installation location

config/BUILD.gn
- remove delayimp.lib, kernel32.lib and ole32.lib from store
applications (instead requires dloadhelper.lib/WindowsApp.lib
must be used)

BUILDCONFIG.gn
- Do not use clang when compiling Windows UWP targets;
- Added declare_args for is_target_winuwp rather and stripped multi
defined variations of the host_os/current_os == "winrt_10", "winrt_81",
"winrt_81_phone" that heavily polluted the platform / target selections
(as the current targeting methodology is incorrect anyway). The
host_os/current_os is always be "win" and only the target should be
Windows UWP / store applications based on the target_os == "winuwp"
rather than all the flavors of UWP.
- Added filter for _winuwp source files (separate from just windows)
- Added default configs for desktop vs store applications to correctly set
the defines according to the desktop vs store targets

config/win/BUILD.gn
- The Windows UWP versioning assumes to be Windows 10 / store
app now although a updated GN allows for targeting older Windows UWP
versions/SDKs/device families. This allows the definitions for the
various application support versioning and application families required
for UWP to be set.
- The linker calls vsvarsall.bat to be executed via
toolchain/win/setup_toolchain.py in order to correctly identify the
correct linker library path information for Windows store SDK targets.
The hard coded and assumed library paths are fixed in all cases to be
discovered from the tooling for forward future platform support in all
cases.
- Added ARM linkage definitions for the Windows ARM CPU required for
properly targeting all three CPUs (x86, x64, arm) for universal store
binaries.
- Added the proper family C++/C defines required to target the various
Windows store application types currently offered for Windows UWP store
applications.

toolchain/win/BUILD.gn
- The name to support the storage of the environment variables now is
passed into the setup script to allow for easier extension of the
CPUs and target combinations (arm, x64, x86 in the desktop vs store
variations)
- "desktop" vs "store" is now specified the setup for the
correct toolchain targeting
- Sets true/false for is_target_winuwp is dependent on the toolchain
activated (so configurations will be set correctly when the toolchain is
specified for host tool targets required for build tools vs finalized
application targets)
- Cleaned up the Windows RT section to properly support Windows UWP
toolchains

toolchain/win/setup_toolchain.py
- the setup was missing the arm CPU for universal binaries required for
the UWP platform
- The calling of vcvarsall.bat was missing the "store" option for store
applications and all the CPU offered
- Added returning of linker paths by searching the library environments
for well-known library files expected in each of the 3 library paths
required "lib", "um" and "atlmfc"

R=phoglund@google.com

Bug: 812814
Change-Id: If1a6b1b1bc3ed940fc8e2ce726ac016e2491e61d
Reviewed-on: https://chromium-review.googlesource.com/923161
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#545751}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c5686578e8f519eeec50f574b284fbc12e6e15d8
2018-03-26 10:07:40 +00:00
Nico Weber ebeec89ed0 Download ciopfs from a hook in win/cross builds.
Useful for people where the linux installation doesn't provide it by
default, and for bots.

I copied the system ciopfs binary on my ubuntu trusty box to build/ciopfs
and ran:

  upload_to_google_storage.py -b chromium-browser-clang/ciopfs build/ciopfs

Bug: 808098
Change-Id: Ia6dd7548a5a5761898506f6bbe50625c33151988
Reviewed-on: https://chromium-review.googlesource.com/897890
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#533804}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 762993055a75a8f62232e5454f16b566a2de7e3c
2018-02-01 20:36:45 +00:00
Bruce Dawson faea547f4f Repackaged VS 2017 with updated Debuggers
Due to bugs in the Fall Creators Update SDK we can't build Chromium with
clang with that SDK. However the debuggers package (windbg and friends)
in the "spring" Creators Update SDK can't handle fastlink PDBs reliably.

So, this repackages the previous toolchain with the debuggers package
from the Fall Creators Update SDK.

This makes no difference to the builds, although it does mean that an
updated copy of dbghelp.dll will be copied to the build directories.

I created this package by manually copying over the new debuggers
directory and then running:

    python package_from_installed.py --repackage=...

Bug: 773476
Change-Id: I05b37d518e3700e125eee5bbcb2cbf885d01afc5
Reviewed-on: https://chromium-review.googlesource.com/827629
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#524481}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ecef9073a76e802f1989dfc87749f4da0f2722ed
2017-12-15 22:06:00 +00:00
Bruce Dawson 6be95fa4b4 Remove obsolete references to VS 2015
Chrome cannot build with VS 2015 anymore. Having it listed as a
supported compiler can lead to confusion for new Chromium developers.
This change scrubs inappropriate '2015' references from the Chromium
repo.

Bug: 683729
Change-Id: I2e02bc31ae8fd57a31ac65f1bb8a45eb5a5cd433
Reviewed-on: https://chromium-review.googlesource.com/807526
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#521829}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cea79358b2c6f2d0d7834f3d153072fbe0bcc1a5
2017-12-05 21:09:47 +00:00
Bruce Dawson 0b9141f2a8 Revert "VS 2017 15.4 with 10.0.15063.468 SDK"
This reverts commit 70155edf7d3f4ffa931adc3077968ee99b9462ac.

Reason for revert: the 15.4 toolchain breaks incremental linking for
Chrome (crbug.com/780161)

Original change's description:
> VS 2017 15.4 with 10.0.15063.468 SDK
> 
> This change switches the VS 2017 package to use VS 2017 Update 4 while
> still using the 10.0.15063.468 SDK. Update 4 fixes at least one code-gen
> bug (crbug.com/759402) but the 10.0.16299.0 SDK is still incompatible
> with Chrome (crbug.com/773476).
> 
> Packaging was done on a Windows Server 2016 VM, cleanly created for this
> purpose.
> 
> Compiler was packaged up by downloading VS 2017 Update 4, from
> https://www.visualstudio.com/vs/, and then passing these parameters to
> the installer:
> 
>     --add Microsoft.VisualStudio.Workload.NativeDesktop
>     --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended
>     --passive
> 
> Then the Windows 10.0.15063.468 SDK installer was run and everything was
> installed except for the Windows Performance Toolkit, .Net Framework,
> and the arm SDKs.
> 
> Then the packaging script was run like this:
> 
>     python depot_tools\win_toolchain\package_from_installed.py 2017 -w 10.0.15063.0
> 
> Bug: 773476,759402
> Change-Id: Ie2176b5ff765d9e5497f51a7b00c02fad04fb973
> Reviewed-on: https://chromium-review.googlesource.com/727523
> Reviewed-by: Scott Graham <scottmg@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#510207}

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

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

Bug: 773476, 759402
Change-Id: Ica63e9740c954499b85ee891fb3bec0d48dd70fb
Reviewed-on: https://chromium-review.googlesource.com/753422
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#513965}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: db45606398cf4389bf332b0cdcffd04e7de4a4f6
2017-11-03 23:48:27 +00:00
Bruce Dawson 4ae855d16b VS 2017 15.4 with 10.0.15063.468 SDK
This change switches the VS 2017 package to use VS 2017 Update 4 while
still using the 10.0.15063.468 SDK. Update 4 fixes at least one code-gen
bug (crbug.com/759402) but the 10.0.16299.0 SDK is still incompatible
with Chrome (crbug.com/773476).

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

Compiler was packaged up by downloading VS 2017 Update 4, from
https://www.visualstudio.com/vs/, and then passing these parameters to
the installer:

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

Then the Windows 10.0.15063.468 SDK installer was run and everything was
installed except for the Windows Performance Toolkit, .Net Framework,
and the arm SDKs.

Then the packaging script was run like this:

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

Bug: 773476,759402
Change-Id: Ie2176b5ff765d9e5497f51a7b00c02fad04fb973
Reviewed-on: https://chromium-review.googlesource.com/727523
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#510207}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 70155edf7d3f4ffa931adc3077968ee99b9462ac
2017-10-19 21:00:20 +00:00
Nico Weber 084fca5b2c win/cross/linux: Pass -o use_ino to ciopfs.
See the comment added in the .py file for details.

Bug: 495204
Change-Id: I2769ceeff8728c6764c8e9cab9e9a68eac0f196c
Reviewed-on: https://chromium-review.googlesource.com/720397
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#509106}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2a1a2bded29ecebd70e498f7fadcdf53baeb99b3
2017-10-16 18:07:05 +00:00
Nico Weber d50b7d794d Don't silently ignore Update() errors in vs_toolchain script.
Bug: none
Change-Id: Icc1719245f33d7dd9002f1b488203288fa080df6
Reviewed-on: https://chromium-review.googlesource.com/716342
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508482}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 14d5f36636eb8f5fd1cedec29a368ff2eec3a45d
2017-10-12 21:44:37 +00:00
Nico Weber 3c8323132c Auto-download Win SDK on non-Win hosts if 'win' is in target_os in .gclient.
Also, automatically set up a case-insensitive user-space file system mount
for the Windows SDK when on Linux.

This implements https://bugs.chromium.org/p/chromium/issues/detail?id=495204#c82

Bug: 495204
Change-Id: I8c6833570bfffffcfd9b52f31a5ee5e620f46620
Reviewed-on: https://chromium-review.googlesource.com/713999
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508375}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a13ad93cde595521492169db950406efa6612a76
2017-10-12 18:52:40 +00:00
Bruce Dawson ddb142bd33 Repackaged VS 2017 with updated SetEnv.cmd
Clang sanitizer tests don't build with MSVC2017 SDK due to a missing
environment variable. The packaging script has been updated to provide
that in the future but this is just a repackaging of the previous
package with a spot-fix, using a new --repackage option to
win_toolchain/package_from_installed.py.

To test this I did a "gclient runhooks" to pull down the new package
and then did a directory compare. This verified that the only file
that is changed is SetEnv.cmd and the only change there is to add:

set VCToolsInstallDir=%~dp0..\..\VC\Tools\MSVC\14.11.25503\

So, this should give identical results to the previous package except
in the case where VCToolsInstallDir is needed.

Bug: 772123
Change-Id: I70644d24e306825abbb4245802c7c3234c4b54dc
Reviewed-on: https://chromium-review.googlesource.com/713441
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508151}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5aed7b7bbfb9311aa80b293c8d9e21f099fff776
2017-10-11 22:52:33 +00:00
Henrik Kjellander 159ee37d27 vs_toolchain.py: Add default path for MSVS 2017 Enterprise.
bertholdherrmann08@googlemail.com reported this issue for WebRTC
and it seems easy to just add
r'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise'
to the predefined paths.

BUG=webrtc:8299

Change-Id: I3bec73e2ef48e1a2b7e05a4df38faed2efc5ebfc
Reviewed-on: https://chromium-review.googlesource.com/691730
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#505419}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 84e6c2d657fc4b56d6736eaacae55342058729c1
2017-09-29 17:54:33 +00:00
Bruce Dawson e4a127f39e 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: Ib1cd215618983f12f2bdb141211028464ded1175
Reviewed-on: https://chromium-review.googlesource.com/678859
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#503915}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d7af1e3aba05d9839ecffa52585b6e4808212142
2017-09-23 00:35:11 +00:00
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