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}
2 files changed
tree: 549ec975cc4cb3443d3d30c45966c9d6dab7faae
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. cloud_print/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. jingle/
  31. media/
  32. mojo/
  33. native_client_sdk/
  34. net/
  35. pdf/
  36. ppapi/
  37. printing/
  38. remoting/
  39. rlz/
  40. sandbox/
  41. services/
  42. skia/
  43. sql/
  44. storage/
  45. styleguide/
  46. testing/
  47. third_party/
  48. tools/
  49. ui/
  50. url/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gn
  59. .vpython
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. codereview.settings
  66. DEPS
  67. ENG_REVIEW_OWNERS
  68. LICENSE
  69. LICENSE.chromium_os
  70. OWNERS
  71. PRESUBMIT.py
  72. PRESUBMIT_test.py
  73. PRESUBMIT_test_mocks.py
  74. README.md
  75. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.