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

Unified Diff: Source/platform/blink_platform.gyp

Issue 99103006: Moving GraphicsContext and dependencies from core to platform. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Final patch - fixes Android Created 7 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/imagebitmap/ImageBitmapFactories.cpp ('k') | Source/platform/blink_platform.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/blink_platform.gyp
diff --git a/Source/platform/blink_platform.gyp b/Source/platform/blink_platform.gyp
index ee603cacfbb8793015fcded19562210974d2a4f4..3ccf086f4ebce8223a8af5b8204e010c9e411389 100644
--- a/Source/platform/blink_platform.gyp
+++ b/Source/platform/blink_platform.gyp
@@ -44,6 +44,11 @@
# FIXME: Can we remove the dependency on Skia?
'<(DEPTH)/skia/skia.gyp:skia',
],
+ 'all_dependent_settings': {
+ 'include_dirs': [
+ '..',
+ ],
+ },
'export_dependent_settings': [
'<(DEPTH)/skia/skia.gyp:skia',
],
@@ -62,21 +67,38 @@
'dependencies': [
'../config.gyp:config',
'../wtf/wtf.gyp:wtf',
+ 'blink_common',
+ '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib',
'<(DEPTH)/skia/skia.gyp:skia',
# FIXME: This dependency exists for CSS Custom Filters, via the file ANGLEPlatformBridge
# The code touching ANGLE should really be moved into the ANGLE directory.
'<(angle_path)/src/build_angle.gyp:translator',
'<(DEPTH)/third_party/icu/icu.gyp:icui18n',
'<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ '<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
+ '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
+ '<(DEPTH)/third_party/ots/ots.gyp:ots',
+ '<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
'<(DEPTH)/url/url.gyp:url_lib',
+ '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
'platform_derived_sources.gyp:make_platform_derived_sources',
- 'blink_common',
+ '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
+ '<(libjpeg_gyp_path):libjpeg',
],
'export_dependent_settings': [
+ '<(DEPTH)/gpu/gpu.gyp:gles2_c_lib',
+ '<(DEPTH)/skia/skia.gyp:skia',
+ '<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
+ '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
+ '<(DEPTH)/third_party/ots/ots.gyp:ots',
+ '<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
+ '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
# FIXME: This dependency exists for CSS Custom Filters, via the file ANGLEPlatformBridge
# The code touching ANGLE should really be moved into the ANGLE directory.
'<(angle_path)/src/build_angle.gyp:translator',
'<(DEPTH)/url/url.gyp:url_lib',
+ '<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
+ '<(libjpeg_gyp_path):libjpeg',
],
'defines': [
'BLINK_PLATFORM_IMPLEMENTATION=1',
@@ -101,12 +123,46 @@
'<(SHARED_INTERMEDIATE_DIR)/blink/RuntimeEnabledFeatures.h',
'<(SHARED_INTERMEDIATE_DIR)/blink/ColorData.cpp',
],
+ 'sources/': [
+ # Exclude all platform specific things, reinclude them below on a per-platform basis
+ # FIXME: Figure out how to store these patterns in a variable.
+ ['exclude', '(cf|cg|harfbuzz|mac|opentype|win)/'],
+ ['exclude', '(?<!Chromium)(CF|CG|Mac|Win)\\.(cpp|mm?)$'],
+
+ # *NEON.cpp files need special compile options.
+ # They are moved to the webcore_0_neon target.
+ ['exclude', 'graphics/cpu/arm/.*NEON\\.(cpp|h)'],
+ ['exclude', 'graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
+ ],
# Disable c4267 warnings until we fix size_t to int truncations.
# Disable c4724 warnings which is generated in VS2012 due to improper
# compiler optimizations, see crbug.com/237063
'msvs_disabled_warnings': [ 4267, 4334, 4724 ],
'conditions': [
+ ['OS=="linux" or OS=="android"', {
+ 'sources/': [
+ # Cherry-pick files excluded by the broader regular expressions above.
+ ['include', 'fonts/harfbuzz/FontHarfBuzz\\.cpp$'],
+ ['include', 'fonts/harfbuzz/FontPlatformDataHarfBuzz\\.cpp$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzFace\\.(cpp|h)$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzFaceSkia\\.cpp$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzShaper\\.(cpp|h)$'],
+ ['include', 'fonts/opentype/OpenTypeTypes\\.h$'],
+ ['include', 'fonts/opentype/OpenTypeVerticalData\\.(cpp|h)$'],
+ ['include', 'fonts/skia/SimpleFontDataSkia\\.cpp$'],
+ ],
+ 'dependencies': [
+ '<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng',
+ ],
+ }, { # OS!="linux" and OS!="android"
+ 'sources/': [
+ ['exclude', 'Harfbuzz[^/]+\\.(cpp|h)$'],
+ ],
+ }],
['OS=="mac"', {
+ 'dependencies': [
+ '<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng',
+ ],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
@@ -116,12 +172,52 @@
},
'sources/': [
# We use LocaleMac.mm instead of LocaleICU.cpp
- ['exclude', 'LocaleICU\\.(cpp|h)$'],
+ ['exclude', 'text/LocaleICU\\.(cpp|h)$'],
+ ['include', 'text/LocaleMac\\.mm$'],
# The Mac uses mac/KillRingMac.mm instead of the dummy
# implementation.
['exclude', 'KillRingNone\\.cpp$'],
+ # The Mac build is USE(CF).
+ ['include', 'CF\\.cpp$'],
+
+ # Use native Mac font code from core.
+ ['include', '(fonts/)?mac/[^/]*Font[^/]*\\.(cpp|mm?)$'],
+ ['include', 'fonts/mac/ComplexText[^/]*\\.(cpp|h)$'],
+
+ # Cherry-pick some files that can't be included by broader regexps.
+ # Some of these are used instead of Chromium platform files, see
+ # the specific exclusions in the "exclude" list below.
+ ['include', 'audio/mac/FFTFrameMac\\.cpp$'],
+ ['include', 'fonts/mac/GlyphPageTreeNodeMac\\.cpp$'],
+ ['include', 'fonts/mac/ComplexTextControllerCoreText\\.mm$'],
+ ['include', 'mac/ColorMac\\.mm$'],
+ ['include', 'mac/BlockExceptions\\.mm$'],
+ ['include', 'mac/KillRingMac\\.mm$'],
+ ['include', 'mac/LocalCurrentGraphicsContext\\.mm$'],
+ ['include', 'mac/NSScrollerImpDetails\\.mm$'],
+ ['include', 'mac/ScrollAnimatorMac\\.mm$'],
+ ['include', 'mac/ScrollElasticityController\\.mm$'],
+
+ # Mac uses only ScrollAnimatorMac.
+ ['exclude', 'scroll/ScrollbarThemeNonMacCommon\\.(cpp|h)$'],
+ ['exclude', 'scroll/ScrollAnimatorNone\\.cpp$'],
+ ['exclude', 'scroll/ScrollAnimatorNone\\.h$'],
+
+ # The Mac currently uses FontCustomPlatformDataMac.cpp,
+ # included by regex above, instead.
+ ['exclude', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'],
+
+ ['exclude', 'fonts/skia/FontCacheSkia\\.cpp$'],
+ ['exclude', 'fonts/skia/GlyphPageTreeNodeSkia\\.cpp$'],
+ ['exclude', 'fonts/skia/SimpleFontDataSkia\\.cpp$'],
+
+ # Mac uses Harfbuzz.
+ ['include', 'fonts/harfbuzz/HarfBuzzFaceCoreText\\.cpp$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzFace\\.(cpp|h)$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzShaper\\.(cpp|h)$'],
+
['include', 'geometry/mac/FloatPointMac\\.mm$'],
['include', 'geometry/mac/FloatRectMac\\.mm$'],
['include', 'geometry/mac/FloatSizeMac\\.mm$'],
@@ -134,7 +230,6 @@
['include', 'geometry/cg/IntPointCG\\.cpp$'],
['include', 'geometry/cg/IntRectCG\\.cpp$'],
['include', 'geometry/cg/IntSizeCG\\.cpp$'],
-
],
'defines': [
'WebFontCache=ChromiumWebCoreObjCWebFontCache',
@@ -144,17 +239,116 @@
['exclude', 'mac/'],
['exclude', 'geometry/mac/'],
['exclude', 'geometry/cg/'],
+ ['exclude', 'scroll/ScrollbarThemeMac'],
+
+ # FIXME: We will eventually compile this too, but for now it's
+ # only used on mac.
+ ['exclude', 'fonts/FontPlatformData\\.cpp$'],
+ ['exclude', 'fonts/harfbuzz/HarfBuzzFaceCoreText\\.cpp$'],
+ ],
+ }],
+ ['OS != "linux" and OS != "mac" and (OS != "win" or (OS == "win" and "ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines))', {
+ 'sources/': [
+ ['exclude', 'VDMX[^/]+\\.(cpp|h)$'],
],
}],
['OS=="win"', {
'sources/': [
# We use LocaleWin.cpp instead of LocaleICU.cpp
- ['exclude', 'LocaleICU\\.(cpp|h)$'],
+ ['exclude', 'text/LocaleICU\\.(cpp|h)$'],
+ ['include', 'text/LocaleWin\\.(cpp|h)$'],
+
+ ['include', 'clipboard/ClipboardUtilitiesWin\\.(cpp|h)$'],
+
+ ['include', 'fonts/win/FontFallbackWin\\.(cpp|h)$'],
+ ['include', 'fonts/win/FontPlatformDataWin\\.(cpp|h)$'],
+ ['include', 'fonts/win/FontWin\\.cpp$'],
+ ['include', 'fonts/opentype/'],
+ ['include', 'fonts/skia/SkiaFontWin\\.(cpp|h)$'],
+ ['include', 'fonts/win/UniscribeHelper\\.(cpp|h)$'],
+ ['include', 'fonts/win/UniscribeHelperTextRun\\.(cpp|h)$'],
+
+ ['include', 'scroll/ScrollbarThemeWin\\.(cpp|h)$'],
+
+ # SystemInfo.cpp is useful and we don't want to copy it.
+ ['include', 'win/SystemInfo\\.cpp$'],
+ ],
+ 'conditions': [
+ ['"ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines', {
+ 'sources/': [
+ ['include', 'fonts/win/FontCustomPlatformDataWin\\.cpp$'],
+ ['exclude', 'fonts/skia/SimpleFontDataSkia\\.cpp$'],
+ ['exclude', 'fonts/skia/GlyphPageTreeNodeSkia\\.cpp$'],
+ ['exclude', 'fonts/skia/FontCacheSkia\\.cpp$'],
+ ['exclude', 'fonts/skia/FontCacheSkiaWin\\.cpp$'],
+ ['exclude', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'],
+ ],
+ },{ # ENABLE_GDI_FONTS_ON_WINDOWS!=1
+ 'sources/': [
+ ['include', 'fonts/skia/SimpleFontDataSkia\\.cpp$'],
+ ['include', 'fonts/skia/GlyphPageTreeNodeSkia\\.cpp$'],
+ ['include', 'fonts/skia/FontCacheSkiaWin\\.cpp$'],
+ ['include', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'],
+ ['include', 'fonts/skia/FontCustomPlatformDataSkia\\.cpp$'],
+ ['exclude', 'fonts/win/SimpleFontDataWin\\.cpp$'],
+ ['exclude', 'fonts/GlyphPageTreeNodeWin\\.cpp$'],
+ ['exclude', 'fonts/FontCacheWin\\.cpp$'],
+ ['exclude', 'fonts/FontCustomPlatformDataWin\\.cpp$'],
+ ],
+ }],
+ ['"ENABLE_HARFBUZZ_ON_WINDOWS=1" in feature_defines', {
+ 'sources/': [
+ ['include', 'fonts/harfbuzz/FontHarfBuzz\\.cpp$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzFace\\.(cpp|h)$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzFaceSkia\\.cpp$'],
+ ['include', 'fonts/harfbuzz/HarfBuzzShaper\\.(cpp|h)$'],
+ ['exclude', 'fonts/win/FontWin\\.cpp$'],
+ ['exclude', '/(Uniscribe)[^/]*\\.(cpp|h)$'],
+ ],
+ 'dependencies': [
+ '<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng',
+ ],
+ }],
],
}, { # OS!="win"
'sources/': [
['exclude', 'win/'],
['exclude', 'Win\\.cpp$'],
+ ['exclude', '/(Windows|Uniscribe)[^/]*\\.cpp$'],
+ ['include', 'fonts/opentype/OpenTypeSanitizer\\.cpp$'],
+ ],
+ }],
+ ['OS=="android"', {
+ 'sources/': [
+ ['include', '^fonts/VDMXParser\\.cpp$'],
+ ],
+ }, { # OS!="android"
+ 'sources/': [
+ ['exclude', 'Android\\.cpp$'],
+ ],
+ }],
+ ['use_x11 == 1', {
+ 'dependencies': [
+ '<(DEPTH)/build/linux/system.gyp:fontconfig',
+ ],
+ 'export_dependent_settings': [
+ '<(DEPTH)/build/linux/system.gyp:fontconfig',
+ ],
+ 'direct_dependent_settings': {
+ 'cflags': [
+ # WebCore does not work with strict aliasing enabled.
+ # https://bugs.webkit.org/show_bug.cgi?id=25864
+ '-fno-strict-aliasing',
+ ],
+ },
+ }],
+ ['use_default_render_theme==1', {
+ 'sources/': [
+ ['exclude', 'scroll/ScrollbarThemeWin\\.(cpp|h)'],
+ ],
+ }, { # use_default_render_theme==0
+ 'sources/': [
+ ['exclude', 'scroll/ScrollbarThemeGtkOrAura\\.(cpp|h)'],
],
}],
['"WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
@@ -174,5 +368,12 @@
],
}],
],
+ 'target_conditions': [
+ ['OS=="android"', {
+ 'sources/': [
+ ['include', 'exported/linux/WebFontRenderStyle\\.cpp$'],
+ ],
+ }],
+ ],
}],
}
« no previous file with comments | « Source/modules/imagebitmap/ImageBitmapFactories.cpp ('k') | Source/platform/blink_platform.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698