blob: 53f4cf523e20776eee5b3ff9c17fee8acd19036d [file] [log] [blame]
# Copyright 2013 The Flutter 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("//build/compiled_action.gni")
import("//build/fuchsia/sdk.gni")
import("//flutter/common/config.gni")
import("//flutter/tools/fuchsia/dart.gni")
import("//flutter/tools/fuchsia/dart_kernel.gni")
import("//third_party/dart/utils/compile_platform.gni")
dart_kernel("vmservice_product_aot_kernel") {
kernel_platform_files = "../kernel:kernel_platform_files"
main_dart = "empty.dart"
product = true
aot = true
}
dart_kernel("vmservice_aot_kernel") {
kernel_platform_files = "../kernel:kernel_platform_files"
main_dart = "empty.dart"
product = false
aot = true
}
template("aot_snapshot") {
compiled_action(target_name) {
kernel_name = target_name
if (defined(invoker.kernel_name)) {
kernel_name = invoker.kernel_name
}
product = defined(invoker.product) && invoker.product
product_suffix = ""
if (product) {
product_suffix = "_product"
}
shim_target = ":vmservice${product_suffix}_aot_kernel($host_toolchain)"
shim_kernel = get_label_info(shim_target, "target_gen_dir") +
"/vmservice${product_suffix}_aot_kernel.dill"
deps = [
shim_target,
]
snapshot_path = "$target_gen_dir/${kernel_name}_snapshot.so"
inputs = [
shim_kernel,
]
outputs = [
snapshot_path,
]
if (product) {
tool = gen_snapshot_product
} else {
tool = gen_snapshot
}
args = [
"--no_causal_async_stacks",
"--deterministic",
"--snapshot_kind=app-aot-elf",
"--elf=" + rebase_path(snapshot_path),
]
# No asserts in debug or release product.
# No asserts in release with flutter_profile=true (non-product)
# Yes asserts in non-product debug.
if (!product && (!(flutter_runtime_mode == "profile") || is_debug)) {
args += [ "--enable_asserts" ]
}
args += [ rebase_path(shim_kernel) ]
}
}
aot_snapshot("vmservice_snapshot") {
kernel_name = "vmservice"
product = false
}