blob: 74c40d1e9a7e7105c543a907def15094f4f4465f [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//flutter/lib/jni/dart_jni.gni")
import("//flutter/lib/snapshot/toolchain.gni")
import("//flutter/lib/ui/dart_ui.gni")
import("//flutter/lib/ui/dart_ui.gni")
bindings_output_dir = "$root_gen_dir/sky/bindings"
copy("generate_dart_ui") {
sources = dart_ui_files
outputs = [
"$bindings_output_dir/dart_ui/{{source_file_part}}",
]
}
copy("generate_dart_jni") {
sources = dart_jni_files
outputs = [
"$bindings_output_dir/dart_jni/{{source_file_part}}",
]
}
action("generate_snapshot_bin") {
deps = [
"//dart/runtime/bin:gen_snapshot($dart_host_toolchain)",
":generate_dart_ui",
":generate_dart_jni",
]
inputs = [
"//dart/runtime/tools/create_snapshot_bin.py",
"snapshot.dart",
] + dart_ui_files
+ dart_jni_files
vm_isolate_snapshot = "$target_gen_dir/vm_isolate_snapshot.bin"
isolate_snapshot = "$target_gen_dir/isolate_snapshot.bin"
outputs = [
vm_isolate_snapshot,
isolate_snapshot,
]
rebased_dart_ui_path = rebase_path(dart_ui_path)
rebased_dart_jni_path = rebase_path(dart_jni_path)
gen_snapshot_dir =
get_label_info("//dart/runtime/bin:gen_snapshot($dart_host_toolchain)",
"root_out_dir")
script = "//dart/runtime/tools/create_snapshot_bin.py"
args = [
"--executable",
rebase_path("$gen_snapshot_dir/gen_snapshot"),
"--package_root",
rebase_path("$root_gen_dir"),
"--script",
rebase_path("snapshot.dart"),
"--vm_output_bin",
rebase_path(vm_isolate_snapshot, root_build_dir),
"--output_bin",
rebase_path(isolate_snapshot, root_build_dir),
"--target_os",
target_os,
"--url_mapping=dart:ui,$rebased_dart_ui_path",
"--url_mapping=dart:jni,$rebased_dart_jni_path",
]
}
action("generate_snapshot_file") {
deps = [
":generate_snapshot_bin",
]
inputs = [
"//dart/runtime/tools/create_snapshot_file.py",
"snapshot.c.tmpl",
"$target_gen_dir/vm_isolate_snapshot.bin",
"$target_gen_dir/isolate_snapshot.bin",
]
output = "$target_gen_dir/snapshot.c"
outputs = [
output,
]
script = "//dart/runtime/tools/create_snapshot_file.py"
args = [
"--vm_input_bin",
rebase_path("$target_gen_dir/vm_isolate_snapshot.bin"),
"--input_bin",
rebase_path("$target_gen_dir/isolate_snapshot.bin"),
"--input_cc",
rebase_path("snapshot.c.tmpl"),
"--output",
rebase_path(output),
]
}
source_set("snapshot") {
sources = [
"$target_gen_dir/snapshot.c",
]
deps = [
":generate_snapshot_file",
]
}