OLD | NEW |
| (Empty) |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 # This gypi file handles the removal of platform-specific files from the | |
6 # Skia build. | |
7 { | |
8 'includes': [ | |
9 # blink_skia_config.gypi defines blink_skia_defines | |
10 '../third_party/WebKit/public/blink_skia_config.gypi', | |
11 | |
12 # skia_for_chromium_defines.gypi defines skia_for_chromium_defines | |
13 '../third_party/skia/gyp/skia_for_chromium_defines.gypi', | |
14 ], | |
15 | |
16 'include_dirs': [ | |
17 '..', | |
18 'config', | |
19 ], | |
20 | |
21 'conditions': [ | |
22 [ 'OS != "android"', { | |
23 'sources/': [ | |
24 ['exclude', '_android\\.(cc|cpp)$'], | |
25 ], | |
26 }], | |
27 [ 'OS != "ios"', { | |
28 'sources/': [ | |
29 ['exclude', '_ios\\.(cc|cpp|mm?)$'], | |
30 ], | |
31 }], | |
32 [ 'OS == "ios"', { | |
33 'defines': [ | |
34 'SK_BUILD_FOR_IOS', | |
35 ], | |
36 }], | |
37 [ 'OS != "mac"', { | |
38 'sources/': [ | |
39 ['exclude', '_mac\\.(cc|cpp|mm?)$'], | |
40 ], | |
41 }], | |
42 [ 'OS == "mac"', { | |
43 'defines': [ | |
44 'SK_BUILD_FOR_MAC', | |
45 ], | |
46 }], | |
47 [ 'OS != "win"', { | |
48 'sources/': [ ['exclude', '_win\\.(cc|cpp)$'] ], | |
49 }], | |
50 [ 'OS == "win"', { | |
51 'defines': [ | |
52 # On windows, GDI handles are a scarse system-wide resource so we have t
o keep | |
53 # the glyph cache, which holds up to 4 GDI handles per entry, to a fairl
y small | |
54 # size. | |
55 # http://crbug.com/314387 | |
56 'SK_DEFAULT_FONT_CACHE_COUNT_LIMIT=256', | |
57 ], | |
58 }], | |
59 [ 'desktop_linux == 0 and chromeos == 0', { | |
60 'sources/': [ ['exclude', '_linux\\.(cc|cpp)$'] ], | |
61 }], | |
62 [ 'use_cairo == 0', { | |
63 'sources/': [ ['exclude', '_cairo\\.(cc|cpp)$'] ], | |
64 }], | |
65 | |
66 #Settings for text blitting, chosen to approximate the system browser. | |
67 [ 'OS == "linux"', { | |
68 'defines': [ | |
69 'SK_GAMMA_EXPONENT=1.2', | |
70 'SK_GAMMA_CONTRAST=0.2', | |
71 'SK_HIGH_QUALITY_IS_LANCZOS', | |
72 ], | |
73 }], | |
74 ['OS == "android"', { | |
75 'defines': [ | |
76 'SK_GAMMA_APPLY_TO_A8', | |
77 'SK_GAMMA_EXPONENT=1.4', | |
78 'SK_GAMMA_CONTRAST=0.0', | |
79 ], | |
80 }], | |
81 ['OS == "win"', { | |
82 'defines': [ | |
83 'SK_GAMMA_SRGB', | |
84 'SK_GAMMA_CONTRAST=0.5', | |
85 'SK_HIGH_QUALITY_IS_LANCZOS', | |
86 ], | |
87 }], | |
88 ['OS == "mac"', { | |
89 'defines': [ | |
90 'SK_GAMMA_SRGB', | |
91 'SK_GAMMA_CONTRAST=0.0', | |
92 'SK_HIGH_QUALITY_IS_LANCZOS', | |
93 ], | |
94 }], | |
95 | |
96 # Neon support. | |
97 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 1', { | |
98 'defines': [ | |
99 'SK_ARM_HAS_NEON', | |
100 ], | |
101 }], | |
102 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon_optional == 1', { | |
103 'defines': [ | |
104 'SK_ARM_HAS_OPTIONAL_NEON', | |
105 ], | |
106 }], | |
107 | |
108 # Enable feedback-directed optimisation for skia when building in android. | |
109 [ 'android_webview_build == 1', { | |
110 'aosp_build_settings': { | |
111 'LOCAL_FDO_SUPPORT': 'true', | |
112 }, | |
113 }], | |
114 ], | |
115 | |
116 'variables': { | |
117 'variables': { | |
118 'conditions': [ | |
119 ['OS== "ios"', { | |
120 'skia_support_gpu': 0, | |
121 }, { | |
122 'skia_support_gpu': 1, | |
123 }], | |
124 ['OS=="ios" or (enable_basic_printing==0 and enable_print_preview==0)',
{ | |
125 'skia_support_pdf': 0, | |
126 }, { | |
127 'skia_support_pdf': 1, | |
128 }], | |
129 ], | |
130 }, | |
131 'skia_support_gpu': '<(skia_support_gpu)', | |
132 'skia_support_pdf': '<(skia_support_pdf)', | |
133 | |
134 # These two set the paths so we can include skia/gyp/core.gypi | |
135 'skia_src_path': '../third_party/skia/src', | |
136 'skia_include_path': '../third_party/skia/include', | |
137 | |
138 # This list will contain all defines that also need to be exported to | |
139 # dependent components. | |
140 'skia_export_defines': [ | |
141 'SK_SUPPORT_GPU=<(skia_support_gpu)', | |
142 | |
143 # This variable contains additional defines, specified in blink's | |
144 # blink_skia_config.gypi file. | |
145 '<@(blink_skia_defines)', | |
146 | |
147 # This variable contains additional defines, specified in skia's | |
148 # skia_for_chromium_defines.gypi file. | |
149 '<@(skia_for_chromium_defines)', | |
150 ], | |
151 | |
152 'default_font_cache_limit%': '(20*1024*1024)', | |
153 | |
154 'conditions': [ | |
155 ['OS== "android"', { | |
156 # Android devices are typically more memory constrained, so | |
157 # default to a smaller glyph cache (it may be overriden at runtime | |
158 # when the renderer starts up, depending on the actual device memory). | |
159 'default_font_cache_limit': '(1*1024*1024)', | |
160 'skia_export_defines': [ | |
161 'SK_BUILD_FOR_ANDROID', | |
162 ], | |
163 }], | |
164 ], | |
165 }, | |
166 | |
167 'defines': [ | |
168 '<@(skia_export_defines)', | |
169 | |
170 'SK_DEFAULT_FONT_CACHE_LIMIT=<(default_font_cache_limit)', | |
171 ], | |
172 | |
173 'direct_dependent_settings': { | |
174 'defines': [ | |
175 '<@(skia_export_defines)', | |
176 ], | |
177 }, | |
178 | |
179 # We would prefer this to be direct_dependent_settings, | |
180 # however we currently have no means to enforce that direct dependents | |
181 # re-export if they include Skia headers in their public headers. | |
182 'all_dependent_settings': { | |
183 'include_dirs': [ | |
184 '..', | |
185 'config', | |
186 ], | |
187 }, | |
188 | |
189 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4748, 4800], | |
190 } | |
OLD | NEW |