mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
The gen_snapshots.py tool is used to copy an input gen_snapshot to an output path with an architecture-specific suffix. For example, to copy gen_snapshot to gen_snapshot_arm64. Bitcode segments, if any, are stripped. This moves the input/output filename hardcoding into the BUILD.gn file and generalises the logic to simply copy an input binary to an output path with bitcode segments stripped. Since the tool is no longer gen_snapshot specific, we rename it from gen_snapshots.py to strip_bitcode.py. This also renames the generalised `macos_gen_snapshots` rule to `strip_bitcode`. Since we're working on removing bitcode support from the engine, this script will eventually serve no purpose other than to copy the input binary to an output path, at which point this script, and the associated `strip_bitcode` template in `//flutter/sky/tools/macos_tools.gni` can be removed. Along with the TODO, renaming the script and the rule help ensure we'll spot this and remove it when bitcode support is removed from the engine. Finally, this fixes a dependency issue in the target //flutter/lib/snapshot:create_macos_gen_snapshots. Previously, it dependended on ":generate_snapshot_bin", but in fact, the only file it touches is gen_snapshot. This was built transitively as part of the ":generate_snapshot_bin" target, but is now depended on directly. This is pre-factoring for merging the iOS and macOS gen_snapshot creation build rules in `flutter/lib/snapshot/BUILD.gn`. Issue: https://github.com/flutter/flutter/issues/103386 Issue: https://github.com/flutter/flutter/issues/101138 Issue: https://github.com/flutter/flutter/issues/107884