|  | # Copyright 2019 The Fuchsia 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("//build/config.gni") | 
|  | import("//build/packages/prebuilt_package.gni") | 
|  |  | 
|  | runner_config_file = "flutter_runner_config" | 
|  | runner_types = [ | 
|  | "jit", | 
|  | "jit_product", | 
|  | "aot", | 
|  | "aot_product", | 
|  | ] | 
|  |  | 
|  | prebuilt_package("flutter_jit_runner") { | 
|  | archive = "//prebuilt/third_party/flutter/$target_cpu/debug/jit/flutter_jit_runner-0.far" | 
|  | } | 
|  |  | 
|  | prebuilt_package("flutter_jit_product_runner") { | 
|  | archive = "//prebuilt/third_party/flutter/$target_cpu/release/jit/flutter_jit_product_runner-0.far" | 
|  | } | 
|  |  | 
|  | prebuilt_package("flutter_aot_runner") { | 
|  | # The debug runner is compiled with --enable-asserts but the profile runner is not. | 
|  | # We want to switch to profile in release mode so that we can disable asserts and avoid | 
|  | # a mismatch in vm arguments. | 
|  | if (is_debug) { | 
|  | archive = "//prebuilt/third_party/flutter/$target_cpu/debug/aot/flutter_aot_runner-0.far" | 
|  | } else { | 
|  | archive = "//prebuilt/third_party/flutter/$target_cpu/profile/aot/flutter_aot_runner-0.far" | 
|  | } | 
|  | } | 
|  |  | 
|  | prebuilt_package("flutter_aot_product_runner") { | 
|  | archive = "//prebuilt/third_party/flutter/$target_cpu/release/aot/flutter_aot_product_runner-0.far" | 
|  | } | 
|  |  | 
|  | # Generate targets to package together the runner and its configuration data for | 
|  | # each runner type. | 
|  | # | 
|  | # The runner configuration is located in `flutter_runner_config` and shared by | 
|  | # all runner types. | 
|  | all_flutter_runners = [] | 
|  | foreach(type, runner_types) { | 
|  | runner_target = "flutter_$type" | 
|  |  | 
|  | config_target = "runner_config_for_$runner_target" | 
|  | config_data(config_target) { | 
|  | for_pkg = "${runner_target}_runner" | 
|  | sources = [ rebase_path(runner_config_file) ] | 
|  | outputs = [ runner_config_file ] | 
|  | } | 
|  |  | 
|  | group(runner_target) { | 
|  | public_deps = [ | 
|  | ":$config_target", | 
|  | ":flutter_${type}_runner", | 
|  | "//src/lib/icu/tzdata:icu_tzdata_for_flutter_${type}_runner", | 
|  | ] | 
|  | } | 
|  | all_flutter_runners += [ ":$runner_target" ] | 
|  | } | 
|  |  | 
|  | group("flutter") { | 
|  | public_deps = all_flutter_runners | 
|  | } | 
|  |  | 
|  | copy("flutter_tester") { | 
|  | sources = [ "//prebuilt/third_party/flutter/${target_cpu}/debug/jit/flutter_binaries/flutter_tester" ] | 
|  | outputs = [ "$target_gen_dir/flutter_tester" ] | 
|  | } | 
|  |  | 
|  | group("tests") { | 
|  | testonly = true | 
|  | deps = [ "tests" ] | 
|  | } |