| # 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("//flutter/common/config.gni") | |
| import("//flutter/testing/testing.gni") | |
| source_set("test_font") { | |
| sources = [ | |
| "test_font_data.cc", | |
| "test_font_data.h", | |
| ] | |
| deps = [ | |
| "//flutter/skia", | |
| "//flutter/third_party/txt", | |
| ] | |
| public_configs = [ "//flutter:config" ] | |
| defines = [] | |
| if (flutter_runtime_mode == "debug" || current_toolchain == host_toolchain) { | |
| # Though the test font data is small, we dont want to add to the binary size | |
| # on the device (in profile and release modes). We only add the same on the | |
| # host test shells and the debug device shell. | |
| defines += [ "EMBED_TEST_FONT_DATA=1" ] | |
| } | |
| } | |
| # Picks the libdart implementation based on the Flutter runtime mode. | |
| group("libdart") { | |
| public_deps = [] | |
| if (flutter_runtime_mode == "profile" || flutter_runtime_mode == "release") { | |
| public_deps += [ "$dart_src/runtime:libdart_precompiled_runtime" ] | |
| } else { | |
| public_deps += [ | |
| "$dart_src/runtime:libdart_jit", | |
| "//flutter/lib/snapshot", | |
| ] | |
| } | |
| } | |
| source_set("dart_plugin_registrant") { | |
| sources = [ | |
| "dart_plugin_registrant.cc", | |
| "dart_plugin_registrant.h", | |
| ] | |
| deps = [ | |
| "$dart_src/runtime:dart_api", | |
| "//flutter/fml", | |
| "//flutter/third_party/tonic", | |
| ] | |
| } | |
| source_set("runtime") { | |
| sources = [ | |
| "dart_isolate.cc", | |
| "dart_isolate.h", | |
| "dart_isolate_group_data.cc", | |
| "dart_isolate_group_data.h", | |
| "dart_service_isolate.cc", | |
| "dart_service_isolate.h", | |
| "dart_snapshot.cc", | |
| "dart_snapshot.h", | |
| "dart_timestamp_provider.cc", | |
| "dart_timestamp_provider.h", | |
| "dart_vm.cc", | |
| "dart_vm.h", | |
| "dart_vm_data.cc", | |
| "dart_vm_data.h", | |
| "dart_vm_initializer.cc", | |
| "dart_vm_initializer.h", | |
| "dart_vm_lifecycle.cc", | |
| "dart_vm_lifecycle.h", | |
| "embedder_resources.cc", | |
| "embedder_resources.h", | |
| "isolate_configuration.cc", | |
| "isolate_configuration.h", | |
| "platform_data.cc", | |
| "platform_data.h", | |
| "platform_isolate_manager.cc", | |
| "platform_isolate_manager.h", | |
| "ptrace_check.h", | |
| "runtime_controller.cc", | |
| "runtime_controller.h", | |
| "runtime_delegate.cc", | |
| "runtime_delegate.h", | |
| "service_protocol.cc", | |
| "service_protocol.h", | |
| "skia_concurrent_executor.cc", | |
| "skia_concurrent_executor.h", | |
| ] | |
| if (is_ios && flutter_runtime_mode == "debug") { | |
| # These contain references to private APIs and this TU must only be compiled in debug runtime modes. | |
| sources += [ "ptrace_check.cc" ] | |
| } | |
| public_deps = [ | |
| "//flutter/lib/gpu", | |
| "//flutter/lib/ui", | |
| "//flutter/third_party/rapidjson", | |
| ] | |
| public_configs = [ "//flutter:config" ] | |
| deps = [ | |
| ":dart_plugin_registrant", | |
| ":test_font", | |
| "$dart_src/runtime:dart_api", | |
| "$dart_src/runtime/bin:dart_io_api", | |
| "//flutter/assets", | |
| "//flutter/common", | |
| "//flutter/flow", | |
| "//flutter/fml", | |
| "//flutter/lib/io", | |
| "//flutter/shell/common:display", | |
| "//flutter/skia", | |
| "//flutter/third_party/tonic", | |
| "//flutter/third_party/txt", | |
| ] | |
| if (flutter_runtime_mode != "release" && !is_fuchsia) { | |
| # Only link in Observatory in non-release modes on non-Fuchsia. Fuchsia | |
| # instead puts Observatory into the runner's package. | |
| deps += [ "$dart_src/runtime/observatory:embedded_observatory_archive" ] | |
| } | |
| } | |
| if (enable_unittests) { | |
| test_fixtures("runtime_fixtures") { | |
| dart_main = "fixtures/runtime_test.dart" | |
| } | |
| executable("runtime_unittests") { | |
| testonly = true | |
| sources = [ | |
| "dart_isolate_unittests.cc", | |
| "dart_lifecycle_unittests.cc", | |
| "dart_service_isolate_unittests.cc", | |
| "dart_vm_unittests.cc", | |
| "platform_isolate_manager_unittests.cc", | |
| "type_conversions_unittests.cc", | |
| ] | |
| public_configs = [ "//flutter:export_dynamic_symbols" ] | |
| public_deps = [ | |
| ":libdart", | |
| ":runtime", | |
| ":runtime_fixtures", | |
| "$dart_src/runtime/bin:elf_loader", | |
| "//flutter/common", | |
| "//flutter/fml", | |
| "//flutter/lib/snapshot", | |
| "//flutter/skia", | |
| "//flutter/testing", | |
| "//flutter/testing:dart", | |
| "//flutter/testing:fixture_test", | |
| "//flutter/third_party/tonic", | |
| ] | |
| } | |
| test_fixtures("no_plugin_registrant") { | |
| dart_main = "fixtures/no_dart_plugin_registrant_test.dart" | |
| use_target_as_artifact_prefix = true | |
| } | |
| executable("no_dart_plugin_registrant_unittests") { | |
| testonly = true | |
| sources = [ "no_dart_plugin_registrant_unittests.cc" ] | |
| public_configs = [ "//flutter:export_dynamic_symbols" ] | |
| public_deps = [ | |
| ":no_plugin_registrant", | |
| "//flutter/fml", | |
| "//flutter/lib/snapshot", | |
| "//flutter/testing", | |
| "//flutter/testing:fixture_test", | |
| ] | |
| } | |
| test_fixtures("plugin_registrant") { | |
| dart_main = "fixtures/dart_tool/flutter_build/dart_plugin_registrant.dart" | |
| use_target_as_artifact_prefix = true | |
| } | |
| executable("dart_plugin_registrant_unittests") { | |
| testonly = true | |
| sources = [ "dart_plugin_registrant_unittests.cc" ] | |
| public_configs = [ "//flutter:export_dynamic_symbols" ] | |
| public_deps = [ | |
| ":plugin_registrant", | |
| "//flutter/fml", | |
| "//flutter/lib/snapshot", | |
| "//flutter/runtime:dart_plugin_registrant", | |
| "//flutter/testing", | |
| "//flutter/testing:fixture_test", | |
| ] | |
| } | |
| } |