diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2016-03-16 15:35:20 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2016-03-16 15:35:20 -0400 |
commit | a03c343b47938fcb1b562741ff05252b01a4e39d (patch) | |
tree | 8f4ea4f27285a6b3e1838685c1a7116d006ce1ee /skia/skia_common.gypi | |
parent | 30410cecd0f2653556094a20c2564170be127127 (diff) | |
download | pdfium-a03c343b47938fcb1b562741ff05252b01a4e39d.tar.xz |
Enable building pdf_use_skia in the standalone build.
This CL adds the necessary pieces so you can add pdf_use_skia=1 to GYP_DEFINES
and do a standalone build.
R=caryclark@google.com
Review URL: https://codereview.chromium.org/1812563002 .
Diffstat (limited to 'skia/skia_common.gypi')
-rw-r--r-- | skia/skia_common.gypi | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/skia/skia_common.gypi b/skia/skia_common.gypi new file mode 100644 index 0000000000..4b7a51b6b1 --- /dev/null +++ b/skia/skia_common.gypi @@ -0,0 +1,157 @@ +# Copyright 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This gypi file handles the removal of platform-specific files from the +# Skia build. +{ + 'include_dirs': [ + '..', + 'config', + ], + + 'conditions': [ + [ 'OS != "android"', { + 'sources/': [ + ['exclude', '_android\\.(cc|cpp)$'], + ], + }], + [ 'OS != "ios"', { + 'sources/': [ + ['exclude', '_ios\\.(cc|cpp|mm?)$'], + ], + }], + [ 'OS == "ios"', { + 'defines': [ + 'SK_BUILD_FOR_IOS', + ], + }], + [ 'OS != "mac"', { + 'sources/': [ + ['exclude', '_mac\\.(cc|cpp|mm?)$'], + ], + }], + [ 'OS == "mac"', { + 'defines': [ + 'SK_BUILD_FOR_MAC', + ], + }], + [ 'OS != "win"', { + 'sources/': [ ['exclude', '_win\\.(cc|cpp)$'] ], + }], + [ 'OS == "win"', { + 'defines': [ + # On windows, GDI handles are a scarse system-wide resource so we have to keep + # the glyph cache, which holds up to 4 GDI handles per entry, to a fairly small + # size. + # http://crbug.com/314387 + 'SK_DEFAULT_FONT_CACHE_COUNT_LIMIT=256', + 'GR_GL_FUNCTION_TYPE=__stdcall', + ], + }], + [ 'OS!="linux"', { + 'sources/': [ ['exclude', '_linux\\.(cc|cpp)$'] ], + }], + + #Settings for text blitting, chosen to approximate the system browser. + [ 'OS == "linux"', { + 'defines': [ + 'SK_GAMMA_EXPONENT=1.2', + 'SK_GAMMA_CONTRAST=0.2', + ], + }], + ['OS == "android"', { + 'defines': [ + 'SK_GAMMA_APPLY_TO_A8', + 'SK_GAMMA_EXPONENT=1.4', + 'SK_GAMMA_CONTRAST=0.0', + ], + }], + ['OS == "win"', { + 'defines': [ + 'SK_GAMMA_SRGB', + 'SK_GAMMA_CONTRAST=0.5', + ], + }], + ['OS == "mac"', { + 'defines': [ + 'SK_GAMMA_SRGB', + 'SK_GAMMA_CONTRAST=0.0', + ], + }], + + # Neon support. + [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 1', { + 'defines': [ + 'SK_ARM_HAS_NEON', + ], + }], + [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 0 and arm_neon_optional == 1', { + 'defines': [ + 'SK_ARM_HAS_OPTIONAL_NEON', + ], + }], + ], + + 'variables': { + 'variables': { + 'conditions': [ + ['OS== "ios"', { + 'skia_support_gpu': 0, + }, { + 'skia_support_gpu': 1, + }], + ], + }, + 'skia_support_gpu': '<(skia_support_gpu)', + 'skia_support_pdf': '<(skia_support_pdf)', + + # These two set the paths so we can include skia/gyp/core.gypi + 'skia_src_path': '../third_party/skia/src', + 'skia_include_path': '../third_party/skia/include', + + # This list will contain all defines that also need to be exported to + # dependent components. + 'skia_export_defines': [ + 'SK_SUPPORT_GPU=<(skia_support_gpu)', + ], + + 'default_font_cache_limit%': '(20*1024*1024)', + + 'conditions': [ + ['OS== "android"', { + # Android devices are typically more memory constrained, so + # default to a smaller glyph cache (it may be overriden at runtime + # when the renderer starts up, depending on the actual device memory). + 'default_font_cache_limit': '(1*1024*1024)', + 'skia_export_defines': [ + 'SK_BUILD_FOR_ANDROID', + ], + }], + ], + }, + + 'defines': [ + '<@(skia_export_defines)', + + 'SK_DEFAULT_FONT_CACHE_LIMIT=<(default_font_cache_limit)', + ], + + 'direct_dependent_settings': { + 'defines': [ + '<@(skia_export_defines)', + ], + }, + + # We would prefer this to be direct_dependent_settings, + # however we currently have no means to enforce that direct dependents + # re-export if they include Skia headers in their public headers. + 'all_dependent_settings': { + 'include_dirs': [ + '..', + 'config', + ], + }, + + 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4748, 4800], +} |