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 # chromium_skia_defines.gypi defines chromium_skia_defines | |
10 'chromium_skia_defines.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 # When targetting iOS and using gyp to generate the build files, it is | |
35 # not possible to select files to build depending on the architecture | |
36 # (i.e. it is not possible to use hand optimized assembly version). In | |
37 # that configuration, disable all optimisation. | |
38 'SK_BUILD_FOR_IOS', | |
39 'SK_BUILD_NO_OPTS', | |
40 ], | |
41 }], | |
42 [ 'OS != "mac"', { | |
43 'sources/': [ | |
44 ['exclude', '_mac\\.(cc|cpp|mm?)$'], | |
45 ], | |
46 }], | |
47 [ 'OS == "mac"', { | |
48 'defines': [ | |
49 'SK_BUILD_FOR_MAC', | |
50 ], | |
51 }], | |
52 [ 'OS != "win"', { | |
53 'sources/': [ ['exclude', '_win\\.(cc|cpp)$'] ], | |
54 }], | |
55 [ 'OS == "win"', { | |
56 'defines': [ | |
57 # On windows, GDI handles are a scarse system-wide resource so we have t
o keep | |
58 # the glyph cache, which holds up to 4 GDI handles per entry, to a fairl
y small | |
59 # size. | |
60 # http://crbug.com/314387 | |
61 'SK_DEFAULT_FONT_CACHE_COUNT_LIMIT=256', | |
62 'GR_GL_FUNCTION_TYPE=__stdcall', | |
63 ], | |
64 }], | |
65 [ 'desktop_linux == 0 and chromeos == 0', { | |
66 'sources/': [ ['exclude', '_linux\\.(cc|cpp)$'] ], | |
67 }], | |
68 [ 'use_cairo == 0', { | |
69 'sources/': [ ['exclude', '_cairo\\.(cc|cpp)$'] ], | |
70 }], | |
71 | |
72 #Settings for text blitting, chosen to approximate the system browser. | |
73 [ 'OS == "linux"', { | |
74 'defines': [ | |
75 'SK_GAMMA_EXPONENT=1.2', | |
76 'SK_GAMMA_CONTRAST=0.2', | |
77 ], | |
78 }], | |
79 ['OS == "android"', { | |
80 'defines': [ | |
81 'SK_GAMMA_APPLY_TO_A8', | |
82 'SK_GAMMA_EXPONENT=1.4', | |
83 'SK_GAMMA_CONTRAST=0.0', | |
84 ], | |
85 }], | |
86 ['OS == "win"', { | |
87 'defines': [ | |
88 'SK_GAMMA_SRGB', | |
89 'SK_GAMMA_CONTRAST=0.5', | |
90 ], | |
91 }], | |
92 ['OS == "mac"', { | |
93 'defines': [ | |
94 'SK_GAMMA_SRGB', | |
95 'SK_GAMMA_CONTRAST=0.0', | |
96 ], | |
97 }], | |
98 | |
99 # Neon support. | |
100 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 1', { | |
101 'defines': [ | |
102 'SK_ARM_HAS_NEON', | |
103 ], | |
104 }], | |
105 [ 'target_arch == "arm" and arm_version >= 7 and arm_neon == 0 and arm_neon_
optional == 1', { | |
106 'defines': [ | |
107 'SK_ARM_HAS_OPTIONAL_NEON', | |
108 ], | |
109 }], | |
110 ], | |
111 | |
112 'variables': { | |
113 'variables': { | |
114 'conditions': [ | |
115 ['OS== "ios"', { | |
116 'skia_support_gpu': 0, | |
117 }, { | |
118 'skia_support_gpu': 1, | |
119 }], | |
120 ['OS=="ios" or (enable_basic_printing==0 and enable_print_preview==0)',
{ | |
121 'skia_support_pdf': 0, | |
122 }, { | |
123 'skia_support_pdf': 1, | |
124 }], | |
125 ], | |
126 }, | |
127 'skia_support_gpu': '<(skia_support_gpu)', | |
128 'skia_support_pdf': '<(skia_support_pdf)', | |
129 | |
130 # These two set the paths so we can include skia/gyp/core.gypi | |
131 'skia_src_path': '../third_party/skia/src', | |
132 'skia_include_path': '../third_party/skia/include', | |
133 | |
134 # This list will contain all defines that also need to be exported to | |
135 # dependent components. | |
136 'skia_export_defines': [ | |
137 'SK_SUPPORT_GPU=<(skia_support_gpu)', | |
138 | |
139 # This variable contains additional defines, specified in the | |
140 # chromium_skia_defines.gypi file. | |
141 '<@(chromium_skia_defines)', | |
142 | |
143 # This variable contains additional defines, specified in skia's | |
144 # skia_for_chromium_defines.gypi file. | |
145 '<@(skia_for_chromium_defines)', | |
146 ], | |
147 | |
148 'default_font_cache_limit%': '(20*1024*1024)', | |
149 | |
150 'conditions': [ | |
151 ['OS== "android"', { | |
152 # Android devices are typically more memory constrained, so | |
153 # default to a smaller glyph cache (it may be overriden at runtime | |
154 # when the renderer starts up, depending on the actual device memory). | |
155 'default_font_cache_limit': '(1*1024*1024)', | |
156 'skia_export_defines': [ | |
157 'SK_BUILD_FOR_ANDROID', | |
158 ], | |
159 }], | |
160 ], | |
161 }, | |
162 | |
163 'defines': [ | |
164 '<@(skia_export_defines)', | |
165 | |
166 'SK_DEFAULT_FONT_CACHE_LIMIT=<(default_font_cache_limit)', | |
167 ], | |
168 | |
169 'direct_dependent_settings': { | |
170 'defines': [ | |
171 '<@(skia_export_defines)', | |
172 ], | |
173 }, | |
174 | |
175 # We would prefer this to be direct_dependent_settings, | |
176 # however we currently have no means to enforce that direct dependents | |
177 # re-export if they include Skia headers in their public headers. | |
178 'all_dependent_settings': { | |
179 'include_dirs': [ | |
180 '..', | |
181 'config', | |
182 ], | |
183 }, | |
184 | |
185 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4748, 4800], | |
186 } | |
OLD | NEW |