Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(488)

Side by Side Diff: Source/bindings/derived_sources.gyp

Issue 14110002: Introduce bindings.gyp (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address Nico's comments Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698