OLD | NEW |
1 # | 1 # |
2 # Copyright (C) 2013 Google Inc. All rights reserved. | 2 # Copyright (C) 2013 Google Inc. All rights reserved. |
3 # | 3 # |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 20 matching lines...) Expand all Loading... |
31 { | 31 { |
32 'includes': [ | 32 'includes': [ |
33 '../WebKit/chromium/WinPrecompile.gypi', | 33 '../WebKit/chromium/WinPrecompile.gypi', |
34 '../WebKit/chromium/features.gypi', | 34 '../WebKit/chromium/features.gypi', |
35 '../core/core.gypi', | 35 '../core/core.gypi', |
36 '../modules/modules.gypi', | 36 '../modules/modules.gypi', |
37 'bindings.gypi', | 37 'bindings.gypi', |
38 ], | 38 ], |
39 | 39 |
40 'variables': { | 40 'variables': { |
41 # If set to 1, doesn't compile debug symbols into webcore reducing the | 41 'idl_files': [ |
42 # size of the binary and increasing the speed of gdb. gcc only. | 42 '<@(core_idl_files)', |
43 'remove_webcore_debug_symbols%': 0, | |
44 | |
45 'bindings_idl_files': [ | |
46 '<@(webcore_idl_files)', | |
47 '<@(modules_idl_files)', | 43 '<@(modules_idl_files)', |
48 ], | 44 ], |
49 | 45 |
50 'bindings_idl_files!': [ | |
51 # Custom bindings in bindings/v8/custom exist for these. | |
52 '../core/dom/EventListener.idl', | |
53 | |
54 '../core/page/AbstractView.idl', | |
55 | |
56 # These bindings are excluded, as they're only used through inheritance an
d don't define constants that would need a constructor. | |
57 '../core/svg/ElementTimeControl.idl', | |
58 '../core/svg/SVGExternalResourcesRequired.idl', | |
59 '../core/svg/SVGFilterPrimitiveStandardAttributes.idl', | |
60 '../core/svg/SVGFitToViewBox.idl', | |
61 '../core/svg/SVGLangSpace.idl', | |
62 '../core/svg/SVGLocatable.idl', | |
63 '../core/svg/SVGTests.idl', | |
64 '../core/svg/SVGTransformable.idl', | |
65 | |
66 # FIXME: I don't know why these are excluded, either. | |
67 # Someone (me?) should figure it out and add appropriate comments. | |
68 '../core/css/CSSUnknownRule.idl', | |
69 ], | |
70 | |
71 'conditions': [ | 46 'conditions': [ |
72 ['enable_svg!=0', { | 47 ['enable_svg!=0', { |
73 'bindings_idl_files': [ | 48 'idl_files': [ |
74 '<@(webcore_svg_idl_files)', | 49 '<@(svg_idl_files)', |
75 ], | 50 ], |
76 }], | 51 }], |
77 ['OS=="win" and buildtype=="Official"', { | 52 ['OS=="win" and buildtype=="Official"', { |
78 # On windows official release builds, we try to preserve symbol space. | 53 # On windows official release builds, we try to preserve symbol space. |
79 'derived_sources_aggregate_files': [ | 54 'derived_sources_aggregate_files': [ |
80 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSourcesAll.cpp', | 55 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSourcesAll.cpp', |
81 ], | 56 ], |
82 },{ | 57 },{ |
83 'derived_sources_aggregate_files': [ | 58 'derived_sources_aggregate_files': [ |
84 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources01.cpp', | 59 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources01.cpp', |
(...skipping 19 matching lines...) Expand all Loading... |
104 }], | 79 }], |
105 ], | 80 ], |
106 }, | 81 }, |
107 | 82 |
108 'target_defaults': { | 83 'target_defaults': { |
109 'variables': { | 84 'variables': { |
110 'optimize': 'max', | 85 'optimize': 'max', |
111 }, | 86 }, |
112 }, | 87 }, |
113 | 88 |
114 'conditions': [ | |
115 ['OS!="win" and remove_webcore_debug_symbols==1', { | |
116 # Remove -g from all targets defined here. | |
117 'target_defaults': { | |
118 'cflags!': ['-g'], | |
119 }, | |
120 }], | |
121 ['os_posix==1 and OS!="mac" and gcc_version>=46', { | |
122 'target_defaults': { | |
123 # Disable warnings about c++0x compatibility, as some names (such as nul
lptr) conflict | |
124 # with upcoming c++0x types. | |
125 'cflags_cc': ['-Wno-c++0x-compat'], | |
126 }, | |
127 }], | |
128 ['OS=="linux" and target_arch=="arm"', { | |
129 # Due to a bug in gcc arm, we get warnings about uninitialized timesNewRom
an.unstatic.3258 | |
130 # and colorTransparent.unstatic.4879. | |
131 'target_defaults': { | |
132 'cflags': ['-Wno-uninitialized'], | |
133 }, | |
134 }], | |
135 ['clang==1', { | |
136 'target_defaults': { | |
137 'cflags': ['-Wglobal-constructors', '-Wunused-parameter'], | |
138 'xcode_settings': { | |
139 'WARNING_CFLAGS': ['-Wglobal-constructors', '-Wunused-parameter'], | |
140 }, | |
141 }, | |
142 }], | |
143 ], | |
144 'targets': [{ | 89 'targets': [{ |
145 'target_name': 'supplemental_dependencies', | 90 'target_name': 'supplemental_dependencies', |
146 'type': 'none', | 91 'type': 'none', |
147 'actions': [{ | 92 'actions': [{ |
148 'action_name': 'generateSupplementalDependency', | 93 'action_name': 'generateSupplementalDependency', |
149 'variables': { | 94 'variables': { |
150 # Write sources into a file, so that the action command line won't | 95 # Write sources into a file, so that the action command line won't |
151 # exceed OS limits. | 96 # exceed OS limits. |
152 'idl_files_list': '<|(idl_files_list.tmp <@(bindings_idl_files))', | 97 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))', |
153 }, | 98 }, |
154 'inputs': [ | 99 'inputs': [ |
155 'scripts/preprocess-idls.pl', | 100 'scripts/preprocess-idls.pl', |
156 '<(idl_files_list)', | 101 '<(idl_files_list)', |
157 '<!@(cat <(idl_files_list))', | 102 '<!@(cat <(idl_files_list))', |
158 ], | 103 ], |
159 'outputs': [ | 104 'outputs': [ |
160 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 105 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
161 ], | 106 ], |
162 'msvs_cygwin_shell': 0, | 107 'msvs_cygwin_shell': 0, |
163 'action': [ | 108 'action': [ |
164 '<(perl_exe)', | 109 '<(perl_exe)', |
165 '-w', | 110 '-w', |
166 '-Iscripts', | 111 '-Iscripts', |
167 '-I../core/scripts', | 112 '-I../core/scripts', |
168 'scripts/preprocess-idls.pl', | 113 'scripts/preprocess-idls.pl', |
169 '--defines', | 114 '--defines', |
170 '<(feature_defines)', | 115 '<(feature_defines)', |
171 '--idlFilesList', | 116 '--idlFilesList', |
172 '<(idl_files_list)', | 117 '<(idl_files_list)', |
173 '--supplementalDependencyFile', | 118 '--supplementalDependencyFile', |
174 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 119 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
175 ], | 120 ], |
176 'message': 'Resolving [Supplemental=XXX] dependencies in all IDL files', | 121 'message': 'Resolving [Supplemental=XXX] dependencies in all IDL files', |
177 }] | 122 }] |
178 }, | 123 }, |
179 { | 124 { |
180 'target_name': 'bindings_sources', | 125 'target_name': 'bindings_derived_sources', |
181 'type': 'none', | 126 'type': 'none', |
182 'hard_dependency': 1, | 127 'hard_dependency': 1, |
183 'dependencies': [ | 128 'dependencies': [ |
184 'supplemental_dependencies', | 129 'supplemental_dependencies', |
| 130 '../core/core.gyp/derived_sources.gyp:generate_settings', |
185 ], | 131 ], |
186 'sources': [ | 132 'sources': [ |
187 '<@(bindings_idl_files)', | 133 '<@(idl_files)', |
188 '<@(webcore_test_support_idl_files)', | 134 '<@(webcore_test_support_idl_files)', |
189 ], | 135 ], |
190 'actions': [{ | 136 'actions': [{ |
191 'action_name': 'derived_sources_all_in_one', | 137 'action_name': 'derived_sources_all_in_one', |
192 'inputs': [ | 138 'inputs': [ |
193 '../core/core.gyp/scripts/action_derivedsourcesallinone.py', | 139 '../core/core.gyp/scripts/action_derivedsourcesallinone.py', |
194 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 140 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
195 ], | 141 ], |
196 'outputs': [ | 142 'outputs': [ |
197 '<@(derived_sources_aggregate_files)', | 143 '<@(derived_sources_aggregate_files)', |
(...skipping 10 matching lines...) Expand all Loading... |
208 'rule_name': 'binding', | 154 'rule_name': 'binding', |
209 'extension': 'idl', | 155 'extension': 'idl', |
210 'msvs_external_rule': 1, | 156 'msvs_external_rule': 1, |
211 'inputs': [ | 157 'inputs': [ |
212 'scripts/generate-bindings.pl', | 158 'scripts/generate-bindings.pl', |
213 'scripts/CodeGenerator.pm', | 159 'scripts/CodeGenerator.pm', |
214 'scripts/CodeGeneratorV8.pm', | 160 'scripts/CodeGeneratorV8.pm', |
215 'scripts/IDLParser.pm', | 161 'scripts/IDLParser.pm', |
216 'scripts/IDLAttributes.txt', | 162 'scripts/IDLAttributes.txt', |
217 '../core/scripts/preprocessor.pm', | 163 '../core/scripts/preprocessor.pm', |
218 '<!@pymod_do_main(supplemental_idl_files <@(bindings_idl_files))', | 164 '<!@pymod_do_main(supplemental_idl_files <@(idl_files))', |
219 ], | 165 ], |
220 'outputs': [ | 166 'outputs': [ |
221 # FIXME: The .cpp file should be in webkit/bindings once | 167 # FIXME: The .cpp file should be in webkit/bindings once |
222 # we coax GYP into supporting it (see 'action' below). | 168 # we coax GYP into supporting it (see 'action' below). |
223 '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/V8<(RULE_INPUT_ROOT).cpp'
, | 169 '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/V8<(RULE_INPUT_ROOT).cpp'
, |
224 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', | 170 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', |
225 ], | 171 ], |
226 'variables': { | 172 'variables': { |
227 'generator_include_dirs': [ | 173 'generator_include_dirs': [ |
228 '--include', '../modules/filesystem', | 174 '--include', '../modules/filesystem', |
(...skipping 22 matching lines...) Expand all Loading... |
251 # FIXME: Note that we put the .cpp files in webcore/bindings | 197 # FIXME: Note that we put the .cpp files in webcore/bindings |
252 # but the .h files in webkit/bindings. This is to work around | 198 # but the .h files in webkit/bindings. This is to work around |
253 # the unfortunate fact that GYP strips duplicate arguments | 199 # the unfortunate fact that GYP strips duplicate arguments |
254 # from lists. When we have a better GYP way to suppress that | 200 # from lists. When we have a better GYP way to suppress that |
255 # behavior, change the output location. | 201 # behavior, change the output location. |
256 'action': [ | 202 'action': [ |
257 '<(perl_exe)', | 203 '<(perl_exe)', |
258 '-w', | 204 '-w', |
259 '-Iscripts', | 205 '-Iscripts', |
260 '-I../core/scripts', | 206 '-I../core/scripts', |
261 '<(bindings_dir)/scripts/generate-bindings.pl', | 207 'scripts/generate-bindings.pl', |
262 '--outputHeadersDir', | 208 '--outputHeadersDir', |
263 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', | 209 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
264 '--outputDir', | 210 '--outputDir', |
265 '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings', | 211 '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings', |
266 '--idlAttributesFile', | 212 '--idlAttributesFile', |
267 'scripts/IDLAttributes.txt', | 213 'scripts/IDLAttributes.txt', |
268 '--defines', | 214 '--defines', |
269 '<(feature_defines)', | 215 '<(feature_defines)', |
270 '<@(generator_include_dirs)', | 216 '<@(generator_include_dirs)', |
271 '--supplementalDependencyFile', | 217 '--supplementalDependencyFile', |
272 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 218 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
273 '--additionalIdlFiles', | 219 '--additionalIdlFiles', |
274 '<(webcore_test_support_idl_files)', | 220 '<(webcore_test_support_idl_files)', |
275 '<(RULE_INPUT_PATH)', | 221 '<(RULE_INPUT_PATH)', |
276 '<@(preprocessor)', | 222 '<@(preprocessor)', |
277 ], | 223 ], |
278 'message': 'Generating binding from <(RULE_INPUT_PATH)', | 224 'message': 'Generating binding from <(RULE_INPUT_PATH)', |
279 }], | 225 }], |
280 }, | 226 }, |
281 { | |
282 'target_name': 'bindings', | |
283 'type': 'static_library', | |
284 'hard_dependency': 1, | |
285 'dependencies': [ | |
286 'bindings_sources', | |
287 '../core/core.gyp/core.gyp:webcore_prerequisites', | |
288 '../yarr/yarr.gyp:yarr', | |
289 '../wtf/wtf.gyp:wtf', | |
290 '<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl', | |
291 '<(DEPTH)/skia/skia.gyp:skia', | |
292 '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg', | |
293 '<(DEPTH)/third_party/libpng/libpng.gyp:libpng', | |
294 '<(DEPTH)/third_party/libxml/libxml.gyp:libxml', | |
295 '<(DEPTH)/third_party/libxslt/libxslt.gyp:libxslt', | |
296 '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp', | |
297 '<(DEPTH)/third_party/npapi/npapi.gyp:npapi', | |
298 '<(DEPTH)/third_party/qcms/qcms.gyp:qcms', | |
299 '<(DEPTH)/third_party/sqlite/sqlite.gyp:sqlite', | |
300 '<(DEPTH)/third_party/v8-i18n/build/all.gyp:v8-i18n', | |
301 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', | |
302 '<(libjpeg_gyp_path):libjpeg', | |
303 ], | |
304 'include_dirs': [ | |
305 '<(INTERMEDIATE_DIR)', | |
306 # FIXME: Remove <(SHARED_INTERMEDIATE_DIR)/webcore when we | |
307 # can entice gyp into letting us put both the .cpp and .h | |
308 # files in the same output directory. | |
309 '<(SHARED_INTERMEDIATE_DIR)/webcore', | |
310 '<(SHARED_INTERMEDIATE_DIR)/webkit', | |
311 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', | |
312 ], | |
313 'xcode_settings': { | |
314 # Some Mac-specific parts of WebKit won't compile without having this | |
315 # prefix header injected. | |
316 # FIXME: make this a first-class setting. | |
317 'GCC_PREFIX_HEADER': '../core/WebCorePrefix.h', | |
318 }, | |
319 'direct_dependent_settings': { | |
320 'include_dirs': [ | |
321 '<(SHARED_INTERMEDIATE_DIR)/webkit', | |
322 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', | |
323 ], | |
324 }, | |
325 'sources': [ | |
326 '<@(derived_sources_aggregate_files)', | |
327 '<@(bindings_files)', | |
328 ], | |
329 'conditions': [ | |
330 ['OS=="win" and component=="shared_library"', { | |
331 'defines': [ | |
332 'USING_V8_SHARED', | |
333 ], | |
334 }], | |
335 ['OS=="win"', { | |
336 'defines': [ | |
337 '__PRETTY_FUNCTION__=__FUNCTION__', | |
338 ], | |
339 # This is needed because Event.h in this directory is blocked | |
340 # by a system header on windows. | |
341 'include_dirs++': ['../core/dom'], | |
342 'direct_dependent_settings': { | |
343 'include_dirs+++': ['../core/dom'], | |
344 }, | |
345 # In generated bindings code: 'switch contains default but no case'. | |
346 # Disable c4267 warnings until we fix size_t to int truncations. | |
347 'msvs_disabled_warnings': [ 4065, 4267 ], | |
348 }], | |
349 ['OS in ("linux", "android") and "WTF_USE_WEBAUDIO_IPP=1" in feature_def
ines', { | |
350 'cflags': [ | |
351 '<!@(pkg-config --cflags-only-I ipp)', | |
352 ], | |
353 }], | |
354 ], | |
355 }, | |
356 ], | 227 ], |
357 } | 228 } |
OLD | NEW |