# 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 }