Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / modules / BUILD.gn
blob0510abca48bdaf99a896fa94783e38b8180a462d
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//third_party/WebKit/Source/bindings/bindings.gni")
6 import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni")
7 import("//third_party/WebKit/Source/bindings/modules/v8/v8.gni")
8 import("//third_party/WebKit/Source/build/scripts/scripts.gni")
9 import("//third_party/WebKit/Source/modules/modules.gni")
11 visibility = [ "//third_party/WebKit/Source/*" ]
13 # GYP version: WebKit/Source/modules/modules.gyp:modules
14 source_set("modules") {
15   visibility = []  # Allow re-assignment of list.
16   visibility = [ "//third_party/WebKit/*" ]
18   sources = rebase_path(modules_files, ".", "//")
19   sources += bindings_modules_v8_files
20   sources += rebase_path(bindings_modules_generated_aggregate_files, ".", "//")
21   sources += rebase_path(bindings_modules_generated_union_type_files, ".", "//")
22   sources += rebase_path(bindings_modules_generated_partial_aggregate_files, ".", "//")
23   sources += rebase_path([ bindings_modules_generated_init_partial_interfaces_file ], ".", "//")
25   if (!is_win) {
26     sources -= [
27       "webdatabase/sqlite/SQLiteFileSystemWin.cpp",
28     ]
29   }
30   if (!is_posix) {
31     sources -= [
32       "webdatabase/sqlite/SQLiteFileSystemPosix.cpp",
33     ]
34   }
36   configs += [
37     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
38     "//build/config/compiler:no_size_t_to_int_warning",
39     "//third_party/WebKit/Source:config",
40     "//third_party/WebKit/Source:inside_blink",
41   ]
43   deps = [
44     ":make_modules_generated",
45     "//third_party/WebKit/Source/core",
46     "//third_party/icu",
47     "//third_party/sqlite",
48     "//third_party/zlib",
49   ]
51   if (is_win) {
52     cflags = [
53       "/wd4334",  # Result of 32-bit shift implicitly converted to 64 bits.
54     ]
55     # TODO(GYP)
56     # Shard this taret into parts to work around linker limitations.
57     # on link time code generation builds.
58     #[buildtype=="Official"', {
59     #  'msvs_shard': 5,
60     #}],
61   }
64 # GYP version: WebKit/Source/modules/modules.gyp:modules_testing
65 source_set("modules_testing") {
66   sources = modules_testing_files
67   sources += [
68     "$bindings_modules_v8_output_dir/V8InternalsPartial.cpp",
69     "$bindings_modules_v8_output_dir/V8InternalsPartial.h",
70   ]
72   configs += [
73     "//third_party/WebKit/Source:config",
74     "//third_party/WebKit/Source:inside_blink",
75   ]
77   deps = [
78     "//third_party/WebKit/Source/core",
79   ]
82 action("module_names") {
83   script = "../build/scripts/make_names.py"
85   module_names_in = "indexeddb/IndexedDBNames.in"
86   inputs = make_names_files + [ module_names_in ]
88   outputs = [
89     "$blink_modules_output_dir/IndexedDBNames.cpp",
90     "$blink_modules_output_dir/IndexedDBNames.h",
91   ]
93   args = [
94     rebase_path(module_names_in, root_build_dir),
95     "--output_dir",
96     rebase_path(blink_modules_output_dir, root_build_dir),
97   ]
100 # GYP version: WebKit/Source/modules/modules_generated.gyp:make_modules_generated
101 group("make_modules_generated") {
102   public_deps = [
103     "//third_party/WebKit/Source/core:core_event_interfaces",
104     "//third_party/WebKit/Source/bindings/modules:bindings_modules_generated",
105     ":module_names",
106   ]