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

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

Issue 715753002: [WIP] support arm_neon_optional flag in blink. Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « Source/platform/audio/mac/VectorMathMac.cpp ('k') | Source/platform/blink_platform.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 '<(blink_platform_output_dir)/FontFamilyNames.cpp', 230 '<(blink_platform_output_dir)/FontFamilyNames.cpp',
231 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.cpp', 231 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.cpp',
232 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.h', 232 '<(blink_platform_output_dir)/RuntimeEnabledFeatures.h',
233 '<(blink_platform_output_dir)/ColorData.cpp', 233 '<(blink_platform_output_dir)/ColorData.cpp',
234 ], 234 ],
235 'sources/': [ 235 'sources/': [
236 # Exclude all platform specific things, reinclude them below on a per-plat form basis 236 # Exclude all platform specific things, reinclude them below on a per-plat form basis
237 # FIXME: Figure out how to store these patterns in a variable. 237 # FIXME: Figure out how to store these patterns in a variable.
238 ['exclude', '(cf|cg|mac|opentype|win)/'], 238 ['exclude', '(cf|cg|mac|opentype|win)/'],
239 ['exclude', '(?<!Chromium)(CF|CG|Mac|Win)\\.(cpp|mm?)$'], 239 ['exclude', '(?<!Chromium)(CF|CG|Mac|Win)\\.(cpp|mm?)$'],
240
241 # *NEON.cpp files need special compile options.
242 # They are moved to the webcore_0_neon target.
243 ['exclude', 'graphics/cpu/arm/.*NEON\\.(cpp|h)'],
244 ['exclude', 'graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
245 ], 240 ],
246 # Disable c4267 warnings until we fix size_t to int truncations. 241 # Disable c4267 warnings until we fix size_t to int truncations.
247 # Disable c4724 warnings which is generated in VS2012 due to improper 242 # Disable c4724 warnings which is generated in VS2012 due to improper
248 # compiler optimizations, see crbug.com/237063 243 # compiler optimizations, see crbug.com/237063
249 'msvs_disabled_warnings': [ 4267, 4334, 4724 ], 244 'msvs_disabled_warnings': [ 4267, 4334, 4724 ],
250 'conditions': [ 245 'conditions': [
251 ['OS=="linux" or OS=="android" or OS=="win"', { 246 ['OS=="linux" or OS=="android" or OS=="win"', {
252 'sources/': [ 247 'sources/': [
253 # Cherry-pick files excluded by the broader regular expressions above. 248 # Cherry-pick files excluded by the broader regular expressions above.
254 ['include', 'fonts/opentype/OpenTypeTypes\\.h$'], 249 ['include', 'fonts/opentype/OpenTypeTypes\\.h$'],
(...skipping 26 matching lines...) Expand all
281 }, 276 },
282 'sources/': [ 277 'sources/': [
283 # We use LocaleMac.mm instead of LocaleICU.cpp 278 # We use LocaleMac.mm instead of LocaleICU.cpp
284 ['exclude', 'text/LocaleICU\\.(cpp|h)$'], 279 ['exclude', 'text/LocaleICU\\.(cpp|h)$'],
285 ['include', 'text/LocaleMac\\.mm$'], 280 ['include', 'text/LocaleMac\\.mm$'],
286 281
287 # The Mac uses mac/KillRingMac.mm instead of the dummy 282 # The Mac uses mac/KillRingMac.mm instead of the dummy
288 # implementation. 283 # implementation.
289 ['exclude', 'KillRingNone\\.cpp$'], 284 ['exclude', 'KillRingNone\\.cpp$'],
290 285
286 # MACOS is using vDSP_xxx functions for vector math.
287 ['exclude', 'audio/VectorMath\\.cpp$'],
288 ['exclude', 'audio/cpu/arm/VectorMathNEON\\.cpp$'],
289 ['include', 'audio/mac/VectorMathMac\\.cpp$'],
290
291 # The Mac build is USE(CF). 291 # The Mac build is USE(CF).
292 ['include', 'CF\\.cpp$'], 292 ['include', 'CF\\.cpp$'],
293 293
294 # Use native Mac font code from core. 294 # Use native Mac font code from core.
295 ['include', '(fonts/)?mac/[^/]*Font[^/]*\\.(cpp|mm?)$'], 295 ['include', '(fonts/)?mac/[^/]*Font[^/]*\\.(cpp|mm?)$'],
296 296
297 # TODO(dro): Merge the opentype vertical data files inclusion across a ll platforms. 297 # TODO(dro): Merge the opentype vertical data files inclusion across a ll platforms.
298 ['include', 'fonts/opentype/OpenTypeTypes\\.h$'], 298 ['include', 'fonts/opentype/OpenTypeTypes\\.h$'],
299 ['include', 'fonts/opentype/OpenTypeVerticalData\\.(cpp|h)$'], 299 ['include', 'fonts/opentype/OpenTypeVerticalData\\.(cpp|h)$'],
300 300
301 # Cherry-pick some files that can't be included by broader regexps. 301 # Cherry-pick some files that can't be included by broader regexps.
302 # Some of these are used instead of Chromium platform files, see 302 # Some of these are used instead of Chromium platform files, see
303 # the specific exclusions in the "exclude" list below. 303 # the specific exclusions in the "exclude" list below.
304 ['include', 'audio/mac/FFTFrameMac\\.cpp$'], 304 ['include', 'audio/mac/FFTFrameMac\\.cpp$'],
305 ['include', 'fonts/mac/GlyphPageTreeNodeMac\\.cpp$'], 305 ['include', 'fonts/mac/GlyphPageTreeNodeMac\\.cpp$'],
306 ['include', 'mac/ColorMac\\.mm$'], 306 ['include', 'mac/ColorMac\\.mm$'],
307 ['include', 'mac/BlockExceptions\\.mm$'], 307 ['include', 'mac/BlockExceptions\\.mm$'],
308 ['include', 'mac/KillRingMac\\.mm$'], 308 ['include', 'mac/KillRingMac\\.mm$'],
309 ['include', 'mac/LocalCurrentGraphicsContext\\.mm$'], 309 ['include', 'mac/LocalCurrentGraphicsContext\\.mm$'],
310 ['include', 'mac/NSScrollerImpDetails\\.mm$'], 310 ['include', 'mac/NSScrollerImpDetails\\.mm$'],
311 ['include', 'mac/ScrollAnimatorMac\\.mm$'], 311 ['include', 'mac/ScrollAnimatorMac\\.mm$'],
312 ['include', 'mac/ScrollElasticityController\\.mm$'], 312 ['include', 'mac/ScrollElasticityController\\.mm$'],
313 ['include', 'mac/ThemeMac\\.h$'], 313 ['include', 'mac/ThemeMac\\.h$'],
314 ['include', 'mac/ThemeMac\\.mm$'], 314 ['include', 'mac/ThemeMac\\.mm$'],
315 ['include', 'mac/WebCoreNSCellExtras\\.h$'], 315 ['include', 'mac/WebCoreNSCellExtras\\.h$'],
316 ['include', 'mac/WebCoreNSCellExtras\\.mm$'], 316 ['include', 'mac/WebCoreNSCellExtras\\.mm$'],
317 317
318 # Mac uses only ScrollAnimatorMac. 318 # Mac uses only ScrollAnimatorMac.
319 ['exclude', 'scroll/ScrollbarThemeNonMacCommon\\.(cpp|h)$'], 319 ['exclude', 'scroll/ScrollbarThemeNonMacCommon\\.(cpp|h)$'],
320 ['exclude', 'scroll/ScrollAnimatorNone\\.cpp$'], 320 ['exclude', 'scroll/ScrollAnimatorNone\\.cpp$'],
321 ['exclude', 'scroll/ScrollAnimatorNone\\.h$'], 321 ['exclude', 'scroll/ScrollAnimatorNone\\.h$'],
322 322
323 # The Mac currently uses FontCustomPlatformDataMac.cpp, 323 # The Mac currently uses FontCustomPlatformDataMac.cpp,
324 # included by regex above, instead. 324 # included by regex above, instead.
325 ['exclude', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'], 325 ['exclude', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'],
326 326
327 ['exclude', 'fonts/skia/FontCacheSkia\\.cpp$'], 327 ['exclude', 'fonts/skia/FontCacheSkia\\.cpp$'],
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 }], 418 }],
419 ['"WTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1" in feature_defines', { 419 ['"WTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1" in feature_defines', {
420 'include_dirs': [ 420 'include_dirs': [
421 '<(DEPTH)/third_party/openmax_dl', 421 '<(DEPTH)/third_party/openmax_dl',
422 ], 422 ],
423 'dependencies': [ 423 'dependencies': [
424 '<(DEPTH)/third_party/openmax_dl/dl/dl.gyp:openmax_dl', 424 '<(DEPTH)/third_party/openmax_dl/dl/dl.gyp:openmax_dl',
425 ], 425 ],
426 }], 426 }],
427 ['target_arch=="arm"', { 427 ['target_arch=="arm"', {
428 'dependencies': [ 428 'sources/': [
429 'blink_arm_neon', 429 # ARM NEON specific functions.
430 ['exclude', 'audio/VectorMath\.cpp$'],
431 ['include', 'audio/cpu/arm/VectorMathNEON\\.cpp$'],
432 ],
433 'conditions': [
434 ['arm_neon == 1 or arm_neon_optional == 1', {
435 'cflags!': [
436 '-mfpu=vfp',
437 '-mfpu=vfpv3-d16',
438 ],
439 'cflags': [
440 '-marm',
441 '-mfpu=neon',
442 ],
443 'conditions': [
444 ['OS=="android"', {
445 'cflags!': ['-mthumb'],
446 }],
447 ],
448 }],
430 ], 449 ],
431 }], 450 }],
432 ], 451 ],
433 'target_conditions': [ 452 'target_conditions': [
434 ['OS=="android"', { 453 ['OS=="android"', {
435 'sources/': [ 454 'sources/': [
436 ['include', 'exported/linux/WebFontRenderStyle\\.cpp$'], 455 ['include', 'exported/linux/WebFontRenderStyle\\.cpp$'],
437 ['include', 'fonts/linux/FontPlatformDataLinux\\.cpp$'], 456 ['include', 'fonts/linux/FontPlatformDataLinux\\.cpp$'],
438 ], 457 ],
439 }], 458 }],
440 ], 459 ],
441 },
442 # The *NEON.cpp files fail to compile when -mthumb is passed. Force
443 # them to build in ARM mode.
444 # See https://bugs.webkit.org/show_bug.cgi?id=62916.
445 {
446 'target_name': 'blink_arm_neon',
447 'conditions': [
448 ['target_arch=="arm"', {
449 'type': 'static_library',
450 'dependencies': [
451 'blink_common',
452 ],
453 'hard_dependency': 1,
454 'sources': [
455 '<@(platform_files)',
456 ],
457 'sources/': [
458 ['exclude', '.*'],
459 ['include', 'graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
460 ],
461 'cflags': ['-marm'],
462 'conditions': [
463 ['OS=="android"', {
464 'cflags!': ['-mthumb'],
465 }],
466 ],
467 },{ # target_arch!="arm"
468 'type': 'none',
469 }],
470 ],
471 }], 460 }],
472 } 461 }
OLDNEW
« no previous file with comments | « Source/platform/audio/mac/VectorMathMac.cpp ('k') | Source/platform/blink_platform.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698