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

196 Коммитов

Автор SHA1 Сообщение Дата
Bruce Dawson f4bfd72b52 Fix vs_toolchain.py for Python 3
vs_toolchain.py gets a directory listing for win_sdk_dir\bin and then
sorts it by converting the 10.x.x.x directory names to tuples of
integers. This fails on Python 3 because int and str types are not
comparable so directories with non-integral (non-version) names caused
comparison failures when compared against integral (version) names. This
change filters out the unwanted names before sorting instead of after
sorting, which lets this work on Python 3 (tested by running manually).

A misleading variable name was also changed.

This was reported by a pdfium user.

Change-Id: Ifb0accd831945c6d0eb44e838071b8ddd609ddb2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2309454
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790446}
GitOrigin-RevId: 5f9def8bd1a92e81ea7dd577bc5c7f149e79ea90
2020-07-21 10:22:16 -07:00
Alan Cutter 3a5fbeb277 Update error help text for the debugger in vs_toolchain.py
This CL makes it more clear than Windows 10 SDK version 10.0.19041.0 is
needed generally.

Bug: 1089996
Change-Id: Ifbb1ecb5abf5d494123a2b773dea4dafc8d61d37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2265896
Auto-Submit: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#783719}
GitOrigin-RevId: 6e4526c0e39a1dbece323d292ceb287e4d3f4756
2020-06-29 16:06:05 -07:00
Bruce Dawson 59554e5cf0 Don't require UCRT files on ARM64
The UCRT is not a redistributable component on ARM64 so it can't be a
required SDK component. This adjust the required list of files for
ARM64.

The toolchain roll made these files required which broke the ARM64 FYI
bot:

https://ci.chromium.org/p/chromium/builders/ci/win32-arm64-rel

Local testing shows that this fixes ARM64 builds, at least enough to
build base.

Bug: 1089996

Change-Id: Ic32526aa48f717cdb8bbe42f2e45e9449ede5164
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2264153
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781876}
GitOrigin-RevId: a4703938c026e0a44e099c3da05ef0845348c37e
2020-06-25 12:57:36 -07:00
Bruce Dawson 414118826c Reland "Reland "New toolchain for Windows 10 19041 SDK""
This reverts commit ed0697fcf0f958c1bc6643d911d99b1d9b52ed9b.

Reason for revert: crrev.com/c/2255126 fixes the midl.py failures
on Windows 7 class OSes and crrev.com/c/2260933 rolls in a native_client
change that stops preprocessing .S files with cl.exe. With those
changes cl.exe is not used in the build on Windows 7 anymore and that
should let this toolchain land.

This change now locks the SDK version to 10.0.19041.0 for users who
don't use a packaged toolchain which ensures consistency and should
simplify future toolchain upgrades. This change was tested with the
lock as shown and with a lock to a previous SDK version.

Original change's description:
> Revert "Reland "New toolchain for Windows 10 19041 SDK""
>
> This reverts commit 424526a023397ebbe6555ea27b82f66c137e8022.
>
> Reason for revert: win64-chrome build succeeded (progress) but
> win32-chrome builder failed with a previously unseen error, shown
> here:
>
> [170/58214] ACTION //remoting/host/win:remoting_lib_idl_idl_action(//build/toolchain/win:win_clang_x86)
> FAILED: gen/remoting/host/win/chromoting_lib.h gen/remoting/host/win/chromoting_lib.dlldata.c gen/remoting/host/win/chromoting_lib_i.c gen/remoting/host/win/chromoting_lib_p.c gen/remoting/host/win/chromoting_lib.tlb
> c:\b\s\w\ir\cipd_bin_packages\cpython\bin\python.exe ../../build/toolchain/win/midl.py environment.x86 c:/b/s/w/ir/cache/builder/src/third_party/win_build_output/midl/remoting/host/win gen/remoting/host/win 7219b935-4873-533b-9ce1-20c9e9b12def chromoting_lib.tlb chromoting_lib.h chromoting_lib.dlldata.c chromoting_lib_i.c chromoting_lib_p.c gen/remoting/host/win/chromoting_lib.idl /char signed /env win32 /Oicf
> cl : Command line error D8027 : cannot execute 'c:\b\s\w\ir\cache\builder\src\third_party\depot_tools\win_toolchain\vs_files\a687d8e2e4114d9015eb550e1b156af21381faac\win_sdk\bin\..\..\VC\Tools\MSVC\14.26.28801\bin\HostX64\x86\c1.dll'
> midl : command line error MIDL1003 : error returned by the C preprocessor (2)
>
> Original change's description:
> > Reland "New toolchain for Windows 10 19041 SDK"
> >
> > This is a reland of 4a4f53a7f22f9058b2f171fc46bc5657bbe83e45
> >
> > The original patch would fail to build on the mksnapshot step on
> > Windows 7 (and server equivalents). This was due to two APISet DLLs
> > that are required for the new dbghelp.dll. This change copies the two
> > of them during gn gen. In order to have them as part of the isolates
> > for cdb and in order to avoid dangerous ambiguity they are now
> > required, which means that when this change lands the new SDK will be
> > required. This is slightly disruptive for developers who aren't using
> > our toolchain, but it seems unavoidable.
> >
> > Developers who don't have the latest SDK installed will hit this error
> > message during gn gen:
> >
> >  Exception: api-ms-win-downlevel-kernel32-l2-1-0.dll not found in "..."
> >  You must install the "Debugging Tools for Windows" feature from the
> >  Windows 10 SDK, the 10.0.19041.0 version.
> >
> > Original change's description:
> > > New toolchain for Windows 10 19041 SDK
> > >
> > > This change updates the toolchain package used to build Chromium with
> > > the 10.0.19041.0 (2020-04) SDK and VS 16.6.1. The d3dcompiler_47.dll
> > > DLLs for x86 and x64 were swapped out for the 10.0.17134 versions (as
> > > usual).
> > >
> > > The Debuggers directory was not swapped out this time because the
> > > problem with loading dbghelp.dll on Windows 7
> > > (https://crbug.com/1021650) has been resolved.
> > >
> > > The output for the cdb copy step was updated because one additional UCRT
> > > DLL is now copied.
> > >
> > > Packaging was done on a Windows Server 2019 VM, cleanly created for this
> > > purpose.
> > >
> > > The package was created by downloading the VS Professional 2019
> > > installer from https://visualstudio.microsoft.com/downloads/
> > > (free trial, not preview) 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 the latest Windows 10 SDK was downloaded and installed from
> > > https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
> > >
> > > Then the packaging script was run like this:
> > >
> > >   python3 depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.19041.0
> > >
> > > Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid
> > > shipping that (https://crbug.com/920704) the final packaging step was to
> > > unzip the package, copy over the two copies of that DLL from the
> > > previous toolchain's win_sdk\Redist, and then repackage the toolchain
> > > with:
> > >   > python3 package_from_installed.py --repackage=<full-path-to-toolchain-dir>
> > >
> > > UWP and ARM64 support and Python 3 compatibility were previously added
> > > to package_from_installed.py.
> > >
> > > Future changes will require the new SDK, but for now the previous SDK
> > > can also be used to build Chromium.
> > >
> > > The failures on the win*msvc* bots are unrelated. This was proven by
> > > creating crrev.com/c/2245914 which is a NOP toolchain test. The existing
> > > toolchain was repackaged with a single text file added and that caused
> > > identical failures.
> > >
> > > Bug: 920704, 1014701, 1021650, 1089996
> > > Change-Id: Ie496354582458aa8c1292ed4ef63d949ee2eb15d
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2225224
> > > Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> > > Reviewed-by: Henrik Andreasson <henrika@chromium.org>
> > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > > Reviewed-by: Nico Weber <thakis@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#778924}
> >
> > Bug: 920704, 1014701, 1021650, 1089996, 1095767
> > Change-Id: I75e7653d57964e2929106e41b3f50594d3969e5f
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2249394
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Jesse McKenna <jessemckenna@google.com>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#780431}
>
> TBR=dcheng@chromium.org,henrika@webrtc.org,thakis@chromium.org,brucedawson@chromium.org,henrika@chromium.org,jessemckenna@google.com,jmadill@chromium.org
>
> Change-Id: If00e3865e66d9071189b2aca28f7541ecbdc6486
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 920704, 1014701, 1021650, 1089996, 1095767
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2255558
> Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#780467}

TBR=dcheng@chromium.org,henrika@webrtc.org,thakis@chromium.org,brucedawson@chromium.org,henrika@chromium.org,jessemckenna@google.com,jmadill@chromium.org

Bug: 920704, 1014701, 1021650, 1089996, 1095767
Change-Id: I68e4c246ee903ba48d59b3bdea913ea3975c49d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2255527
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Henrik Andreasson <henrika@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781663}
GitOrigin-RevId: a90d6d8f4ed7c9302f9329d205d0dc585997ab8f
2020-06-25 12:56:46 -07:00
Bruce Dawson 99fe6c973d Revert "Reland "New toolchain for Windows 10 19041 SDK""
This reverts commit 424526a023397ebbe6555ea27b82f66c137e8022.

Reason for revert: win64-chrome build succeeded (progress) but
win32-chrome builder failed with a previously unseen error, shown
here:

[170/58214] ACTION //remoting/host/win:remoting_lib_idl_idl_action(//build/toolchain/win:win_clang_x86)
FAILED: gen/remoting/host/win/chromoting_lib.h gen/remoting/host/win/chromoting_lib.dlldata.c gen/remoting/host/win/chromoting_lib_i.c gen/remoting/host/win/chromoting_lib_p.c gen/remoting/host/win/chromoting_lib.tlb 
c:\b\s\w\ir\cipd_bin_packages\cpython\bin\python.exe ../../build/toolchain/win/midl.py environment.x86 c:/b/s/w/ir/cache/builder/src/third_party/win_build_output/midl/remoting/host/win gen/remoting/host/win 7219b935-4873-533b-9ce1-20c9e9b12def chromoting_lib.tlb chromoting_lib.h chromoting_lib.dlldata.c chromoting_lib_i.c chromoting_lib_p.c gen/remoting/host/win/chromoting_lib.idl /char signed /env win32 /Oicf
cl : Command line error D8027 : cannot execute 'c:\b\s\w\ir\cache\builder\src\third_party\depot_tools\win_toolchain\vs_files\a687d8e2e4114d9015eb550e1b156af21381faac\win_sdk\bin\..\..\VC\Tools\MSVC\14.26.28801\bin\HostX64\x86\c1.dll'
midl : command line error MIDL1003 : error returned by the C preprocessor (2)

Original change's description:
> Reland "New toolchain for Windows 10 19041 SDK"
> 
> This is a reland of 4a4f53a7f22f9058b2f171fc46bc5657bbe83e45
> 
> The original patch would fail to build on the mksnapshot step on
> Windows 7 (and server equivalents). This was due to two APISet DLLs
> that are required for the new dbghelp.dll. This change copies the two
> of them during gn gen. In order to have them as part of the isolates
> for cdb and in order to avoid dangerous ambiguity they are now
> required, which means that when this change lands the new SDK will be
> required. This is slightly disruptive for developers who aren't using
> our toolchain, but it seems unavoidable.
> 
> Developers who don't have the latest SDK installed will hit this error
> message during gn gen:
> 
>  Exception: api-ms-win-downlevel-kernel32-l2-1-0.dll not found in "..."
>  You must install the "Debugging Tools for Windows" feature from the
>  Windows 10 SDK, the 10.0.19041.0 version.
> 
> Original change's description:
> > New toolchain for Windows 10 19041 SDK
> >
> > This change updates the toolchain package used to build Chromium with
> > the 10.0.19041.0 (2020-04) SDK and VS 16.6.1. The d3dcompiler_47.dll
> > DLLs for x86 and x64 were swapped out for the 10.0.17134 versions (as
> > usual).
> >
> > The Debuggers directory was not swapped out this time because the
> > problem with loading dbghelp.dll on Windows 7
> > (https://crbug.com/1021650) has been resolved.
> >
> > The output for the cdb copy step was updated because one additional UCRT
> > DLL is now copied.
> >
> > Packaging was done on a Windows Server 2019 VM, cleanly created for this
> > purpose.
> >
> > The package was created by downloading the VS Professional 2019
> > installer from https://visualstudio.microsoft.com/downloads/
> > (free trial, not preview) 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 the latest Windows 10 SDK was downloaded and installed from
> > https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
> >
> > Then the packaging script was run like this:
> >
> >   python3 depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.19041.0
> >
> > Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid
> > shipping that (https://crbug.com/920704) the final packaging step was to
> > unzip the package, copy over the two copies of that DLL from the
> > previous toolchain's win_sdk\Redist, and then repackage the toolchain
> > with:
> >   > python3 package_from_installed.py --repackage=<full-path-to-toolchain-dir>
> >
> > UWP and ARM64 support and Python 3 compatibility were previously added
> > to package_from_installed.py.
> >
> > Future changes will require the new SDK, but for now the previous SDK
> > can also be used to build Chromium.
> >
> > The failures on the win*msvc* bots are unrelated. This was proven by
> > creating crrev.com/c/2245914 which is a NOP toolchain test. The existing
> > toolchain was repackaged with a single text file added and that caused
> > identical failures.
> >
> > Bug: 920704, 1014701, 1021650, 1089996
> > Change-Id: Ie496354582458aa8c1292ed4ef63d949ee2eb15d
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2225224
> > Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> > Reviewed-by: Henrik Andreasson <henrika@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#778924}
> 
> Bug: 920704, 1014701, 1021650, 1089996, 1095767
> Change-Id: I75e7653d57964e2929106e41b3f50594d3969e5f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2249394
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Jesse McKenna <jessemckenna@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#780431}

TBR=dcheng@chromium.org,henrika@webrtc.org,thakis@chromium.org,brucedawson@chromium.org,henrika@chromium.org,jessemckenna@google.com,jmadill@chromium.org

Change-Id: If00e3865e66d9071189b2aca28f7541ecbdc6486
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 920704, 1014701, 1021650, 1089996, 1095767
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2255558
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#780467}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ed0697fcf0f958c1bc6643d911d99b1d9b52ed9b
2020-06-19 22:09:06 +00:00
Bruce Dawson f61607a55e Reland "New toolchain for Windows 10 19041 SDK"
This is a reland of 4a4f53a7f22f9058b2f171fc46bc5657bbe83e45

The original patch would fail to build on the mksnapshot step on
Windows 7 (and server equivalents). This was due to two APISet DLLs
that are required for the new dbghelp.dll. This change copies the two
of them during gn gen. In order to have them as part of the isolates
for cdb and in order to avoid dangerous ambiguity they are now
required, which means that when this change lands the new SDK will be
required. This is slightly disruptive for developers who aren't using
our toolchain, but it seems unavoidable.

Developers who don't have the latest SDK installed will hit this error
message during gn gen:

 Exception: api-ms-win-downlevel-kernel32-l2-1-0.dll not found in "..."
 You must install the "Debugging Tools for Windows" feature from the
 Windows 10 SDK, the 10.0.19041.0 version.

Original change's description:
> New toolchain for Windows 10 19041 SDK
>
> This change updates the toolchain package used to build Chromium with
> the 10.0.19041.0 (2020-04) SDK and VS 16.6.1. The d3dcompiler_47.dll
> DLLs for x86 and x64 were swapped out for the 10.0.17134 versions (as
> usual).
>
> The Debuggers directory was not swapped out this time because the
> problem with loading dbghelp.dll on Windows 7
> (https://crbug.com/1021650) has been resolved.
>
> The output for the cdb copy step was updated because one additional UCRT
> DLL is now copied.
>
> Packaging was done on a Windows Server 2019 VM, cleanly created for this
> purpose.
>
> The package was created by downloading the VS Professional 2019
> installer from https://visualstudio.microsoft.com/downloads/
> (free trial, not preview) 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 the latest Windows 10 SDK was downloaded and installed from
> https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
>
> Then the packaging script was run like this:
>
>   python3 depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.19041.0
>
> Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid
> shipping that (https://crbug.com/920704) the final packaging step was to
> unzip the package, copy over the two copies of that DLL from the
> previous toolchain's win_sdk\Redist, and then repackage the toolchain
> with:
>   > python3 package_from_installed.py --repackage=<full-path-to-toolchain-dir>
>
> UWP and ARM64 support and Python 3 compatibility were previously added
> to package_from_installed.py.
>
> Future changes will require the new SDK, but for now the previous SDK
> can also be used to build Chromium.
>
> The failures on the win*msvc* bots are unrelated. This was proven by
> creating crrev.com/c/2245914 which is a NOP toolchain test. The existing
> toolchain was repackaged with a single text file added and that caused
> identical failures.
>
> Bug: 920704, 1014701, 1021650, 1089996
> Change-Id: Ie496354582458aa8c1292ed4ef63d949ee2eb15d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2225224
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Henrik Andreasson <henrika@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#778924}

Bug: 920704, 1014701, 1021650, 1089996, 1095767
Change-Id: I75e7653d57964e2929106e41b3f50594d3969e5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2249394
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#780431}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 424526a023397ebbe6555ea27b82f66c137e8022
2020-06-19 21:23:14 +00:00
Martin Kreichgauer 1baa92644d Don't attempt to copy vcruntime140_1*.dll when building with VS2017
Builds currently fail because the file doesn't exist in Visual Studio
2017.

Bug: 1089996
Change-Id: I1558fc11fda532406baf5b0af998c5e58a774aa5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2252620
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Martin Kreichgauer <martinkr@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#780056}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 500d3b24c07e68d5f0fc9a20f895544524ddc6b9
2020-06-18 22:54:31 +00:00
Bruce Dawson 6176c8d436 Revert "New toolchain for Windows 10 19041 SDK"
This reverts commit 4a4f53a7f22f9058b2f171fc46bc5657bbe83e45.

Reason for revert: Cryptic failure in v8 snapshot step, details in bug:

[28088/52852] ACTION //v8:run_mksnapshot_default(//build/toolchain/win:win_clang_x64)
FAILED: gen/v8/embedded.S snapshot_blob.bin
c:\b\s\w\ir\cipd_bin_packages\cpython\bin\python.exe ../../v8/tools/run.py ./mksnapshot --turbo_instruction_scheduling --target_os=win --target_arch=x64 --embedded_src gen/v8/embedded.S --embedded_variant Default --random-seed 314159265 --startup_blob snapshot_blob.bin --no-native-code-counters

TBR=thakis@chromium.org

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1095767
Change-Id: I3ebb7a7e638afd8936b7d0d98c328e53bc411209
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2248077
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#779044}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 308222cda6a3d546d3a75ce1cb488a8adaf0eb08
2020-06-16 22:44:34 +00:00
Bruce Dawson 471bf0b007 New toolchain for Windows 10 19041 SDK
This change updates the toolchain package used to build Chromium with
the 10.0.19041.0 (2020-04) SDK and VS 16.6.1. The d3dcompiler_47.dll
DLLs for x86 and x64 were swapped out for the 10.0.17134 versions (as
usual).

The Debuggers directory was not swapped out this time because the
problem with loading dbghelp.dll on Windows 7
(https://crbug.com/1021650) has been resolved.

The output for the cdb copy step was updated because one additional UCRT
DLL is now copied.

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

The package was created by downloading the VS Professional 2019
installer from https://visualstudio.microsoft.com/downloads/
(free trial, not preview) 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 the latest Windows 10 SDK was downloaded and installed from
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

Then the packaging script was run like this:

  python3 depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.19041.0

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid
shipping that (https://crbug.com/920704) the final packaging step was to
unzip the package, copy over the two copies of that DLL from the
previous toolchain's win_sdk\Redist, and then repackage the toolchain
with:
  > python3 package_from_installed.py --repackage=<full-path-to-toolchain-dir>

UWP and ARM64 support and Python 3 compatibility were previously added
to package_from_installed.py.

Future changes will require the new SDK, but for now the previous SDK
can also be used to build Chromium.

The failures on the win*msvc* bots are unrelated. This was proven by
creating crrev.com/c/2245914 which is a NOP toolchain test. The existing
toolchain was repackaged with a single text file added and that caused
identical failures.

Bug: 920704, 1014701, 1021650, 1089996
Change-Id: Ie496354582458aa8c1292ed4ef63d949ee2eb15d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2225224
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Henrik Andreasson <henrika@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#778924}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4a4f53a7f22f9058b2f171fc46bc5657bbe83e45
2020-06-16 19:25:52 +00:00
Bruce Dawson 1384eef992 Copy vcruntime140_1*.dll to output directory
In x64 builds there is an extra C runtime DLL called vcruntime140_1.dll
(and it's debug equivalent). This tiny DLL seems to be responsible for
some exception handling work. This DLL has existed for a while but with
the recent attempt to switch to a new toolchain it started being
required - its absence was causing 0xC0000135 failures when running
angle_deqp_egl_tests.exe in a release component build.

This change adds it to the list of CRT DLLs to copy, for x64 builds
only.

Bug: 1089996
Change-Id: I8c1a64864634f40007e5efeaff375bc88d86aefd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2238348
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#776707}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 808ee241dccb66e79264d3b41354ebd5a92215d6
2020-06-09 21:36:30 +00:00
Yngve N. Pettersen 17ec881a14 Add Support for Visual Studio BuildTools as a possible compiler
Change-Id: I495d0e0a151e6869c2eada7b949fc99c18f85a77
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2232363
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Yngve Pettersen <yngve@vivaldi.com>
Cr-Original-Commit-Position: refs/heads/master@{#775691}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7b7158d254c13a0390c947ab271df634f4cc9f34
2020-06-05 19:04:16 +00:00
Jiaxun Wei 24a9e612c3 fix vs%s_install environment variable
Bug: 1061344
Change-Id: If8f966a92069e5d6a6a157e29c3a454678cc9590
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2141564
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Auto-Submit: Jiaxun Wei <leuisken@gmail.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#758230}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4903609119f85e67dddaeace2add6b4149b924b6
2020-04-10 18:02:12 +00:00
Richard Townsend 541eb040bd Revert "build: workaround for VC v14.25 / MSVC 19.25"
This reverts commit 6c92556c5f3a1777e2d8bdaa4ff120659949d3d9.

Reason for revert: Visual Studio 16.5.2 released, which fixes the issue,
and the workaround is (ironically) incompatible with 16.5.2.

Original change's description:
> build: workaround for VC v14.25 / MSVC 19.25
>
> Adds a temporary fix to vs_toolchain.py to use the previous version of
> MSVC's header files and documents how to install the previous version
> alongside 19.25.
>
> Bug: 1058860
> Change-Id: I6e96af3c71b23e5c5430237d00125a5830c37855
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2117732
> Commit-Queue: Richard Townsend <richard.townsend@arm.com>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#753998}

TBR=sky@chromium.org,thakis@chromium.org,richard.townsend@arm.com

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

Bug: 1058860,1066935
Change-Id: I343aac7a0af7d89bf5497bf0d063e03731599f9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132379
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Richard Townsend <richard.townsend@arm.com>
Cr-Original-Commit-Position: refs/heads/master@{#755490}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2b707da0394355f6409e12dab30b932b1c3f5752
2020-04-01 19:34:54 +00:00
Richard Townsend e2ef5722d7 build: workaround for VC v14.25 / MSVC 19.25
Adds a temporary fix to vs_toolchain.py to use the previous version of
MSVC's header files and documents how to install the previous version
alongside 19.25.

Bug: 1058860
Change-Id: I6e96af3c71b23e5c5430237d00125a5830c37855
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2117732
Commit-Queue: Richard Townsend <richard.townsend@arm.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#753998}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c92556c5f3a1777e2d8bdaa4ff120659949d3d9
2020-03-27 13:54:23 +00:00
Yuly Novikov 25075ce2e6 Add UWP support to Windows toolchain.
This toolchain is a manual merge of UWP related changes from toolchain
b92fff97f2e0323e99803f37f4b77b843bdbf69d crrev.com/c/2015984
on top of the current toolchain version
8f58c55897a3282ed617055775a77ec3db771b88 crrev.com/c/1836195.

The changes to the current toolchain are:
1. Packing windows.winmd from 10.0.18362 SDK into the toolchain
2. Setting LIBPATH to windows.winmd and platform.winmd locations in
   SetEnv cmd and json files.

Manual merge was required because following go/chromium-msvc-toolchain
update instructions resulted in upgrading VS 2019 version to a faulty
compiler, see crbug.com/1045948.

This toolchain keeps all the components at the old versions:
VS 2019 version 16.3.1 build 16.3.29324.140
Windows SDK 10.0.18362
Debuggers 10.0.17763
d3dcompiler_47.dll 10.0.17134

Bug: 1032635
Change-Id: I9774cdbfa3e2be6f669b93048375283ac0c114c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2025528
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#736593}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2d9438cfda5f004407a9c858801c48acf7af20a9
2020-01-29 22:54:21 +00:00
Yuly Novikov bcd967488e Revert "Add UWP support to Windows toolchain."
This reverts commit 97c382025dcdeeefce880fe0cd073f4f6d206c50.

Reason for revert: miscompiles seen in crbug.com/1045948

Original change's description:
> Add UWP support to Windows toolchain.
> 
> Slight update to MSVC - VS version from 16.3.1 to 16.4.3 as a side effect.
> Other components kept at the old versions:
> Windows SDK 10.0.18362
> Debuggers 10.0.17763
> d3dcompiler_47.dll 10.0.17134
> 
> Packaging was done on a Windows Server 2019 VM, cleanly created for this
> purpose.
> 
> The package was created by downloading VS Professional 2019 installer
> from https://visualstudio.microsoft.com/downloads/
> 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
> 
> The 10.0.18362.0 SDK was installed by this as well.
> Then Add or Remove Programs was used to modify the 10.0.18362.0 SDK to add
> the Debuggers package.
> 
> Then the packaging script was run like this:
> 
>   python depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.18362.0
> 
> Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
> that the final packaging step was to unzip the package, copy over the two copies
> of that DLL from win_sdk\Redist, replace the Debuggers directory with the
> 10.0.17763 SDK, and then repackage the toolchain with:
>   > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>
> 
> UWP support was previously added to package_from_installed.py
> in http://crrev.com/c/2007881 and http://crrev.com/c/2013579
> 
> Bug: 1032635
> Change-Id: I85313de0529aa7591e5066bc697c640c5dc52463
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015984
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#734608}

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

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

Bug: 1032635
Change-Id: Ib3caeaab51cbc4c133955585c5ab4ba69ac480de
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2022357
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#735479}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7fe8d138b494ce2d5817011e8f2463bc79182146
2020-01-27 18:32:13 +00:00
Yuly Novikov ff2acf7b60 Add UWP support to Windows toolchain.
Slight update to MSVC - VS version from 16.3.1 to 16.4.3 as a side effect.
Other components kept at the old versions:
Windows SDK 10.0.18362
Debuggers 10.0.17763
d3dcompiler_47.dll 10.0.17134

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

The package was created by downloading VS Professional 2019 installer
from https://visualstudio.microsoft.com/downloads/
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

The 10.0.18362.0 SDK was installed by this as well.
Then Add or Remove Programs was used to modify the 10.0.18362.0 SDK to add
the Debuggers package.

Then the packaging script was run like this:

  python depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.18362.0

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
that the final packaging step was to unzip the package, copy over the two copies
of that DLL from win_sdk\Redist, replace the Debuggers directory with the
10.0.17763 SDK, and then repackage the toolchain with:
  > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>

UWP support was previously added to package_from_installed.py
in http://crrev.com/c/2007881 and http://crrev.com/c/2013579

Bug: 1032635
Change-Id: I85313de0529aa7591e5066bc697c640c5dc52463
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015984
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#734608}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 97c382025dcdeeefce880fe0cd073f4f6d206c50
2020-01-23 22:08:41 +00:00
Reid Kleckner 6a7cd0b2e4 Fix Py3 compat in vs_toolchain.py
In Python 3, dict.keys() returns a generator instead of a list. Call
list() to turn it into a list so that it can be indexed.

I bravely decided to put Python 3 on PATH, and I needed this in order to
re-run gn gen. This seems to be the only change needed to run `gn gen`.
Later on in the build there are Unicode errors during mojo binding
actions.

R=brucedawson@chromium.org, hans@chromium.org

Bug: 941669
Change-Id: Ib80e11798003999469776122b0a32f416909565b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2013514
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#733830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8653c97f6c7a4c268682a359c4ad3523d426eb64
2020-01-22 01:19:03 +00:00
Aaron Gable b7cea8012f Remove support for GYP_MSVS_VERSION env variable
We support changing Visual Studio versions with the `--ide=vs2017`
flag to `gn gen`. The default version is now VS2019.

Bug: 1038364
Change-Id: I4de7849aab72bfdf1a4ba7465858816500abf122
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1984705
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#729856}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dad9e0f52b911e561bed2073be39fa3540797d80
2020-01-09 19:38:52 +00:00
Sven Zheng 975cb1990b Remove setting ACLs after coping files
Added in crrev.com/c/1919544 trying to fix the bug. But it didn't work
and I've fixed the bug in crrev.com/c/1956145. So it's time to delete
these lines.

Bug: 956016
Change-Id: I73e7c89068652db2976a00cef106f644dbbfbd30
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1958697
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Sven Zheng <svenzheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#723550}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e135d70b5381b63313589966e73daa2c54f3abac
2019-12-10 22:36:41 +00:00
Joe Mason e2349a5c52 Don't call icacls when cross-compiling on non-Windows hosts
Change-Id: I658bf36195cbf39bb09166b19fa9643fbbed68ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1932091
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Joe Mason <joenotcharles@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#718845}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ead882878e27646844a9483a6221b128b223f72c
2019-11-25 22:01:53 +00:00
Sven Zheng e36fd70484 Grant system full access permission when copy files
See crbug.com/956016#c15 for why this fix can work. This fix won't
cause any issues because we don't check results.

TEST: Tested SYSTEM can grant permission.
Didn't test this fix can fix the test. I can only submit this first
and then enable the test and check.

Bug: 956016
Change-Id: I7dc6382d95a55dce0b4b08135f14a2cbf721213f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1919544
Commit-Queue: Sven Zheng <svenzheng@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#717276}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 60971df019896ef134233ae2ca5ca9ab336c9c34
2019-11-20 22:22:13 +00:00
Adam Kallai 6a636640e4 Improve VS toolchain search
Observed that sometimes a VS2017 and a VS2019 directory are present, but
the VS2019 directory is empty (probably because VS2019 was installed then
uninstalled). In this case we should not identify VS2019 as a valid
installation.

Bug: None
Change-Id: I517cf3debc430e949529d06cd5cb281477d5281a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1871990
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#709507}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 118885519a8a070ebed3f5fa90250cea187c7010
2019-10-25 16:40:46 +00:00
Mirko Bonadei bb4395d6f4 Add a link to instruction to update the VS toolchain.
No-Try: True
Bug: 1006238
Change-Id: I20bc6b5ccb3d2d76bca741b4e4edc43a91f8a692
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1872730
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#708093}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0a191654750612df31da7c38c84964c751f73dc1
2019-10-22 04:28:48 +00:00
Adam Kallai eff336ca2e Fix MSVC toolset selection issue
Windows ARM64 build bot is broken on copying runtime dlls.
A recent change switches the MSVC version to VS 2019 as preferred
( https://chromium-review.googlesource.com/c/chromium/src/+/1836195 ).
This affects the search of runtime dlls, since currently VC141
toolset is selected.

As a workaround select the proper toolset directory based on VS version.

Bug: 1013508
Change-Id: Iaebee100be727f60d7bd651202af725abf4726d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1855966
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#705633}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 32c2d184c2f364eef5bb6e9e82fd704e71bb353d
2019-10-14 19:09:41 +00:00
Mirko Bonadei 42a74754e7 Switch to VS 2019.
Goma no longer supports cl.exe and the cl.exe version update in this CL hasn't
been uploaded to goma's servers. Everyone who has bots that use cl.exe must make
sure that these bots don't use goma before rolling this CL in.

This change switches the MSVC toolchain to VS 2019 16.3.29324.

Windows SDK is mostly 10.0.18362
Debuggers from 10.0.17763
d3dcompiler_47.dll from 10.0.17134

The instructions for the previous package are included below:

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

The package was created by downloading VS 2019 Update 3.29324, from
https://visualstudio.microsoft.com/downloads/ and downloading
the 16.3 Visual Studio Professional 2019, 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 the 10.0.18362.0 SDK was installed from:
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk.

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

Then the packaging script was run like this:

  python depot_tools\win_toolchain\package_from_installed.py 2019 -w 10.0.18362.0

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
that the final packaging step was to unzip the package, copy over the two copies
of that DLL from win_sdk\Redist, replace the Debuggers directory with the
10.0.17763 SDK, and then repackage the toolchain with:
  > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>

Bug: 1006238
Change-Id: I623632bd72f018a74ab513d2c79e89199915e647
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1836195
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#704569}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8e82c6ab1bc2223fa25f1a127b65071d2d58ae36
2019-10-10 11:42:21 +00:00
Robert Liao 7a0eb7e3cb Start A List of Areas to Consider when Updating the Windows SDK
BUG=

Change-Id: Ifa92bb67bf6fc911212507ea5370ce5ab798782a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1446662
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Auto-Submit: Robert Liao <robliao@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#686851}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b993f75be3d32bb36080bb981f3a20d46906ffca
2019-08-14 16:48:41 +00:00
Yang Gu d3b2a3c65d Fix Visual Studio version selection issue
In case when DEPOT_TOOLS_WIN_TOOLCHAIN=0 and Visual Studio is not
installed to the default location, GYP_MSVS_VERSION and
GYP_MSVS_OVERRIDE_PATH should be sufficient to work.

BUG=956482

Change-Id: Icf030f961ce2dca76e28304cfd09ad93581eca01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1675340
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Yang Gu <yang.gu@intel.com>
Cr-Original-Commit-Position: refs/heads/master@{#673563}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 63e177def4fc7bc84382d93b4f78aa2db5e59fe3
2019-06-29 02:12:27 +00:00
Bruce Dawson 2fad16fedd Patch Windows 10.0.18362.0 SDK (1903) toolchain
This updates the previous package to use the 10.0.17763 version of the
Debuggers directory. This is necessary because the 10.0.18362 version of
dbghelp.dll doesn't load on Windows 7 and we rely on it. This package
was created by replacing the Debuggers directory in the previous
package. Therefore it is:

Mostly 10.0.18362
Debuggers from 10.0.17763
d3dcompiler_47.dll from 10.0.17134

The instructions for the previous package are included below:

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

The package was created by downloading VS 2017 Update 9.3, from
https://visualstudio.microsoft.com/vs/older-downloads and downloading
the 15.9 Visual Studio Professional 2017, 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 the 10.0.18362.0 SDK was installed from:
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk

Then the packaging script was run like this:

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

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
that the final packaging step was to unzip the package, copy over the two copies
of that DLL from win_sdk\Redist, and then repackage the toolchain with:
  > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>

This is needed to make progress towards two-phase lookup.

Bug: 970064, 976161, 919163
Change-Id: I1043a01c91b040fd7e47a160f953fd5b6502ed0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1674628
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#672194}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cd8a32fc1401f68e842dbdfc7bacf59f41eeaabb
2019-06-25 19:25:33 +00:00
Bruce Dawson 6b14af32fd Upgrade to Windows 10.0.18362.0 SDK (1903)
This updates Chrome to build with a toolchain based on VS 2017 15.9.12
and the Windows 10.0.18362.0 SDK. This package contains the 17134 version
of d3dcompiler_47.dll, to avoid gaining a dependency on the universal CRT
which would cause problems for some Windows 7 machines (bug 919163).

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

The package was created by downloading VS 2017 Update 9.3, from
https://visualstudio.microsoft.com/vs/older-downloads and downloading
the 15.9 Visual Studio Professional 2017, 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 the 10.0.18362.0 SDK was installed from:
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk

Then the packaging script was run like this:

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

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
that the final packaging step was to unzip the package, copy over the two copies
of that DLL from win_sdk\Redist, and then repackage the toolchain with:
  > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>

This is needed to make progress towards two-phase lookup.

Bug: 970064
Change-Id: Ib502b34f3281cb062eafff93e6d1054a968d4e9f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1650599
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#668944}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3d2afd961cfc48a219c4b35ee3b2b6e554584e95
2019-06-13 20:22:23 +00:00
Daniel Bratell f50b393460 Sort Win SDK versions by version sorting rules (reland)
This should have no practical effect on current data but version
numbers need to be sorted so that 1.12 is higher than 1.9 and
the current code didn't do that.

This is a reland of https://crrev.com/c/1605980 with a typo fixed.
The initial patch tried to sort |vc_component_msvc_root| (a string)
instead of the list |vc_component_msvc_contents|.

Change-Id: I961a4e0d11c9e626e2890682f6bf416c8e7e9d28
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1609831
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#662138}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a7657a05ffee4b63c152a9f42b4eba1682478e14
2019-05-22 12:34:43 +00:00
Yang Gu a063851b1e Make Visual Studio version selection more smart
This CL enhances the Visual Studio version selection by considering a
prioritized support list, env variable and the ones installed in system.

BUG=956482

Change-Id: Ic147480f2780bb2bb38e489364893695c7ca2150
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1595840
Commit-Queue: Yang Gu <yang.gu@intel.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#659830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c4a16c7a4ed6862fdbe18ca768b1c44d16f30449
2019-05-15 05:03:55 +00:00
Richard Townsend c4b1fe65f9 Revert "Sort Win SDK versions by version sorting rules"
This reverts commit 82b6a7c188dab550476f30cd81bf829937ae65c2.

Reason for revert: Breaks the build for Windows on Arm.

Original change's description:
> Sort Win SDK versions by version sorting rules
> 
> This should have no practical effect on current data but version
> numbers need to be sorted so that 1.12 is higher than 1.9 and
> the current code didn't do that.
> 
> Change-Id: Ie993d2c103b6f16453c8b03336484c3b05a0097b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1605980
> Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
> Commit-Queue: Daniel Bratell <bratell@opera.com>
> Cr-Commit-Position: refs/heads/master@{#659016}

TBR=bratell@opera.com,brucedawson@chromium.org

Change-Id: I126df32184965a97fd3397db61c1ecde1c2681e1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1609787
Commit-Queue: Daniel Bratell <bratell@opera.com>
Reviewed-by: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#659052}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 31df12e9c6f6ad5adcfec7e6f78e816269ca59b8
2019-05-13 15:41:31 +00:00
Daniel Bratell c1b8c5c03c Sort Win SDK versions by version sorting rules
This should have no practical effect on current data but version
numbers need to be sorted so that 1.12 is higher than 1.9 and
the current code didn't do that.

Change-Id: Ie993d2c103b6f16453c8b03336484c3b05a0097b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1605980
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Original-Commit-Position: refs/heads/master@{#659016}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 82b6a7c188dab550476f30cd81bf829937ae65c2
2019-05-13 13:15:42 +00:00
Robert Liao 6262bde54c Revert "Make Visual Studio version selection more smart"
This reverts commit 2819e92e9709edf2a43e0477ed81cb75177ae422.

Reason for revert: This breaks for machines where 2019 is the only available version and a request for 2017 is explicitly made.

https://chromium-review.googlesource.com/c/chromium/src/+/1587836/10/build/vs_toolchain.py#168

Original change's description:
> Make Visual Studio version selection more smart
> 
> This CL enhances the Visual Studio version selection by considering a
> prioritized support list, env variable and the ones installed in system.
> 
> BUG=956482
> 
> Change-Id: I7ab5286057ad6b7bca33b01f83e2cca03b606112
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1587836
> Commit-Queue: Yang Gu <yang.gu@intel.com>
> Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#656684}

TBR=brucedawson@chromium.org,tikuta@chromium.org,yang.gu@intel.com,raul@tambre.ee

Change-Id: If5fa916fcb60a059db0ebe856e9848806eb638fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 956482
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1591559
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#656719}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f3f1ba1b8c3936d65ea64a54bc4c501dc9eac909
2019-05-06 03:14:48 +00:00
Yang Gu 6f77b20e58 Make Visual Studio version selection more smart
This CL enhances the Visual Studio version selection by considering a
prioritized support list, env variable and the ones installed in system.

BUG=956482

Change-Id: I7ab5286057ad6b7bca33b01f83e2cca03b606112
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1587836
Commit-Queue: Yang Gu <yang.gu@intel.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#656684}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2819e92e9709edf2a43e0477ed81cb75177ae422
2019-05-05 04:38:56 +00:00
Raul Tambre 4a1ce9cfcb //build/vs_toolchain.py: Fix SyntaxWarnings about invalid escape sequences
Warnings when running "gn gen" on Python 3.8:
C:/Google/chromium/src/build/vs_toolchain.py:257: SyntaxWarning: invalid escape sequence \.
  if re.match('10\.\d+\.\d+\.\d+', directory):
C:/Google/chromium/src/build/vs_toolchain.py:281: SyntaxWarning: invalid escape sequence \.
  if re.match('14\.\d+\.\d+', directory):
C:/Google/chromium/src/build/vs_toolchain.py:257: SyntaxWarning: invalid escape sequence \.
  if re.match('10\.\d+\.\d+\.\d+', directory):
C:/Google/chromium/src/build/vs_toolchain.py:281: SyntaxWarning: invalid escape sequence \.
  if re.match('14\.\d+\.\d+', directory):
C:/Google/chromium/src/build/toolchain/win\..\..\vs_toolchain.py:257: SyntaxWarning: invalid escape sequence \.
  if re.match('10\.\d+\.\d+\.\d+', directory):
C:/Google/chromium/src/build/toolchain/win\..\..\vs_toolchain.py:281: SyntaxWarning: invalid escape sequence \.
  if re.match('14\.\d+\.\d+', directory):

Bug: 941669
Change-Id: I2ab9fc1e404c2bdeba606c6391f8ac8149d92e62
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1585889
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Auto-Submit: Raul Tambre <raul@tambre.ee>
Cr-Original-Commit-Position: refs/heads/master@{#654764}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c1ad813cd1fd4e9798fe922cc79a63158df0d258
2019-04-28 15:42:21 +00:00
Raul Tambre e625c0fa04 Improve Python 3 support in build scripts
The changes are to allow build files to be generated using Python 3 on Windows.

The scripts still work with Python 2.
There are no intended behaviour changes.

Bug: 941669
Change-Id: I52c912c624660c7a46c05f8f36871744abd7b8d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1521487
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Cr-Original-Commit-Position: refs/heads/master@{#641870}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4197d3af6e42aa72076d6051153a644f3df62dd5
2019-03-19 15:04:20 +00:00
Bruce Dawson 71cb6b1388 Revert "Switch to full 17763 SDK, including new d3dcompiler_47.dll"
This reverts commit d17a7e3cc86ff480e081854b0c9a358ddf3112ac.

Reason for revert: Increase in heap corruption (and other?) crashes
in the d3dcompiler code path, such as  crbug.com/932359. We have run
out of time to investigate before branching.

Original change's description:
> Switch to full 17763 SDK, including new d3dcompiler_47.dll
>
> The new (10.0.17763.0) version of d3dcompiler_47.dll contains various
> bug fixes which we want to ship. We initially avoided upgrading it with
> the rest of the SDK because it depends on the universal Windows 10 CRT
> (UCRT) which some Windows 7 machines lack. This caused test failures on
> some bots and would cause failures on some customer machines.
>
> This change updates how we package isolates so that they always include
> the UCRT, to avoid test failures. It also ships api-ms-win-*.dll and
> ucrtbase*.dll in mini_installer.exe so that the UCRT will be shipped to
> customers. The size increase to mini_installer.exe for this is about
> 400,000 bytes.
>
> This change also deletes an unused function (_read_configuration_from_gn)
> from create_installer_archive.py that sent me down an incorrect path
> while investigating fixes.
>
> The toolchain package is the same as the one used when landing
> crrev.com/c/1401403 except that the 17763 version of d3dcompiler_47.dll
> was retained. See that CL for full instructions on creating the
> toolchain package.
>
> Bug: 920704
> Change-Id: I9cb7a7ed5cb75d04962fc64869d26b12617c0463
> Reviewed-on: https://chromium-review.googlesource.com/c/1450414
> Reviewed-by: Greg Thompson <grt@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#629193}

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

Bug: 920704
Change-Id: Ia986017541e5e80a3cc5f1d96494e0e12a841ed1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1507040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#638596}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 666e6630b5d3c15313ce5ff385eac85459c65623
2019-03-07 16:36:43 +00:00
Jamie Madill 0df4829bae Revert "Toolchain with d3dcompiler_old.dll included"
This reverts commit 6ddbac7f8b44ca9f4ef8adaf21229df9dec380a2.

Reason for revert: causing most ANGLE Windows tests to fail with:

[ RUN      ] D3DTextureTest.GlColorspaceNotAllowedForTypedD3DTexture/ES2_D3D9
../../third_party/angle/src/tests/test_utils/ANGLETest.cpp(57): error: Failed
ensureInitialized(138): LoadLibrary(d3dcompiler_47.dll) failed. GetLastError=126

e.g. https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win-angle-rel/872

Original change's description:
> Toolchain with d3dcompiler_old.dll included
> 
> This switches Chromium for Windows to use a new toolchain package that
> is the same as the one landed in crrev.com/c/1450414 except that it
> includes both the new d3dcompiler_47.dll (from the 17763 SDK) and the
> old one (from the 17134 SDK). The two versions are so that most
> customers get the new version, with all of its bug fixes, while those
> who don't have proper UCRT installs will fall back to the old version.
> If there are enough of the latter then we can figure out a way to ship
> the UCRT beside chrome.exe so that they can get the fixes as well. If
> there are few enough of the latter then we can drop support for them.
> 
> This change also removes the UCRT from installs, reverting a portion of
> crrev.com/c/1450414, and adds d3dcompiler_old.dll to installs.
> 
> This toolchain package was created by copying d3dcompiler_47.dll from
> the win_sdk\Redist\D3D\{x64|x86} directories of the 17134 SDK to
> d3dcompiler_old.dll and repackaging the directory using the --repackage
> option of depot_tools\win_toolchain\package_from_installed.py.
> 
> Note that the logic in build\win\BUILD.gn for when to package up the
> UCRT was incorrect (it would try to package it for ARM64 component
> builds) and that is corrected as well in this change.
> 
> Angle can then use d3dcompiler_old.dll as a fallback, and record
> metrics about how often the fallback is used.
> 
> Bug: 920704
> Change-Id: Ida96d8b9247789a429519c50b0663f183d72c800
> Reviewed-on: https://chromium-review.googlesource.com/c/1461679
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@google.com>
> Reviewed-by: Greg Thompson <grt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#634207}

TBR=jmadill@google.com,brucedawson@chromium.org,grt@chromium.org

Change-Id: I0fbd1f963fdd4c3180715ff9eec38b7bb2c2bf4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 920704
Reviewed-on: https://chromium-review.googlesource.com/c/1481670
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#634255}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6f84ed3b4c8c26dc30642a91bb195943d1632cf3
2019-02-21 18:03:36 +00:00
Bruce Dawson ff7518adfb Toolchain with d3dcompiler_old.dll included
This switches Chromium for Windows to use a new toolchain package that
is the same as the one landed in crrev.com/c/1450414 except that it
includes both the new d3dcompiler_47.dll (from the 17763 SDK) and the
old one (from the 17134 SDK). The two versions are so that most
customers get the new version, with all of its bug fixes, while those
who don't have proper UCRT installs will fall back to the old version.
If there are enough of the latter then we can figure out a way to ship
the UCRT beside chrome.exe so that they can get the fixes as well. If
there are few enough of the latter then we can drop support for them.

This change also removes the UCRT from installs, reverting a portion of
crrev.com/c/1450414, and adds d3dcompiler_old.dll to installs.

This toolchain package was created by copying d3dcompiler_47.dll from
the win_sdk\Redist\D3D\{x64|x86} directories of the 17134 SDK to
d3dcompiler_old.dll and repackaging the directory using the --repackage
option of depot_tools\win_toolchain\package_from_installed.py.

Note that the logic in build\win\BUILD.gn for when to package up the
UCRT was incorrect (it would try to package it for ARM64 component
builds) and that is corrected as well in this change.

Angle can then use d3dcompiler_old.dll as a fallback, and record
metrics about how often the fallback is used.

Bug: 920704
Change-Id: Ida96d8b9247789a429519c50b0663f183d72c800
Reviewed-on: https://chromium-review.googlesource.com/c/1461679
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#634207}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6ddbac7f8b44ca9f4ef8adaf21229df9dec380a2
2019-02-21 16:03:32 +00:00
Bruce Dawson ca78469929 Switch to full 17763 SDK, including new d3dcompiler_47.dll
The new (10.0.17763.0) version of d3dcompiler_47.dll contains various
bug fixes which we want to ship. We initially avoided upgrading it with
the rest of the SDK because it depends on the universal Windows 10 CRT
(UCRT) which some Windows 7 machines lack. This caused test failures on
some bots and would cause failures on some customer machines.

This change updates how we package isolates so that they always include
the UCRT, to avoid test failures. It also ships api-ms-win-*.dll and
ucrtbase*.dll in mini_installer.exe so that the UCRT will be shipped to
customers. The size increase to mini_installer.exe for this is about
400,000 bytes.

This change also deletes an unused function (_read_configuration_from_gn)
from create_installer_archive.py that sent me down an incorrect path
while investigating fixes.

The toolchain package is the same as the one used when landing
crrev.com/c/1401403 except that the 17763 version of d3dcompiler_47.dll
was retained. See that CL for full instructions on creating the
toolchain package.

Bug: 920704
Change-Id: I9cb7a7ed5cb75d04962fc64869d26b12617c0463
Reviewed-on: https://chromium-review.googlesource.com/c/1450414
Reviewed-by: Greg Thompson <grt@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#629193}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d17a7e3cc86ff480e081854b0c9a358ddf3112ac
2019-02-05 17:21:22 +00:00
Bruce Dawson a8a0458c35 Refuse to download new toolchain during gn gen
This change relies on the depot_tools change crrev.com/c/1439805
Chromium and v8 have rolled to a new enough version of depot_tools to
support this script and Angle always uses the latest version of
depot_tools so there shouldn't be any script-mismatch problems caused
by landing this.

The toolchain used to build Chrome is supposed to be updated during
"gclient runhooks" but currently if that doesn't happen (if
GYP_MSVS_VERSION is changed but "gclient runhooks" isn't run) then the
update will be tried during "gn gen". That works badly. It leads to
attempts to parse the update output as toolchain information, it can
lead to the update happening in parallel, and is generally a bad idea.

This change passes --no-download to
depot_tools\win_toolchain\get_toolchain_if_necessary.py when 'update'
is not the command being processed so that the depot_tools script will
no that it should only configure the toolchain, not try downloading it.
This also prevents attempts to update the toolchain when running
tools\win\setenv.bat

This was tested by forcing an updated to VS 2019 and confirming that
the new behavior is as desired (failing with an informative message
when appropriate, working when appropriate). This includes testing
that using the local toolchain (if installed) works with this change.
See crrev.com/c/1426397, the CL that was used for testing on the bots.

Both bugs suggest that our bots sometimes don't update the toolchain
when they are supposed to. If that is the case then this change will
help to flush out those bugs so that they can be fixed.

Bug: 584393,662325
Change-Id: I0ef671977ea59b4f3368827c5b5ffe50ed6602f7
Reviewed-on: https://chromium-review.googlesource.com/c/1444031
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#627513}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 060aa690a1abce245184e1f251e9414a0eb8637f
2019-01-30 18:48:35 +00:00
Bruce Dawson 7670367954 ARM64 capable toolchain with old d3dcompiler
This is a reland of crrev.com/c/1377510, with a new toolchain hash due to
packaging an old version of d3dcompiler_47.dll.

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. This package contains the 17134 version
of d3dcompiler_47.dll, to avoid gaining a dependency on the universal CRT
which would cause problems for some Windows 7 machines (bug 919163).

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.

Since the new d3dcompiler_47.dll uses the UCRT and we want to avoid shipping
that the final packaging step was to unzip the package, copy over the two copies
of that DLL from win_sdk\Redist, and then repackage the toolchain with:
  > python package_from_installed.py --repackage=<full-path-to-toolchain-dir>

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, 915046, 919163
Change-Id: I5891479863dd8371505ca9a4439f6939aa564ba8
Reviewed-on: https://chromium-review.googlesource.com/c/1401403
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#621376}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1fe5e8635c22f578ae96fffbec0047fc4cd5098c
2019-01-09 23:51:03 +00:00
Matthew Wolenetz c2d7d91e30 Revert "Reland "ARM64 capable toolchain hash""
This reverts commit 2a16f2ba48fc76eeb4a2812cc8f2d774a5c1f8c3.

Reason for revert: Strongly suspected as culprit for bug 919163: angle_deqp_gles2_d3d11_tests failing on chromium.gpu.fyi/Win7 FYI dEQP Release (AMD)

Original change's description:
> Reland "ARM64 capable toolchain hash"
> 
> This is a reland of dd8c7b26d4da856b36edba4b2d8dff5a786d3eb4
> 
> 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}
> 
> Bug: 893460,915046
> Change-Id: I1f4f8fb7f37785ba935ef698964fa87f9a91e313
> Reviewed-on: https://chromium-review.googlesource.com/c/1377510
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#620001}

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

Change-Id: Ic032ab4307045ada9b2f6e0955bc4ad7dc8e84f8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 893460, 915046, 919163
Reviewed-on: https://chromium-review.googlesource.com/c/1396560
Reviewed-by: Matthew Wolenetz <wolenetz@chromium.org>
Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#620030}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b8c851991162df9699b10ae29de9391adfc7eca4
2019-01-04 19:35:46 +00:00
Bruce Dawson af1a206ee4 Reland "ARM64 capable toolchain hash"
This is a reland of dd8c7b26d4da856b36edba4b2d8dff5a786d3eb4

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}

Bug: 893460,915046
Change-Id: I1f4f8fb7f37785ba935ef698964fa87f9a91e313
Reviewed-on: https://chromium-review.googlesource.com/c/1377510
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#620001}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2a16f2ba48fc76eeb4a2812cc8f2d774a5c1f8c3
2019-01-04 18:19:09 +00:00
Raul Tambre 3e36208277 Add Visual Studio 2019 and Preview edition support
Made the code for finding the Visual Studio installation directory more generic.
And removed unnecessary PGO code in the toolchain script.

Bug: 907300
Change-Id: Ia4da74ab5658d916b37abc6a0a0ef08fb0ef3e60
Reviewed-on: https://chromium-review.googlesource.com/c/1390037
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#619217}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1bb5c1a9aa2ae33af3249c2ca1e0d3896977907d
2018-12-29 00:57:12 +00:00
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