# Copyright (c) 2017, 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("../../build/dart/dart_host_sdk_toolchain.gni") import("../../runtime/runtime_args.gni") import("../application_snapshot.gni") group("kernel-service") { if (create_kernel_service_snapshot) { deps = [ # TODO(rmacnak): Link this into 'dart'. ":copy_kernel-service_snapshot", ] } else { deps = [ ":kernel_service_dill", ] } } # TODO: Switch this to use kernel based app-jit snapshot # when we are ready to switch to the kernel based core snapshots. kernel_application_snapshot("kernel-service_snapshot") { main_dart = "$root_gen_dir/kernel_service.dill" deps = [ ":kernel_service_dill", ] training_args = [ "--train", "file:///" + rebase_path("../../pkg/compiler/lib/src/dart2js.dart"), ] output = "$root_gen_dir/kernel-service.dart.snapshot" } copy("copy_kernel-service_snapshot") { deps = [ ":kernel-service_snapshot", ] sources = [ "$root_gen_dir/kernel-service.dart.snapshot", ] outputs = [ "$root_out_dir/kernel-service.dart.snapshot", ] } application_snapshot("frontend_server") { main_dart = "../../pkg/vm/bin/frontend_server_starter.dart" deps = [ "../../runtime/vm:kernel_platform_files($dart_host_toolchain)", ] sdk_root = rebase_path("$root_out_dir") training_args = [ "--train", "--sdk-root=$sdk_root/", "--platform=$sdk_root/vm_platform_strong.dill", ] output = "$root_out_dir/frontend_server.dart.snapshot" } template("kernel_service_dill") { prebuilt_dart_action("kernel_service" + target_name + "_dill") { deps = [ "../../runtime/vm:kernel_platform_files($dart_host_toolchain)", "../../runtime/vm:vm_platform", ] kernel_service_script = "../../pkg/vm/bin/kernel_service.dart" gen_kernel_script = "../../pkg/vm/bin/gen_kernel.dart" inputs = [ gen_kernel_script, kernel_service_script, "$root_out_dir/vm_platform_strong.dill", ] output = "$root_gen_dir/kernel_service" + invoker.target_name + ".dill" outputs = [ output, ] depfile = "$root_gen_dir/kernel_service" + invoker.target_name + "_dill.d" abs_depfile = rebase_path(depfile) rebased_output = rebase_path(output, root_build_dir) vm_args = [ "--depfile=$abs_depfile", "--depfile_output_filename=$rebased_output", ] script = gen_kernel_script args = invoker.extra_args + [ "--packages=" + rebase_path("../../.packages"), "--platform=" + rebase_path("$root_out_dir/vm_platform_strong.dill"), "--no-aot", "--no-embed-sources", "--output=" + rebase_path(output), rebase_path(kernel_service_script), ] } } kernel_service_dill("") { extra_args = [] } kernel_service_dill("_bytecode") { extra_args = [ "--gen-bytecode" ] }