Skip to content
This repository was archived by the owner on Apr 21, 2025. It is now read-only.

Conversation

@zanderso
Copy link
Member

@zanderso zanderso commented Jan 26, 2024

This PR does a few things:

  1. It changes how the Windows toolchain and SDK are fetched and where they are stored. Previously, the Windows toolchain and SDK were downloaded under depot_tools, which typically exists outside of the engine source root both locally and in CI. That setup makes the Windows SDK inaccessible to RBE builds. Instead, this PR checks out depot_tools under flutter/third_party/depot_tools by listing it in the DEPS file. This location is under the engine source root, and is therefore accessible to RBE builds. This change has the downside of breaking how CI does caching of the depot_tools Windows toolchain and SDK, which will add some time to builds.
  2. It updates Windows GN toolchain setup logic to match what is in the Chrome tree. Updates to build/find_depot_tools.py, build/toolchain/win/BUILD.gn, and build/toolchain/win/setup_toolchain.py are copied from there and adapted to the Flutter engine repo.

@chinmaygarde
Copy link
Contributor

This is still work in progress.


script_dir = os.path.dirname(os.path.realpath(__file__))
json_data_file = os.path.join(script_dir, 'win_toolchain.json')
json_data_file = os.path.join(script_dir, 'new_win_toolchain.json')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't look like this file is checked in -- is it meant to be?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this file is generated by gclient sync via this script. It holds info about the location of the toolchain and the version so that the same version of the toolchain isn't downloaded again.

Copy link
Member

@cbracken cbracken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall lgtm - I'm assuming setup_toolchain.py and win_toolchain_data.gni are updated from the chromium tree?

@zanderso
Copy link
Member Author

zanderso commented Feb 8, 2024

Overall lgtm - I'm assuming setup_toolchain.py and win_toolchain_data.gni are updated from the chromium tree?

Correct.

Copy link
Member

@cbracken cbracken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM stamp from a Japanese personal seal

@zanderso zanderso merged commit 4c8d004 into flutter:master Feb 9, 2024
@zanderso zanderso deleted the try-win-rbe branch February 9, 2024 16:26
zanderso added a commit to flutter/engine that referenced this pull request Feb 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants