| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//flutter/build/zip_bundle.gni") |
| import("//flutter/shell/version/version.gni") |
| |
| executable("_font-subset") { |
| output_name = "font-subset" |
| |
| sources = [ |
| "hb_wrappers.h", |
| "main.cc", |
| ] |
| |
| deps = [ "//third_party/harfbuzz" ] |
| |
| if (is_mac) { |
| frameworks = [ |
| "Foundation.framework", |
| "CoreGraphics.framework", |
| "CoreText.framework", |
| ] |
| } |
| |
| metadata = { |
| font_subset_without_entitlement = [ "font-subset" ] |
| } |
| } |
| |
| generated_file("_font-subset-license") { |
| source_path = rebase_path(".", "//flutter") |
| license_path = |
| rebase_path("//flutter/sky/packages/sky_engine/LICENSE", "//flutter") |
| git_url = "https://github.com/flutter/engine/tree/$engine_version" |
| outputs = [ "$target_gen_dir/LICENSE.font-subset.md" ] |
| contents = [ |
| "# font-subset", |
| "", |
| "This tool is used by the Flutter SDK to tree shake icon fonts.", |
| "", |
| "Source code for this tool: [flutter/engine/$source_path]($git_url/$source_path).", |
| "License for this tool: [flutter/engine/sky/packages/sky_engine/LICENSE]($git_url/$license_path).", |
| ] |
| } |
| |
| generated_file("font_entitlement_config") { |
| outputs = [ "$target_gen_dir/font_subset_without_entitlements.txt" ] |
| |
| data_keys = [ "font_subset_without_entitlement" ] |
| |
| deps = [ ":_font-subset" ] |
| } |
| |
| zip_bundle("font-subset") { |
| if (is_mac) { |
| # Mac artifacts sometimes use mac and sometimes darwin. Standardizing the |
| # names will require changes in the list of artifacts the tool is downloading. |
| output = "darwin-${target_cpu}/font-subset.zip" |
| } else { |
| output = "${full_target_platform_name}/font-subset.zip" |
| } |
| |
| font_subset_bin = "font-subset" |
| if (is_win) { |
| font_subset_bin = "${font_subset_bin}.exe" |
| } |
| |
| files = [ |
| { |
| source = "$root_build_dir/$font_subset_bin" |
| destination = font_subset_bin |
| }, |
| { |
| source = "$root_gen_dir/const_finder.dart.snapshot" |
| destination = "const_finder.dart.snapshot" |
| }, |
| { |
| source = "$target_gen_dir/LICENSE.font-subset.md" |
| destination = "LICENSE.font-subset.md" |
| }, |
| ] |
| |
| deps = [ |
| ":_font-subset", |
| ":_font-subset-license", |
| "//flutter/tools/const_finder", |
| ] |
| if (is_mac) { |
| deps += [ ":font_entitlement_config" ] |
| files += [ |
| { |
| source = "$target_gen_dir/font_subset_without_entitlements.txt" |
| destination = "without_entitlements.txt" |
| }, |
| ] |
| } |
| } |