| 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 |