blob: 08660b51436b5d28d0bd5fbb5b628420b96694eb [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.
assert(is_fuchsia)
import("//flutter/common/config.gni")
import("//flutter/testing/testing.gni")
import("//flutter/tools/fuchsia/gn-sdk/src/gn_configs.gni")
config("utils_config") {
include_dirs = [ "../../.." ]
}
template("make_utils") {
source_set(target_name) {
sources = [
"$target_gen_dir/build_info.cc",
"build_info.h",
"files.cc",
"files.h",
"handle_exception.cc",
"handle_exception.h",
"inlines.h",
"logging.h",
"mapped_resource.cc",
"mapped_resource.h",
"root_inspect_node.cc",
"root_inspect_node.h",
"tempfs.cc",
"tempfs.h",
"vmo.cc",
"vmo.h",
"vmservice_object.cc",
"vmservice_object.h",
]
deps = invoker.deps + [
":generate_build_info_cc_file",
"${fuchsia_sdk}/fidl/fuchsia.feedback",
"${fuchsia_sdk}/fidl/fuchsia.mem",
"${fuchsia_sdk}/pkg/async-loop",
"${fuchsia_sdk}/pkg/async-loop-cpp",
"${fuchsia_sdk}/pkg/async-loop-default",
"${fuchsia_sdk}/pkg/fdio",
"${fuchsia_sdk}/pkg/sys_cpp",
"${fuchsia_sdk}/pkg/inspect_component_cpp",
"${fuchsia_sdk}/pkg/trace",
"${fuchsia_sdk}/pkg/vfs_cpp",
"${fuchsia_sdk}/pkg/zx",
"//flutter/fml",
"//flutter/third_party/tonic",
]
public_configs = [ ":utils_config" ]
}
}
action("generate_build_info_cc_file") {
inputs = [
"build_info_in.cc",
"//flutter/.git/logs/HEAD",
"//fuchsia/sdk/$host_os/meta/manifest.json",
"$dart_src/.git/logs/HEAD",
]
outputs = [ "$target_gen_dir/build_info.cc" ]
script = "//flutter/tools/fuchsia/make_build_info.py"
args = [
"--input",
rebase_path("build_info_in.cc", root_build_dir),
"--output",
rebase_path(outputs[0], root_build_dir),
"--buildroot",
rebase_path("//", root_build_dir),
]
}
make_utils("utils") {
deps = [ "$dart_src/runtime/bin:elf_loader" ]
}
test_fixtures("utils_fixtures") {
fixtures = []
}
executable("dart_utils_unittests") {
testonly = true
output_name = "dart_utils_unittests"
sources = [ "build_info_unittests.cc" ]
libs = [
# This is needed for //flutter/third_party/googletest for linking zircon
# symbols.
"${fuchsia_arch_root}/sysroot/lib/libzircon.so",
]
deps = [
":utils",
":utils_fixtures",
"$dart_src/runtime:libdart_jit",
"$dart_src/runtime/bin:dart_io_api",
"${fuchsia_sdk}/pkg/inspect_component_cpp",
"${fuchsia_sdk}/pkg/sys_cpp",
"//flutter/testing",
]
}
make_utils("utils_product") {
deps = [ "$dart_src/runtime/bin:elf_loader_product" ]
}