OLD | NEW |
| (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 } | |
OLD | NEW |