123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- # 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("//base/allocator/allocator.gni")
- import("//testing/test.gni")
- import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
- import("//v8/gni/v8.gni")
- component("gin") {
- sources = [
- "arguments.cc",
- "arguments.h",
- "array_buffer.cc",
- "array_buffer.h",
- "context_holder.cc",
- "converter.cc",
- "converter.h",
- "cppgc.cc",
- "data_object_builder.cc",
- "data_object_builder.h",
- "debug_impl.cc",
- "debug_impl.h",
- "dictionary.cc",
- "dictionary.h",
- "function_template.cc",
- "function_template.h",
- "gin_export.h",
- "gin_features.cc",
- "gin_features.h",
- "handle.h",
- "interceptor.cc",
- "interceptor.h",
- "isolate_holder.cc",
- "modules/console.cc",
- "modules/console.h",
- "object_template_builder.cc",
- "object_template_builder.h",
- "per_context_data.cc",
- "per_context_data.h",
- "per_isolate_data.cc",
- "per_isolate_data.h",
- "public/context_holder.h",
- "public/cppgc.h",
- "public/debug.h",
- "public/gin_embedders.h",
- "public/isolate_holder.h",
- "public/v8_idle_task_runner.h",
- "public/v8_platform.h",
- "public/wrapper_info.h",
- "runner.cc",
- "runner.h",
- "shell_runner.cc",
- "shell_runner.h",
- "try_catch.cc",
- "try_catch.h",
- "v8_foreground_task_runner.cc",
- "v8_foreground_task_runner.h",
- "v8_foreground_task_runner_base.cc",
- "v8_foreground_task_runner_base.h",
- "v8_foreground_task_runner_with_locker.cc",
- "v8_foreground_task_runner_with_locker.h",
- "v8_initializer.cc",
- "v8_initializer.h",
- "v8_isolate_memory_dump_provider.cc",
- "v8_isolate_memory_dump_provider.h",
- "v8_platform.cc",
- "v8_shared_memory_dump_provider.cc",
- "v8_shared_memory_dump_provider.h",
- "wrappable.cc",
- "wrappable.h",
- "wrapper_info.cc",
- ]
- if (use_partition_alloc) {
- sources += [
- "v8_platform_page_allocator.cc",
- "v8_platform_page_allocator.h",
- ]
- }
- if (v8_use_external_startup_data) {
- data = [ "$root_out_dir/snapshot_blob.bin" ]
- sources += [ "public/v8_snapshot_file_type.h" ]
- }
- defines = [ "GIN_IMPLEMENTATION" ]
- public_deps = [
- "//base",
- "//base/allocator:buildflags",
- "//v8",
- ]
- deps = [
- "//base/third_party/dynamic_annotations",
- "//third_party/abseil-cpp:absl",
- ]
- if (is_mac) {
- frameworks = [ "CoreFoundation.framework" ]
- }
- configs += [
- "//tools/v8_context_snapshot:use_v8_context_snapshot",
- "//v8:external_startup_data",
- ]
- }
- executable("gin_shell") {
- sources = [ "shell/gin_main.cc" ]
- deps = [
- ":gin",
- "//base",
- "//base:i18n",
- "//build/win:default_exe_manifest",
- "//v8",
- ]
- configs += [ "//v8:external_startup_data" ]
- }
- source_set("gin_test") {
- testonly = true
- sources = [
- "test/v8_test.cc",
- "test/v8_test.h",
- ]
- public_deps = [
- ":gin",
- "//testing/gtest",
- ]
- deps = [
- "//base/test:test_support",
- "//v8",
- ]
- configs += [ "//v8:external_startup_data" ]
- }
- test("gin_unittests") {
- sources = [
- "arguments_unittest.cc",
- "array_buffer_unittest.cc",
- "converter_unittest.cc",
- "data_object_builder_unittest.cc",
- "interceptor_unittest.cc",
- "per_context_data_unittest.cc",
- "shell_runner_unittest.cc",
- "test/run_all_unittests.cc",
- "v8_isolate_memory_dump_provider_unittest.cc",
- "v8_platform_unittest.cc",
- "v8_shared_memory_dump_provider_unittest.cc",
- "wrappable_unittest.cc",
- ]
- deps = [
- ":gin_test",
- "//base/test:test_support",
- "//testing/gmock",
- "//testing/gtest",
- "//v8",
- ]
- if (use_partition_alloc) {
- sources += [ "v8_platform_page_allocator_unittest.cc" ]
- if (target_cpu == "arm64" && (is_linux || is_android)) {
- deps += [ "//base:arm_bti_testfunctions" ]
- }
- }
- configs += [
- "//tools/v8_context_snapshot:use_v8_context_snapshot",
- "//v8:external_startup_data",
- ]
- data_deps = [
- "//testing/buildbot/filters:gin_unittests_filters",
- "//tools/v8_context_snapshot:v8_context_snapshot",
- ]
- data = []
- # gin_shell is not an Android app.
- if (!is_android) {
- sources += [ "shell/gin_shell_unittest.cc" ]
- deps += [ ":gin_shell" ]
- data_deps += [ ":gin_shell" ]
- data += [ "shell/hello_world.js" ]
- }
- # On Android, the APK must bundle the startup data.
- if (is_android) {
- deps += [ "//v8:v8_external_startup_data_assets" ]
- }
- if (is_fuchsia) {
- # TODO(https://crbug.com/1185811): Investigate removing the requirement for
- # job_policy_ambient_mark_vmo_exec for the sake of V8's allocator in tests.
- test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml"
- }
- }
|