-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
Currently, in order to build the engine on an Apple Silicon Mac, either as a host build or a target build, we need to build under Rosetta. This is for several reasons:
- The Fuchsia clang toolchain for arm64 macOS is not yet available.
- Swiftshader (used by our engine tests) doesn't support building as an arm64 binary. Use SwANGLE (OpenGL on SwiftShader Vulkan) instead of SwiftShader OpenGL in the unit-tests harnesses. #90425
As such, we currently hardcode host_cpu to x64 for all macOS engine builds (including cross-compiles targeting arm64), and as such these builds are run under Rosetta.
Once this work is done:
- We'll want to switch to the (host: arm64 target: arm64)
gen_snapshotfor arm64 macs rather than the current setup of running (host: x64 target: simarm64)gen_snapshotunder Rosetta in the tool. We already support building on arm64 macs) rather than the (host: x64 target: simarm64) gen_snapshot. - There is no (host: arm64 target: simx64)
gen_snapshottoday since there's no support for this in the Dart SDK today. Until that work is prioritised, we'll need to continue generating x64 AOT code using the (host: x64 target: x64)gen_snapshotwe use today, under Rosetta.
Doing this is necessary to enable building unit tests in the host arm64 build on macOS. #115322 is the relevant sub-issue.
eggfly, dkbast, kismet-, kyle-seongwoo-jun, borjandev and 29 moremultizone-uk and hminhman
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-macBuilding on or for macOS specificallyBuilding on or for macOS specificallyteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Type
Projects
Status
In Progress