| 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$'],
|
| + ],
|
| + }],
|
| + ],
|
| }],
|
| }
|
|
|