# 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("../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 -",
  ]
}
