Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / modules / modules.gyp
blob4d3905c3fa0b5067270b2a2210f4d0d167a3bc6a
2 # Copyright (C) 2013 Google Inc. All rights reserved.
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
8 #     * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #     * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
13 # distribution.
14 #     * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31   'includes': [
32     '../build/features.gypi',
33     '../build/scripts/scripts.gypi',
34     '../build/win/precompile.gypi',
35     '../bindings/modules/modules.gypi',  # modules can depend on bindings/modules, but not on bindings
36     'modules.gypi',
37   ],
38   'targets': [{
39     # GN version: //third_party/WebKit/Source/modules:modules
40     'target_name': 'modules',
41     'dependencies': [
42       '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
43       '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
44       '<(DEPTH)/third_party/sqlite/sqlite.gyp:sqlite',
45       '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
46       '../config.gyp:config',
47       'modules_generated.gyp:make_modules_generated',
48     ],
49     'defines': [
50       'BLINK_IMPLEMENTATION=1',
51       'INSIDE_BLINK',
52     ],
53     'sources': [
54       '<@(modules_files)',
55       '<@(bindings_modules_v8_files)',
56       '<@(bindings_modules_v8_generated_aggregate_files)',
57       '<@(bindings_modules_v8_generated_partial_aggregate_files)',
58       '<@(bindings_modules_v8_generated_union_type_files)',
59       '<(bindings_modules_v8_output_dir)/initPartialInterfacesInModules.cpp',
60     ],
61     'conditions': [
62       ['component=="shared_library" and link_core_modules_separately==1', {
63         'type': 'shared_library',
64         'defines': [
65           'BLINK_MODULES_IMPLEMENTATION=1',
66         ],
67         'dependencies': [
68           '../core/core.gyp:webcore_shared', # modules depends on core.
69           '../platform/blink_platform.gyp:blink_common',
70           '../platform/blink_platform.gyp:blink_platform',
71           '../bindings/modules/generated.gyp:modules_event_generated',
72           '../bindings/modules/v8/generated.gyp:bindings_modules_v8_generated',
73           '../wtf/wtf.gyp:wtf',
74           '<(DEPTH)/skia/skia.gyp:skia',
75           '<(DEPTH)/url/url.gyp:url_lib',
76           '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
77         ],
78       }, {
79         'type': 'static_library',
80         'dependencies': [
81           '../core/core.gyp:webcore',
82         ],
83         'conditions': [
84           # Shard this target into parts to work around linker limitations.
85           ['OS=="win" and (buildtype=="Official" or (fastbuild==0 and win_z7==1))', {
86             'msvs_shard': 4,
87           }],
88         ],
89       }]
90     ],
91     # Disable c4267 warnings until we fix size_t to int truncations.
92     'msvs_disabled_warnings': [ 4267, 4334, ],
93   },
94   {
95     # GN version: //third_party/WebKit/Source/modules:modules_testing
96     'target_name': 'modules_testing',
97     'type': 'static_library',
98     'dependencies': [
99       '../config.gyp:config',
100     ],
101     'defines': [
102       'BLINK_IMPLEMENTATION=1',
103       'INSIDE_BLINK',
104     ],
105     'sources': [
106       '<@(modules_testing_files)',
107       '<(bindings_modules_v8_output_dir)/V8InternalsPartial.cpp',
108       '<(bindings_modules_v8_output_dir)/V8InternalsPartial.h',
109     ],
110     'conditions': [
111       ['component=="shared_library" and link_core_modules_separately==1', {
112         'dependencies': [
113           '../core/core.gyp:webcore_shared',
114           '<(DEPTH)/gin/gin.gyp:gin',
115         ],
116       }, {
117         'dependencies': [
118           '../core/core.gyp:webcore',
119         ],
120       }],
121     ],
122   }],