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

Side by Side Diff: third_party/WebKit/Source/platform/blink_platform.gyp

Issue 2319623003: Reorganize Blink IDL build, delete obsolete GYP files. (Closed)
Patch Set: Created 4 years, 3 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
OLDNEW
(Empty)
1 #
2 # Copyright (C) 2013 Google Inc. All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7 #
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.
17 #
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.
29 #
30 {
31 'includes': [
32 '../build/features.gypi',
33 '../build/scripts/scripts.gypi',
34 '../build/win/precompile.gypi',
35 'blink_platform.gypi',
36 'heap/blink_heap.gypi',
37 ],
38 'targets': [{
39 'target_name': 'blink_common',
40 'type': '<(component)',
41 'variables': { 'enable_wexit_time_destructors': 1 },
42 'dependencies': [
43 '../config.gyp:config',
44 '../wtf/wtf.gyp:wtf',
45 '<(DEPTH)/base/base.gyp:base',
46 # FIXME: Can we remove the dependency on Skia?
47 '<(DEPTH)/skia/skia.gyp:skia',
48 '<(DEPTH)/url/url.gyp:url_lib',
49 ],
50 'all_dependent_settings': {
51 'include_dirs': [
52 '..',
53 ],
54 },
55 'export_dependent_settings': [
56 '<(DEPTH)/skia/skia.gyp:skia',
57 ],
58 'defines': [
59 'BLINK_COMMON_IMPLEMENTATION=1',
60 'INSIDE_BLINK',
61 ],
62 'include_dirs': [
63 '<(SHARED_INTERMEDIATE_DIR)/blink',
64 ],
65 'sources': [
66 '../web/WebInputEvent.cpp',
67 'exported/FilePathConversion.cpp',
68 'exported/URLConversion.cpp',
69 'exported/WebCString.cpp',
70 'exported/WebString.cpp',
71 'exported/linux/WebFontRenderStyle.cpp',
72 ],
73 'target_conditions': [
74 ['OS=="android"', {
75 'sources/': [
76 ['include', 'exported/linux/WebFontRenderStyle\\.cpp$'],
77 ],
78 }],
79 ],
80 },
81 {
82 'target_name': 'blink_heap_asm_stubs',
83 'type': 'static_library',
84 # VS2010 does not correctly incrementally link obj files generated
85 # from asm files. This flag disables UseLibraryDependencyInputs to
86 # avoid this problem.
87 'msvs_2010_disable_uldi_when_referenced': 1,
88 'includes': [
89 '../../../yasm/yasm_compile.gypi',
90 ],
91 'sources': [
92 '<@(platform_heap_asm_files)',
93 ],
94 'variables': {
95 'more_yasm_flags': [],
96 'conditions': [
97 ['OS == "mac"', {
98 'more_yasm_flags': [
99 # Necessary to ensure symbols end up with a _ prefix; added by
100 # yasm_compile.gypi for Windows, but not Mac.
101 '-DPREFIX',
102 ],
103 }],
104 ['OS == "win" and target_arch == "x64"', {
105 'more_yasm_flags': [
106 '-DX64WIN=1',
107 ],
108 }],
109 ['OS != "win" and target_arch == "x64"', {
110 'more_yasm_flags': [
111 '-DX64POSIX=1',
112 ],
113 }],
114 ['target_arch == "ia32"', {
115 'more_yasm_flags': [
116 '-DIA32=1',
117 ],
118 }],
119 ['target_arch == "arm"', {
120 'more_yasm_flags': [
121 '-DARM=1',
122 ],
123 }],
124 ],
125 'yasm_flags': [
126 '>@(more_yasm_flags)',
127 ],
128 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/webcore/heap'
129 },
130 },
131 {
132 'target_name': 'blink_platform',
133 'type': '<(component)',
134 # Because of transitive dependency on make_platform_generated.
135 'hard_dependency': 1,
136 'dependencies': [
137 '../../public/blink.gyp:mojo_bindings',
138 '../config.gyp:config',
139 '../wtf/wtf.gyp:wtf',
140 'blink_common',
141 'blink_heap_asm_stubs',
142 'platform_generated.gyp:make_platform_generated',
143 '<(DEPTH)/base/base.gyp:base',
144 '<(DEPTH)/cc/cc.gyp:cc',
145 '<(DEPTH)/components/link_header_util/link_header_util.gyp:link_header_uti l',
146 '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib',
147 '<(DEPTH)/gpu/gpu.gyp:gles2_implementation',
148 '<(DEPTH)/mojo/mojo_edk.gyp:mojo_system_impl',
149 '<(DEPTH)/mojo/mojo_public.gyp:mojo_cpp_bindings',
150 '<(DEPTH)/mojo/mojo_public.gyp:mojo_cpp_bindings_wtf_support',
151 '<(DEPTH)/net/net.gyp:net',
152 '<(DEPTH)/skia/skia.gyp:skia',
153 '<(DEPTH)/third_party/ced/ced.gyp:ced',
154 '<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng',
155 '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
156 '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
157 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
158 '<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
159 '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
160 '<(DEPTH)/third_party/ots/ots.gyp:ots',
161 '<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
162 '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
163 '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
164 '<(DEPTH)/url/url.gyp:url_lib',
165 '<(DEPTH)/url/url.gyp:url_mojom_for_blink',
166 '<(DEPTH)/v8/src/v8.gyp:v8',
167 '<(libjpeg_gyp_path):libjpeg',
168 ],
169 'export_dependent_settings': [
170 'platform_generated.gyp:make_platform_generated',
171 '<(DEPTH)/base/base.gyp:base',
172 '<(DEPTH)/cc/cc.gyp:cc',
173 '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib',
174 '<(DEPTH)/skia/skia.gyp:skia',
175 '<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
176 '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
177 '<(DEPTH)/third_party/ots/ots.gyp:ots',
178 '<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
179 '<(DEPTH)/v8/src/v8.gyp:v8',
180 '<(DEPTH)/url/url.gyp:url_lib',
181 '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
182 '<(libjpeg_gyp_path):libjpeg',
183 ],
184 'defines': [
185 'BLINK_PLATFORM_IMPLEMENTATION=1',
186 'INSIDE_BLINK',
187 ],
188 'include_dirs': [
189 '<(angle_path)/include',
190 '<(SHARED_INTERMEDIATE_DIR)/blink',
191 ],
192 'xcode_settings': {
193 # Some Mac-specific parts of WebKit won't compile without having this
194 # prefix header injected.
195 'GCC_PREFIX_HEADER': '<(DEPTH)/third_party/WebKit/Source/build/mac/Prefix. h',
196 },
197 'sources': [
198 '<@(platform_files)',
199 '<@(platform_heap_files)',
200
201 # Additional .cpp files from platform_generated.gyp:make_platform_generate d actions.
202 '<(blink_platform_output_dir)/CharacterPropertyData.cpp',
203 '<(blink_platform_output_dir)/ColorData.cpp',
204 '<(blink_platform_output_dir)/FontFamilyNames.cpp',
205 '<(blink_platform_output_dir)/HTTPNames.cpp',
206 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.cpp',
207 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.h',
208
209 # Additional .cpp files from the protocol_sources list.
210 '<(blink_platform_output_dir)/v8_inspector/protocol/Console.cpp',
211 '<(blink_platform_output_dir)/v8_inspector/protocol/Debugger.cpp',
212 '<(blink_platform_output_dir)/v8_inspector/protocol/HeapProfiler.cpp',
213 '<(blink_platform_output_dir)/v8_inspector/protocol/Profiler.cpp',
214 '<(blink_platform_output_dir)/v8_inspector/protocol/Protocol.cpp',
215 '<(blink_platform_output_dir)/v8_inspector/protocol/Runtime.cpp',
216 '<(blink_platform_output_dir)/v8_inspector/protocol/Schema.cpp',
217
218 # Additional .cpp files from the v8_inspector.
219 '<(blink_platform_output_dir)/v8_inspector/DebuggerScript.h',
220 '<(blink_platform_output_dir)/v8_inspector/InjectedScriptSource.h',
221 ],
222 'sources/': [
223 # Exclude all platform specific things, reinclude them below on a per-plat form basis
224 # FIXME: Figure out how to store these patterns in a variable.
225 ['exclude', '(cf|cg|mac|win)/'],
226 ['exclude', '(?<!Chromium)(CF|CG|Mac|Win)\\.(cpp|mm?)$'],
227
228 # *NEON.cpp files need special compile options.
229 # They are moved to the webcore_0_neon target.
230 ['exclude', 'graphics/cpu/arm/.*NEON\\.(cpp|h)'],
231 ['exclude', 'graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
232 ],
233 # Disable c4267 warnings until we fix size_t to int truncations.
234 # Disable c4724 warnings which is generated in VS2012 due to improper
235 # compiler optimizations, see crbug.com/237063
236 'msvs_disabled_warnings': [ 4267, 4334, 4724 ],
237 'conditions': [
238 ['target_arch == "ia32" or target_arch == "x64"', {
239 'sources/': [
240 ['include', 'graphics/cpu/x86/WebGLImageConversionSSE\\.h$'],
241 ],
242 }],
243 ['target_arch == "mipsel" or target_arch == "mips64el"', {
244 'sources/': [
245 ['include', 'graphics/cpu/mips/WebGLImageConversionMSA\\.h$'],
246 ],
247 }],
248 ['OS=="linux" or OS=="android"', {
249 'sources/': [
250 ['include', 'fonts/linux/FontPlatformDataLinux\\.cpp$'],
251 ]
252 }, { # OS!="linux" and OS!="android"
253 'sources/': [
254 ['exclude', 'fonts/linux/FontPlatformDataLinux\\.cpp$'],
255 ]
256 }],
257 ['OS=="mac"', {
258 'link_settings': {
259 'libraries': [
260 '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
261 '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
262 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
263 ]
264 },
265 'sources/': [
266 # We use LocaleMac.mm instead of LocaleICU.cpp
267 ['exclude', 'text/LocaleICU\\.(cpp|h)$'],
268 ['include', 'text/LocaleMac\\.mm$'],
269
270 # The Mac uses mac/KillRingMac.mm instead of the dummy
271 # implementation.
272 ['exclude', 'KillRingNone\\.cpp$'],
273
274 # The Mac build uses Core Foundation.
275 ['include', 'CF\\.cpp$'],
276
277 # Use native Mac font code from core.
278 ['include', '(fonts/)?mac/[^/]*Font[^/]*\\.(cpp|mm?)$'],
279
280 ['include', 'text/mac/HyphenationMac\\.cpp$'],
281
282 # Cherry-pick some files that can't be included by broader regexps.
283 # Some of these are used instead of Chromium platform files, see
284 # the specific exclusions in the "exclude" list below.
285 ['include', 'audio/mac/FFTFrameMac\\.cpp$'],
286 ['include', 'fonts/mac/GlyphPageTreeNodeMac\\.cpp$'],
287 ['include', 'mac/ColorMac\\.mm$'],
288 ['include', 'mac/BlockExceptions\\.mm$'],
289 ['include', 'mac/KillRingMac\\.mm$'],
290 ['include', 'mac/LocalCurrentGraphicsContext\\.mm$'],
291 ['include', 'mac/NSScrollerImpDetails\\.mm$'],
292 ['include', 'mac/ScrollAnimatorMac\\.mm$'],
293 ['include', 'mac/ThemeMac\\.h$'],
294 ['include', 'mac/ThemeMac\\.mm$'],
295 ['include', 'mac/VersionUtilMac\\.h$'],
296 ['include', 'mac/VersionUtilMac\\.mm$'],
297 ['include', 'mac/WebCoreNSCellExtras\\.h$'],
298 ['include', 'mac/WebCoreNSCellExtras\\.mm$'],
299 ['include', 'scroll/ScrollbarThemeMac\\.h$'],
300 ['include', 'scroll/ScrollbarThemeMac\\.mm$'],
301
302 # Mac uses only ScrollAnimatorMac.
303 ['exclude', 'scroll/ScrollAnimator\\.cpp$'],
304 ['exclude', 'scroll/ScrollAnimator\\.h$'],
305
306 ['exclude', 'fonts/skia/FontCacheSkia\\.cpp$'],
307
308 ['include', 'geometry/mac/FloatPointMac\\.mm$'],
309 ['include', 'geometry/mac/FloatRectMac\\.mm$'],
310 ['include', 'geometry/mac/FloatSizeMac\\.mm$'],
311 ['include', 'geometry/mac/IntPointMac\\.mm$'],
312 ['include', 'geometry/mac/IntRectMac\\.mm$'],
313
314 ['include', 'geometry/cg/FloatPointCG\\.cpp$'],
315 ['include', 'geometry/cg/FloatRectCG\\.cpp$'],
316 ['include', 'geometry/cg/FloatSizeCG\\.cpp$'],
317 ['include', 'geometry/cg/IntPointCG\\.cpp$'],
318 ['include', 'geometry/cg/IntRectCG\\.cpp$'],
319 ['include', 'geometry/cg/IntSizeCG\\.cpp$'],
320 ],
321 }, { # OS!="mac"
322 'sources/': [
323 ['exclude', 'mac/'],
324 ['exclude', 'geometry/mac/'],
325 ['exclude', 'geometry/cg/'],
326 ['exclude', 'scroll/ScrollbarThemeMac'],
327 ],
328 }],
329 ['OS != "linux" and OS != "mac" and OS != "win"', {
330 'sources/': [
331 ['exclude', 'VDMX[^/]+\\.(cpp|h)$'],
332 ],
333 }],
334 ['OS=="win"', {
335 'sources/': [
336 # We use LocaleWin.cpp instead of LocaleICU.cpp
337 ['exclude', 'text/LocaleICU\\.(cpp|h)$'],
338 ['include', 'text/LocaleWin\\.(cpp|h)$'],
339
340 ['include', 'clipboard/ClipboardUtilitiesWin\\.(cpp|h)$'],
341
342 ['include', 'fonts/win/FontCacheSkiaWin\\.cpp$'],
343 ['include', 'fonts/win/FontFallbackWin\\.(cpp|h)$'],
344 ['include', 'fonts/win/FontPlatformDataWin\\.cpp$'],
345
346 ['include', 'text/win/HyphenationWin\\.cpp$'],
347
348 # SystemInfo.cpp is useful and we don't want to copy it.
349 ['include', 'win/SystemInfo\\.cpp$'],
350 ],
351 }, { # OS!="win"
352 'sources/': [
353 ['exclude', 'win/'],
354 ['exclude', 'Win\\.cpp$'],
355 ['exclude', '/(Windows)[^/]*\\.cpp$'],
356 ],
357 }],
358 ['OS=="win" and chromium_win_pch==1', {
359 'sources/': [
360 ['include', '<(DEPTH)/third_party/WebKit/Source/build/win/Precompile.c pp'],
361 ],
362 }],
363 ['OS=="android"', {
364 'sources/': [
365 ['include', '^fonts/VDMXParser\\.cpp$'],
366 ],
367 }, { # OS!="android"
368 'sources/': [
369 ['exclude', 'Android\\.cpp$'],
370 ],
371 }],
372 ['use_default_render_theme==0', {
373 'sources/': [
374 ['exclude', 'scroll/ScrollbarThemeAura\\.(cpp|h)'],
375 ],
376 }],
377 ['"WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
378 'include_dirs': [
379 '<(DEPTH)/third_party/ffmpeg',
380 ],
381 'dependencies': [
382 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
383 ],
384 }],
385 ['"WTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1" in feature_defines', {
386 'include_dirs': [
387 '<(DEPTH)/third_party/openmax_dl',
388 ],
389 'dependencies': [
390 '<(DEPTH)/third_party/openmax_dl/dl/dl.gyp:openmax_dl',
391 ],
392 }],
393 ['target_arch=="arm"', {
394 'dependencies': [
395 'blink_arm_neon',
396 ],
397 }],
398 ],
399 'target_conditions': [
400 ['OS=="android"', {
401 'sources/': [
402 ['include', 'fonts/linux/FontPlatformDataLinux\\.cpp$'],
403 ],
404 }],
405 ],
406 },
407 # The *NEON.cpp files fail to compile when -mthumb is passed. Force
408 # them to build in ARM mode.
409 # See https://bugs.webkit.org/show_bug.cgi?id=62916.
410 {
411 'target_name': 'blink_arm_neon',
412 'conditions': [
413 ['target_arch=="arm"', {
414 'type': 'static_library',
415 'dependencies': [
416 'blink_common',
417 ],
418 'hard_dependency': 1,
419 'sources': [
420 '<@(platform_files)',
421 ],
422 'sources/': [
423 ['exclude', '.*'],
424 ['include', 'graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
425 ],
426 'cflags': ['-marm'],
427 'conditions': [
428 ['OS=="android"', {
429 'cflags!': ['-mthumb'],
430 }],
431 ],
432 },{ # target_arch!="arm"
433 'type': 'none',
434 }],
435 ],
436 }],
437 }
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/modules_idl_files.gni ('k') | third_party/WebKit/Source/platform/blink_platform_tests.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698