| # 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("../../runtime/runtime_args.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, root_build_dir), |
| |
| # Ensure gen_kernel.dart will use this SDK hash when consuming/producing kernel. |
| "-Dsdk_hash=$sdk_hash", |
| |
| "--packages=" + rebase_path(dot_packages, root_build_dir), |
| ] |
| script = gen_kernel_script |
| args = [] |
| } |
| |
| import("../aot_snapshot.gni") |
| |
| aot_snapshot("gen_kernel") { |
| main_dart = "../../pkg/vm/bin/gen_kernel.dart" |
| deps = [ "../../runtime/vm:vm_platform" ] |
| output = "$root_gen_dir/gen_kernel_aot.dart.snapshot" |
| |
| # dartaotruntime has dart_product_config applied to it, |
| # so it is built in # product mode in both release and |
| # product builds, and is only built in debug mode in debug |
| # builds. The following line ensures that the dartaotruntime |
| # and gen_kernel_aot snapshot in an SDK build are |
| # always compatible with each other. |
| force_product_mode = !dart_debug |
| } |