| # Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| # for details. 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/dart/dart_action.gni") |
| import("../../sdk_args.gni") |
| |
| _dart_root = get_path_info("../..", "abspath") |
| |
| prebuilt_dart_action("bootstrap_gen_kernel") { |
| deps = [ |
| "$_dart_root/runtime/vm:kernel_platform_files($host_toolchain)", |
| "$_dart_root/runtime/vm:vm_platform", |
| ] |
| gen_kernel_script = "$_dart_root/pkg/vm/bin/gen_kernel.dart" |
| platform_dill = "$root_out_dir/vm_platform_strong.dill" |
| dot_packages = rebase_path("$_dart_root/.dart_tool/package_config.json") |
| |
| inputs = [ |
| gen_kernel_script, |
| platform_dill, |
| dot_packages, |
| ] |
| output = "$target_gen_dir/bootstrap_gen_kernel.dill" |
| outputs = [ output ] |
| |
| depfile = "$output.d" |
| vm_args = [ |
| "--snapshot-kind=kernel", |
| "--snapshot=" + rebase_path(output, root_build_dir), |
| "--depfile=" + rebase_path(depfile), |
| |
| # Ensure gen_kernel.dart will use this SDK hash when consuming/producing kernel. |
| "-Dsdk_hash=$sdk_hash", |
| |
| "--packages=" + rebase_path(dot_packages), |
| ] |
| script = gen_kernel_script |
| args = [] |
| } |
| |
| import("../application_snapshot.gni") |
| |
| application_snapshot("gen_kernel") { |
| main_dart = "../../pkg/vm/bin/gen_kernel.dart" |
| deps = [ "../../runtime/vm:vm_platform" ] |
| |
| # NOTE: The output filename must be kept in sync with the output of the |
| # vm_platform rule. |
| vm_platform_out = |
| get_label_info("../../runtime/vm:vm_platform", "root_out_dir") |
| vm_platform = "$vm_platform_out/vm_platform_strong.dill" |
| training_args = [ |
| "--platform", |
| rebase_path(vm_platform), |
| rebase_path("../../pkg/vm/bin/gen_kernel.dart"), |
| "-o -", |
| ] |
| } |