blob: c0040571b3bcca12d6d0d534c96201596a4bdefd [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("//build/split_static_library.gni")
import("//third_party/WebKit/Source/bindings/bindings.gni")
import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
import("//third_party/WebKit/Source/bindings/modules/v8/v8.gni")
import("//third_party/WebKit/Source/build/scripts/scripts.gni")
import("//third_party/WebKit/Source/modules/modules.gni")
visibility = [ "//third_party/WebKit/Source/*" ]
if (!is_component_build && is_win && is_official_build) {
# This target as a static library (for non-component builds) is >2GB for
# official builds on Windows. This causes linking fail. As a workaround,
# force using a split static library for this configuration.
modules_target_type = "split_static_library"
} else {
modules_target_type = "component"
}
target(modules_target_type, "modules") {
output_name = "blink_modules"
if (modules_target_type == "split_static_library") {
split_count = 5
}
visibility = [] # Allow re-assignment of list.
visibility = [ "//third_party/WebKit/*" ]
sources = rebase_path(modules_files, ".", "//")
sources += bindings_modules_v8_files
sources += rebase_path(bindings_modules_generated_aggregate_files, ".", "//")
sources += rebase_path(bindings_modules_generated_union_type_files, ".", "//")
sources +=
rebase_path(bindings_modules_generated_partial_aggregate_files, ".", "//")
sources +=
rebase_path([ bindings_modules_generated_init_partial_interfaces_file ],
".",
"//")
if (!is_win) {
sources -= [ "webdatabase/sqlite/SQLiteFileSystemWin.cpp" ]
}
if (!is_posix) {
sources -= [ "webdatabase/sqlite/SQLiteFileSystemPosix.cpp" ]
}
configs += [
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source:non_test_config",
"//third_party/WebKit/Source:inside_blink",
]
defines = [ "BLINK_MODULES_IMPLEMENTATION=1" ]
deps = [
":make_modules_generated",
"//components/webmessaging/public/interfaces:interfaces_blink",
"//device/battery:mojo_bindings_blink",
"//device/nfc:mojo_bindings_blink",
"//device/usb/public/interfaces:interfaces_blink",
"//device/vibration:mojo_bindings_blink",
"//device/vr:mojo_bindings_blink",
"//media/mojo/interfaces:image_capture_blink",
"//third_party/WebKit/Source/core",
"//third_party/WebKit/public:mojo_bindings_blink",
"//third_party/icu",
"//third_party/sqlite",
"//third_party/zlib",
]
if (is_win) {
cflags = [ "/wd4334" ] # Result of 32-bit shift implicitly converted to 64 bits.
}
if (remove_webcore_debug_symbols) {
configs -= [ "//build/config/compiler:default_symbols" ]
configs += [ "//build/config/compiler:no_symbols" ]
}
}
# GYP version: WebKit/Source/modules/modules.gyp:modules_testing
source_set("modules_testing") {
sources = modules_testing_files
sources += [
"$bindings_modules_v8_output_dir/V8InternalsPartial.cpp",
"$bindings_modules_v8_output_dir/V8InternalsPartial.h",
]
configs += [
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source:inside_blink",
]
deps = [
"//third_party/WebKit/Source/core",
"//third_party/WebKit/Source/modules",
]
}
action("module_names") {
script = "../build/scripts/make_names.py"
module_names_in = "indexeddb/IndexedDBNames.in"
inputs = make_names_files + [ module_names_in ]
outputs = [
"$blink_modules_output_dir/IndexedDBNames.cpp",
"$blink_modules_output_dir/IndexedDBNames.h",
]
args = [
rebase_path(module_names_in, root_build_dir),
"--output_dir",
rebase_path(blink_modules_output_dir, root_build_dir),
]
}
# GYP version: WebKit/Source/modules/modules_generated.gyp:make_modules_generated
group("make_modules_generated") {
public_deps = [
":module_names",
"//third_party/WebKit/Source/bindings/modules:bindings_modules_generated",
"//third_party/WebKit/Source/core:core_event_interfaces",
]
}