blob: 5e17c4d105acea0dcfd00ba14ab5b313860f3e79 [file] [log] [blame]
# Copyright 2014 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("//mojo/public/mojo_application.gni")
group("dart") {
deps = [
":dart_content_handler",
]
}
action("generate_snapshot_bin") {
deps = [
"//dart/runtime/bin:gen_snapshot",
"//mojo/public/interfaces/application",
]
inputs = [
"snapshot.dart",
"//dart/runtime/tools/create_snapshot_bin.py",
"//mojo/dart/embedder/builtin.dart",
"//mojo/public/dart/bindings.dart",
"//mojo/public/dart/core.dart",
"//mojo/public/dart/src/buffer.dart",
"//mojo/public/dart/src/client.dart",
"//mojo/public/dart/src/codec.dart",
"//mojo/public/dart/src/data_pipe.dart",
"//mojo/public/dart/src/drain_data.dart",
"//mojo/public/dart/src/event_stream.dart",
"//mojo/public/dart/src/handle.dart",
"//mojo/public/dart/src/handle_watcher.dart",
"//mojo/public/dart/src/interface.dart",
"//mojo/public/dart/src/message.dart",
"//mojo/public/dart/src/message_pipe.dart",
"//mojo/public/dart/src/struct.dart",
"//mojo/public/dart/src/timer_impl.dart",
"//mojo/public/dart/src/timer_queue.dart",
"//mojo/public/dart/src/types.dart",
"//services/dart/lib/application.dart",
"//services/dart/lib/src/application.dart",
"//services/dart/lib/src/service_provider.dart",
]
output = "$target_gen_dir/snapshot_gen.bin"
outputs = [
output,
]
script = "//dart/runtime/tools/create_snapshot_bin.py"
application_path = rebase_path("//services/dart/lib/application.dart")
builtin_path = rebase_path("//mojo/dart/embedder/builtin.dart")
bindings_path = rebase_path("//mojo/public/dart/bindings.dart")
core_path = rebase_path("//mojo/public/dart/core.dart")
args = [
"--executable", rebase_path("$root_out_dir/gen_snapshot"),
"--package_root", rebase_path("$root_gen_dir"),
"--script", rebase_path("snapshot.dart"),
"--output_bin", rebase_path(output, root_build_dir),
"--target_os", os,
"--url_mapping=dart:mojo_application,$application_path",
"--url_mapping=dart:mojo_bindings,$bindings_path",
"--url_mapping=dart:mojo_builtin,$builtin_path",
"--url_mapping=dart:mojo_core,$core_path",
]
}
action("generate_snapshot_file") {
deps = [
":generate_snapshot_bin",
]
inputs = [
"//dart/runtime/tools/create_snapshot_file.py",
"//mojo/dart/embedder/snapshot.cc.tmpl",
"$target_gen_dir/snapshot_gen.bin",
]
output = "$target_gen_dir/snapshot.cc"
outputs = [
output,
]
script = "//dart/runtime/tools/create_snapshot_file.py"
args = [
"--input_bin", rebase_path("$target_gen_dir/snapshot_gen.bin"),
"--input_cc", rebase_path("//mojo/dart/embedder/snapshot.cc.tmpl"),
"--output", rebase_path(output),
]
}
source_set("dart_controller") {
sources = [
"$target_gen_dir/snapshot.cc",
]
deps = [
":generate_snapshot_file",
"//mojo/dart/embedder:dart_controller_no_snapshot",
]
}
mojo_native_application("dart_content_handler") {
sources = [
"content_handler_main.cc",
"dart_app.cc",
"dart_app.h",
]
deps = [
":dart_controller",
"//base",
"//base:i18n",
"//crypto",
"//dart/runtime:libdart",
"//mojo/application",
"//mojo/application:application",
"//mojo/application:content_handler",
"//mojo/dart/embedder:dart_controller_no_snapshot",
"//mojo/common",
"//mojo/environment:chromium",
"//mojo/icu",
"//mojo/public/cpp/system",
"//mojo/public/cpp/utility",
"//mojo/public/interfaces/application",
"//mojo/services/content_handler/public/interfaces",
"//mojo/services/network/public/interfaces",
]
}
mojo_native_application("dart_apptests") {
testonly = true
sources = [
"echo_apptest.cc",
]
deps = [
"//base",
"//mojo/application",
"//mojo/application:test_support",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//services/dart/test:echo_service",
]
}