Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / tools / gn / secondary / skia / BUILD.gn
1 # Copyright (c) 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 enable_printing = true  # TODO(brettw) pass this feature flag in somehow.
6 skia_support_gpu = !is_ios
7 skia_support_pdf = !is_ios && enable_printing
8
9 # External-facing config for dependent code.
10 config("skia_config") {
11   include_dirs = [
12     "config",
13     "//third_party/skia/include/config",
14     "//third_party/skia/include/core",
15     "//third_party/skia/include/effects",
16     "//third_party/skia/include/images",
17     "//third_party/skia/include/lazy",
18     "//third_party/skia/include/pathops",
19     "//third_party/skia/include/pdf",
20     "//third_party/skia/include/pipe",
21     "//third_party/skia/include/ports",
22     "//third_party/skia/include/utils",
23     "//third_party/skia/src/core",
24     "//third_party/skia/src/image",
25     "//third_party/skia/src/ports",
26     "//third_party/skia/src/sfnt",
27     "//third_party/skia/src/utils",
28     "//third_party/skia/src/lazy",
29   ]
30
31   defines = [
32     "SK_ENABLE_INST_COUNT=0",
33     "GR_GL_CUSTOM_SETUP_HEADER=\"GrGLConfig_chrome.h\"",
34   ]
35
36   if (skia_support_gpu) {
37     include_dirs += [
38       "//third_party/skia/include/gpu",
39       "//third_party/skia/src/gpu",
40     ]
41     defines += [ "SK_SUPPORT_GPU=1" ]
42   } else {
43     defines += [ "SK_SUPPORT_GPU=0" ]
44   }
45
46   # For POSIX platforms, prefer the Mutex implementation provided by Skia
47   # since it does not generate static initializers.
48   if (is_posix) {
49     defines += [ "SK_USE_POSIX_THREADS" ]
50   }
51
52   if (is_android) {
53     defines += [
54       "SK_BUILD_FOR_ANDROID",
55       "USE_CHROMIUM_SKIA",
56     ]
57   }
58 }
59
60 skia_chrome_sources = [
61   "ext/analysis_canvas.cc",
62   "ext/analysis_canvas.h",
63   "ext/benchmarking_canvas.cc",
64   "ext/benchmarking_canvas.h",
65   "ext/bitmap_platform_device.h",
66   "ext/bitmap_platform_device_android.cc",
67   "ext/bitmap_platform_device_android.h",
68   "ext/bitmap_platform_device_mac.cc",
69   "ext/bitmap_platform_device_mac.h",
70   "ext/bitmap_platform_device_win.cc",
71   "ext/bitmap_platform_device_win.h",
72   "ext/convolver.cc",
73   "ext/convolver.h",
74   "ext/google_logging.cc",
75   "ext/image_operations.cc",
76   "ext/image_operations.h",
77   "ext/lazy_pixel_ref.cc",
78   "ext/lazy_pixel_ref.h",
79   "ext/SkThread_chrome.cc",
80   "ext/opacity_draw_filter.cc",
81   "ext/opacity_draw_filter.h",
82   "ext/paint_simplifier.cc",
83   "ext/paint_simplifier.h",
84   "ext/platform_canvas.cc",
85   "ext/platform_canvas.h",
86   "ext/platform_device.cc",
87   "ext/platform_device.h",
88   "ext/platform_device_linux.cc",
89   "ext/platform_device_mac.cc",
90   "ext/platform_device_win.cc",
91   "ext/recursive_gaussian_convolution.cc",
92   "ext/recursive_gaussian_convolution.h",
93   "ext/refptr.h",
94   "ext/SkDiscardableMemory_chrome.h",
95   "ext/SkDiscardableMemory_chrome.cc",
96   "ext/SkMemory_new_handler.cpp",
97   "ext/skia_trace_shim.h",
98   "ext/skia_utils_base.cc",
99   "ext/skia_utils_base.h",
100   "ext/skia_utils_ios.mm",
101   "ext/skia_utils_ios.h",
102   "ext/skia_utils_mac.mm",
103   "ext/skia_utils_mac.h",
104   "ext/skia_utils_win.cc",
105   "ext/skia_utils_win.h",
106   "ext/vector_canvas.cc",
107   "ext/vector_canvas.h",
108   "ext/vector_platform_device_emf_win.cc",
109   "ext/vector_platform_device_emf_win.h",
110   "ext/vector_platform_device_skia.cc",
111   "ext/vector_platform_device_skia.h",
112 ]
113 if (is_posix) {
114   skia_chrome_sources -= [ "ext/SkThread_chrome.cc" ]
115 }
116 if (is_ios) {
117   skia_chrome_sources -= [ "ext/vector_platform_device_skia.cc" ]
118 }
119 if (is_win) {
120   skia_chrome_sources -= [ "ext/SkThread_chrome.cc" ]
121 }
122 if (is_android && !enable_printing) {
123   skia_chrome_sources -= [
124     "ext/skia_utils_base.cc",
125     "ext/vector_platform_device_skia.cc"
126   ]
127 }
128
129 # Internal-facing config for Skia library code.
130 config("skia_library_config") {
131   defines = [
132     #skia_export_defines ???) TODO
133
134     # skia uses static initializers to initialize the serialization logic
135     # of its "pictures" library. This is currently not used in chrome; if
136     # it ever gets used the processes that use it need to call
137     # SkGraphics::Init().
138     "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0",
139
140     # Disable this check because it is too strict for some Chromium-specific
141     # subclasses of SkPixelRef. See bug: crbug.com/171776.
142     "SK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK",
143
144     "IGNORE_ROT_AA_RECT_OPT",
145
146     # Forces Skia not to use typographic metrics with GDI.
147     "SK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS",
148   ]
149
150   # Settings for text blitting, chosen to approximate the system browser.
151   if (is_linux) {
152     defines += [
153       "SK_GAMMA_EXPONENT=1.2",
154       "SK_GAMMA_CONTRAST=0.2",
155     ]
156   } else if (is_android) {
157     defines += [
158       "SK_GAMMA_APPLY_TO_A8",
159       "SK_GAMMA_EXPONENT=1.4",
160       "SK_GAMMA_CONTRAST=0.0",
161     ]
162   } else if (is_win) {
163     defines += [
164       "SK_GAMMA_SRGB",
165       "SK_GAMMA_CONTRAST=0.5",
166     ]
167   } else if (is_mac) {
168     defines += [
169       "SK_GAMMA_SRGB",
170       "SK_GAMMA_CONTRAST=0.0",
171     ]
172   }
173
174   if (is_android) {
175     defines += [
176       # Android devices are typically more memory constrained, so default to a
177       # smaller glyph cache (it may be overriden at runtime when the renderer
178       # starts up, depending on the actual device memory).
179       "SK_DEFAULT_FONT_CACHE_LIMIT=1048576"  # 1024 * 1024
180     ]
181   } else {
182     defines += [ "SK_DEFAULT_FONT_CACHE_LIMIT=20971520" ]  # 20 * 1024 * 1024
183   }
184
185   if (is_win) {
186     include_dirs = [
187       "//third_party/skia/include/utils/win",
188       "//third_party/skia/src/utils/win",
189     ]
190
191     defines += [ "SK_FONTHOST_USES_FONTMGR" ]
192
193     cflags = [
194       # TODO(brettw) comment what these are.
195       "/wd4244",
196       "/wd4267",
197       "/wd4341",
198       "/wd4345",
199       "/wd4390",
200       "/wd4554",
201       "/wd4748",
202       "/wd4800",
203     ]
204   }
205 }
206
207 skia_library_sources = [
208    # This section from core.gypi ------------------------------------------------
209
210   "//third_party/skia/src/core/ARGB32_Clamp_Bilinear_BitmapShader.h",
211   "//third_party/skia/src/core/Sk64.cpp",
212   "//third_party/skia/src/core/SkAAClip.cpp",
213   "//third_party/skia/src/core/SkAnnotation.cpp",
214   "//third_party/skia/src/core/SkAdvancedTypefaceMetrics.cpp",
215   "//third_party/skia/src/core/SkAlphaRuns.cpp",
216   "//third_party/skia/src/core/SkAntiRun.h",
217   "//third_party/skia/src/core/SkBBoxRecord.cpp",
218   "//third_party/skia/src/core/SkBBoxRecord.h",
219   "//third_party/skia/src/core/SkBBoxHierarchyRecord.cpp",
220   "//third_party/skia/src/core/SkBBoxHierarchyRecord.h",
221   "//third_party/skia/src/core/SkBitmap.cpp",
222   "//third_party/skia/src/core/SkBitmapDevice.cpp",
223   "//third_party/skia/src/core/SkBitmapFilter.h",
224   "//third_party/skia/src/core/SkBitmapFilter.cpp",
225   "//third_party/skia/src/core/SkBitmapHeap.cpp",
226   "//third_party/skia/src/core/SkBitmapHeap.h",
227   "//third_party/skia/src/core/SkBitmapProcShader.cpp",
228   "//third_party/skia/src/core/SkBitmapProcShader.h",
229   "//third_party/skia/src/core/SkBitmapProcState.cpp",
230   "//third_party/skia/src/core/SkBitmapProcState.h",
231   "//third_party/skia/src/core/SkBitmapProcState_matrix.h",
232   "//third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp",
233   "//third_party/skia/src/core/SkBitmapProcState_sample.h",
234   "//third_party/skia/src/core/SkBitmapScaler.h",
235   "//third_party/skia/src/core/SkBitmapScaler.cpp",
236   "//third_party/skia/src/core/SkBitmapShader16BilerpTemplate.h",
237   "//third_party/skia/src/core/SkBitmapShaderTemplate.h",
238   "//third_party/skia/src/core/SkBitmap_scroll.cpp",
239   "//third_party/skia/src/core/SkBlitBWMaskTemplate.h",
240   "//third_party/skia/src/core/SkBlitMask_D32.cpp",
241   "//third_party/skia/src/core/SkBlitRow_D16.cpp",
242   "//third_party/skia/src/core/SkBlitRow_D32.cpp",
243   "//third_party/skia/src/core/SkBlitter.h",
244   "//third_party/skia/src/core/SkBlitter.cpp",
245   "//third_party/skia/src/core/SkBlitter_A8.cpp",
246   "//third_party/skia/src/core/SkBlitter_ARGB32.cpp",
247   "//third_party/skia/src/core/SkBlitter_RGB16.cpp",
248   "//third_party/skia/src/core/SkBlitter_Sprite.cpp",
249   "//third_party/skia/src/core/SkBuffer.cpp",
250   "//third_party/skia/src/core/SkCanvas.cpp",
251   "//third_party/skia/src/core/SkChunkAlloc.cpp",
252   "//third_party/skia/src/core/SkClipStack.cpp",
253   "//third_party/skia/src/core/SkColor.cpp",
254   "//third_party/skia/src/core/SkColorFilter.cpp",
255   "//third_party/skia/src/core/SkColorTable.cpp",
256   "//third_party/skia/src/core/SkComposeShader.cpp",
257   "//third_party/skia/src/core/SkConfig8888.cpp",
258   "//third_party/skia/src/core/SkConfig8888.h",
259   "//third_party/skia/src/core/SkConvolver.cpp",
260   "//third_party/skia/src/core/SkConvolver.h",
261   "//third_party/skia/src/core/SkCoreBlitters.h",
262   "//third_party/skia/src/core/SkCubicClipper.cpp",
263   "//third_party/skia/src/core/SkCubicClipper.h",
264   "//third_party/skia/src/core/SkData.cpp",
265   "//third_party/skia/src/core/SkDataTable.cpp",
266   "//third_party/skia/src/core/SkDebug.cpp",
267   "//third_party/skia/src/core/SkDeque.cpp",
268   "//third_party/skia/src/core/SkDevice.cpp",
269   "//third_party/skia/src/core/SkDeviceLooper.cpp",
270   "//third_party/skia/src/core/SkDeviceProfile.cpp",
271   "//third_party/skia/src/core/SkDither.cpp",
272   "//third_party/skia/src/core/SkDraw.cpp",
273   "//third_party/skia/src/core/SkDrawLooper.cpp",
274   "//third_party/skia/src/core/SkDrawProcs.h",
275   "//third_party/skia/src/core/SkEdgeBuilder.cpp",
276   "//third_party/skia/src/core/SkEdgeClipper.cpp",
277   "//third_party/skia/src/core/SkEdge.cpp",
278   "//third_party/skia/src/core/SkEdge.h",
279   "//third_party/skia/src/core/SkError.cpp",
280   "//third_party/skia/src/core/SkErrorInternals.h",
281   "//third_party/skia/src/core/SkFP.h",
282   "//third_party/skia/src/core/SkFilterProc.cpp",
283   "//third_party/skia/src/core/SkFilterProc.h",
284   "//third_party/skia/src/core/SkFilterShader.cpp",
285   "//third_party/skia/src/core/SkFlattenable.cpp",
286   "//third_party/skia/src/core/SkFlattenableBuffers.cpp",
287   "//third_party/skia/src/core/SkFlattenableSerialization.cpp",
288   "//third_party/skia/src/core/SkFloat.cpp",
289   "//third_party/skia/src/core/SkFloat.h",
290   "//third_party/skia/src/core/SkFloatBits.cpp",
291   "//third_party/skia/src/core/SkFontHost.cpp",
292   "//third_party/skia/src/core/SkFontDescriptor.cpp",
293   "//third_party/skia/src/core/SkFontDescriptor.h",
294   "//third_party/skia/src/core/SkFontStream.cpp",
295   "//third_party/skia/src/core/SkFontStream.h",
296   "//third_party/skia/src/core/SkGeometry.cpp",
297   "//third_party/skia/src/core/SkGlyphCache.cpp",
298   "//third_party/skia/src/core/SkGlyphCache.h",
299   "//third_party/skia/src/core/SkGlyphCache_Globals.h",
300   "//third_party/skia/src/core/SkGraphics.cpp",
301   "//third_party/skia/src/core/SkInstCnt.cpp",
302   "//third_party/skia/src/core/SkImageFilter.cpp",
303   "//third_party/skia/src/core/SkImageFilterUtils.cpp",
304   "//third_party/skia/src/core/SkLineClipper.cpp",
305   "//third_party/skia/src/core/SkMallocPixelRef.cpp",
306   "//third_party/skia/src/core/SkMask.cpp",
307   "//third_party/skia/src/core/SkMaskFilter.cpp",
308   "//third_party/skia/src/core/SkMaskGamma.cpp",
309   "//third_party/skia/src/core/SkMaskGamma.h",
310   "//third_party/skia/src/core/SkMath.cpp",
311   "//third_party/skia/src/core/SkMatrix.cpp",
312   "//third_party/skia/src/core/SkMetaData.cpp",
313   "//third_party/skia/src/core/SkMipMap.cpp",
314   "//third_party/skia/src/core/SkOrderedReadBuffer.cpp",
315   "//third_party/skia/src/core/SkOrderedWriteBuffer.cpp",
316   "//third_party/skia/src/core/SkPackBits.cpp",
317   "//third_party/skia/src/core/SkPaint.cpp",
318   "//third_party/skia/src/core/SkPaintOptionsAndroid.cpp",
319   "//third_party/skia/src/core/SkPaintPriv.cpp",
320   "//third_party/skia/src/core/SkPaintPriv.h",
321   "//third_party/skia/src/core/SkPath.cpp",
322   "//third_party/skia/src/core/SkPathEffect.cpp",
323   "//third_party/skia/src/core/SkPathHeap.cpp",
324   "//third_party/skia/src/core/SkPathHeap.h",
325   "//third_party/skia/src/core/SkPathMeasure.cpp",
326   "//third_party/skia/src/core/SkPathRef.cpp",
327   "//third_party/skia/src/core/SkPicture.cpp",
328   "//third_party/skia/src/core/SkPictureFlat.cpp",
329   "//third_party/skia/src/core/SkPictureFlat.h",
330   "//third_party/skia/src/core/SkPicturePlayback.cpp",
331   "//third_party/skia/src/core/SkPicturePlayback.h",
332   "//third_party/skia/src/core/SkPictureRecord.cpp",
333   "//third_party/skia/src/core/SkPictureRecord.h",
334   "//third_party/skia/src/core/SkPictureStateTree.cpp",
335   "//third_party/skia/src/core/SkPictureStateTree.h",
336   "//third_party/skia/src/core/SkPixelRef.cpp",
337   "//third_party/skia/src/core/SkPoint.cpp",
338   "//third_party/skia/src/core/SkProcSpriteBlitter.cpp",
339   "//third_party/skia/src/core/SkPtrRecorder.cpp",
340   "//third_party/skia/src/core/SkQuadClipper.cpp",
341   "//third_party/skia/src/core/SkQuadClipper.h",
342   "//third_party/skia/src/core/SkRasterClip.cpp",
343   "//third_party/skia/src/core/SkRasterizer.cpp",
344   "//third_party/skia/src/core/SkRect.cpp",
345   "//third_party/skia/src/core/SkRefDict.cpp",
346   "//third_party/skia/src/core/SkRegion.cpp",
347   "//third_party/skia/src/core/SkRegionPriv.h",
348   "//third_party/skia/src/core/SkRegion_path.cpp",
349   "//third_party/skia/src/core/SkRRect.cpp",
350   "//third_party/skia/src/core/SkRTree.h",
351   "//third_party/skia/src/core/SkRTree.cpp",
352   "//third_party/skia/src/core/SkScaledImageCache.cpp",
353   "//third_party/skia/src/core/SkScalar.cpp",
354   "//third_party/skia/src/core/SkScalerContext.cpp",
355   "//third_party/skia/src/core/SkScalerContext.h",
356   "//third_party/skia/src/core/SkScan.cpp",
357   "//third_party/skia/src/core/SkScan.h",
358   "//third_party/skia/src/core/SkScanPriv.h",
359   "//third_party/skia/src/core/SkScan_AntiPath.cpp",
360   "//third_party/skia/src/core/SkScan_Antihair.cpp",
361   "//third_party/skia/src/core/SkScan_Hairline.cpp",
362   "//third_party/skia/src/core/SkScan_Path.cpp",
363   "//third_party/skia/src/core/SkShader.cpp",
364   "//third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp",
365   "//third_party/skia/src/core/SkSpriteBlitter_RGB16.cpp",
366   "//third_party/skia/src/core/SkSinTable.h",
367   "//third_party/skia/src/core/SkSpriteBlitter.h",
368   "//third_party/skia/src/core/SkSpriteBlitterTemplate.h",
369   "//third_party/skia/src/core/SkStream.cpp",
370   "//third_party/skia/src/core/SkString.cpp",
371   "//third_party/skia/src/core/SkStringUtils.cpp",
372   "//third_party/skia/src/core/SkStroke.h",
373   "//third_party/skia/src/core/SkStroke.cpp",
374   "//third_party/skia/src/core/SkStrokeRec.cpp",
375   "//third_party/skia/src/core/SkStrokerPriv.cpp",
376   "//third_party/skia/src/core/SkStrokerPriv.h",
377   "//third_party/skia/src/core/SkTemplatesPriv.h",
378   "//third_party/skia/src/core/SkTextFormatParams.h",
379   "//third_party/skia/src/core/SkTileGrid.cpp",
380   "//third_party/skia/src/core/SkTileGrid.h",
381   "//third_party/skia/src/core/SkTileGridPicture.cpp",
382   "//third_party/skia/src/core/SkTLList.h",
383   "//third_party/skia/src/core/SkTLS.cpp",
384   "//third_party/skia/src/core/SkTSearch.cpp",
385   "//third_party/skia/src/core/SkTSort.h",
386   "//third_party/skia/src/core/SkTypeface.cpp",
387   "//third_party/skia/src/core/SkTypefaceCache.cpp",
388   "//third_party/skia/src/core/SkTypefaceCache.h",
389   "//third_party/skia/src/core/SkUnPreMultiply.cpp",
390   "//third_party/skia/src/core/SkUtils.cpp",
391   "//third_party/skia/src/core/SkWriter32.cpp",
392   "//third_party/skia/src/core/SkXfermode.cpp",
393
394   "//third_party/skia/src/doc/SkDocument.cpp",
395
396   "//third_party/skia/src/image/SkImage.cpp",
397   "//third_party/skia/src/image/SkImagePriv.cpp",
398   "//third_party/skia/src/image/SkImage_Codec.cpp",
399 #        "//third_party/skia/src/image/SkImage_Gpu.cpp",
400   "//third_party/skia/src/image/SkImage_Picture.cpp",
401   "//third_party/skia/src/image/SkImage_Raster.cpp",
402   "//third_party/skia/src/image/SkSurface.cpp",
403 #        "//third_party/skia/src/image/SkSurface_Gpu.cpp",
404   "//third_party/skia/src/image/SkSurface_Picture.cpp",
405   "//third_party/skia/src/image/SkSurface_Raster.cpp",
406
407   "//third_party/skia/src/pipe/SkGPipeRead.cpp",
408   "//third_party/skia/src/pipe/SkGPipeWrite.cpp",
409
410   "//third_party/skia/include/core/Sk64.h",
411   "//third_party/skia/include/core/SkAdvancedTypefaceMetrics.h",
412   "//third_party/skia/include/core/SkAlpha.h",
413   "//third_party/skia/include/core/SkBitmap.h",
414   "//third_party/skia/include/core/SkBitmapDevice.h",
415   "//third_party/skia/include/core/SkBlitRow.h",
416   "//third_party/skia/include/core/SkBounder.h",
417   "//third_party/skia/include/core/SkCanvas.h",
418   "//third_party/skia/include/core/SkChecksum.h",
419   "//third_party/skia/include/core/SkChunkAlloc.h",
420   "//third_party/skia/include/core/SkClipStack.h",
421   "//third_party/skia/include/core/SkColor.h",
422   "//third_party/skia/include/core/SkColorFilter.h",
423   "//third_party/skia/include/core/SkColorPriv.h",
424   "//third_party/skia/include/core/SkColorShader.h",
425   "//third_party/skia/include/core/SkComposeShader.h",
426   "//third_party/skia/include/core/SkData.h",
427   "//third_party/skia/include/core/SkDeque.h",
428   "//third_party/skia/include/core/SkDevice.h",
429   "//third_party/skia/include/core/SkDeviceProperties.h",
430   "//third_party/skia/include/core/SkDither.h",
431   "//third_party/skia/include/core/SkDraw.h",
432   "//third_party/skia/include/core/SkDrawFilter.h",
433   "//third_party/skia/include/core/SkDrawLooper.h",
434   "//third_party/skia/include/core/SkEndian.h",
435   "//third_party/skia/include/core/SkError.h",
436   "//third_party/skia/include/core/SkFixed.h",
437   "//third_party/skia/include/core/SkFlattenable.h",
438   "//third_party/skia/include/core/SkFlattenableSerialization.h",
439   "//third_party/skia/include/core/SkFloatBits.h",
440   "//third_party/skia/include/core/SkFloatingPoint.h",
441   "//third_party/skia/include/core/SkFontHost.h",
442   "//third_party/skia/include/core/SkGeometry.h",
443   "//third_party/skia/include/core/SkGraphics.h",
444   "//third_party/skia/include/core/SkImageDecoder.h",
445   "//third_party/skia/include/core/SkImageEncoder.h",
446   "//third_party/skia/include/core/SkImageFilter.h",
447   "//third_party/skia/include/core/SkImageFilterUtils.h",
448   "//third_party/skia/include/core/SkInstCnt.h",
449   "//third_party/skia/include/core/SkMallocPixelRef.h",
450   "//third_party/skia/include/core/SkMask.h",
451   "//third_party/skia/include/core/SkMaskFilter.h",
452   "//third_party/skia/include/core/SkMath.h",
453   "//third_party/skia/include/core/SkMatrix.h",
454   "//third_party/skia/include/core/SkMetaData.h",
455   "//third_party/skia/include/core/SkOSFile.h",
456   "//third_party/skia/include/core/SkPackBits.h",
457   "//third_party/skia/include/core/SkPaint.h",
458   "//third_party/skia/include/core/SkPath.h",
459   "//third_party/skia/include/core/SkPathEffect.h",
460   "//third_party/skia/include/core/SkPathMeasure.h",
461   "//third_party/skia/include/core/SkPathRef.h",
462   "//third_party/skia/include/core/SkPicture.h",
463   "//third_party/skia/include/core/SkPixelRef.h",
464   "//third_party/skia/include/core/SkPoint.h",
465   "//third_party/skia/include/core/SkRasterizer.h",
466   "//third_party/skia/include/core/SkReader32.h",
467   "//third_party/skia/include/core/SkRect.h",
468   "//third_party/skia/include/core/SkRefCnt.h",
469   "//third_party/skia/include/core/SkRegion.h",
470   "//third_party/skia/include/core/SkRRect.h",
471   "//third_party/skia/include/core/SkScalar.h",
472   "//third_party/skia/include/core/SkScalarCompare.h",
473   "//third_party/skia/include/core/SkShader.h",
474   "//third_party/skia/include/core/SkStream.h",
475   "//third_party/skia/include/core/SkString.h",
476   "//third_party/skia/include/core/SkStringUtils.h",
477   "//third_party/skia/include/core/SkStrokeRec.h",
478   "//third_party/skia/include/core/SkTArray.h",
479   "//third_party/skia/include/core/SkTDArray.h",
480   "//third_party/skia/include/core/SkTDStack.h",
481   "//third_party/skia/include/core/SkTDict.h",
482   "//third_party/skia/include/core/SkTInternalLList.h",
483   "//third_party/skia/include/core/SkTileGridPicture.h",
484   "//third_party/skia/include/core/SkTRegistry.h",
485   "//third_party/skia/include/core/SkTSearch.h",
486   "//third_party/skia/include/core/SkTemplates.h",
487   "//third_party/skia/include/core/SkThread.h",
488   "//third_party/skia/include/core/SkThread_platform.h",
489   "//third_party/skia/include/core/SkTime.h",
490   "//third_party/skia/include/core/SkTLazy.h",
491   "//third_party/skia/include/core/SkTrace.h",
492   "//third_party/skia/include/core/SkTypeface.h",
493   "//third_party/skia/include/core/SkTypes.h",
494   "//third_party/skia/include/core/SkUnPreMultiply.h",
495   "//third_party/skia/include/core/SkUnitMapper.h",
496   "//third_party/skia/include/core/SkUtils.h",
497   "//third_party/skia/include/core/SkWeakRefCnt.h",
498   "//third_party/skia/include/core/SkWriter32.h",
499   "//third_party/skia/include/core/SkXfermode.h",
500
501   # Lazy decoding:
502   "//third_party/skia/include/lazy/SkImageCache.h",
503
504   "//third_party/skia/src/lazy/SkPurgeableMemoryBlock.h",
505   "//third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp",
506
507   # Path ops
508   "//third_party/skia/include/pathops/SkPathOps.h",
509
510   "//third_party/skia/src/pathops/SkAddIntersections.cpp",
511   "//third_party/skia/src/pathops/SkDCubicIntersection.cpp",
512   "//third_party/skia/src/pathops/SkDCubicLineIntersection.cpp",
513   "//third_party/skia/src/pathops/SkDCubicToQuads.cpp",
514   "//third_party/skia/src/pathops/SkDLineIntersection.cpp",
515   "//third_party/skia/src/pathops/SkDQuadImplicit.cpp",
516   "//third_party/skia/src/pathops/SkDQuadIntersection.cpp",
517   "//third_party/skia/src/pathops/SkDQuadLineIntersection.cpp",
518   "//third_party/skia/src/pathops/SkIntersections.cpp",
519   "//third_party/skia/src/pathops/SkOpAngle.cpp",
520   "//third_party/skia/src/pathops/SkOpContour.cpp",
521   "//third_party/skia/src/pathops/SkOpEdgeBuilder.cpp",
522   "//third_party/skia/src/pathops/SkOpSegment.cpp",
523   "//third_party/skia/src/pathops/SkPathOpsBounds.cpp",
524   "//third_party/skia/src/pathops/SkPathOpsCommon.cpp",
525   "//third_party/skia/src/pathops/SkPathOpsCubic.cpp",
526   "//third_party/skia/src/pathops/SkPathOpsDebug.cpp",
527   "//third_party/skia/src/pathops/SkPathOpsLine.cpp",
528   "//third_party/skia/src/pathops/SkPathOpsOp.cpp",
529   "//third_party/skia/src/pathops/SkPathOpsPoint.cpp",
530   "//third_party/skia/src/pathops/SkPathOpsQuad.cpp",
531   "//third_party/skia/src/pathops/SkPathOpsRect.cpp",
532   "//third_party/skia/src/pathops/SkPathOpsSimplify.cpp",
533   "//third_party/skia/src/pathops/SkPathOpsTriangle.cpp",
534   "//third_party/skia/src/pathops/SkPathOpsTypes.cpp",
535   "//third_party/skia/src/pathops/SkPathWriter.cpp",
536   "//third_party/skia/src/pathops/SkQuarticRoot.cpp",
537   "//third_party/skia/src/pathops/SkReduceOrder.cpp",
538   "//third_party/skia/src/pathops/SkAddIntersections.h",
539   "//third_party/skia/src/pathops/SkDQuadImplicit.h",
540   "//third_party/skia/src/pathops/SkIntersectionHelper.h",
541   "//third_party/skia/src/pathops/SkIntersections.h",
542   "//third_party/skia/src/pathops/SkLineParameters.h",
543   "//third_party/skia/src/pathops/SkOpAngle.h",
544   "//third_party/skia/src/pathops/SkOpContour.h",
545   "//third_party/skia/src/pathops/SkOpEdgeBuilder.h",
546   "//third_party/skia/src/pathops/SkOpSegment.h",
547   "//third_party/skia/src/pathops/SkOpSpan.h",
548   "//third_party/skia/src/pathops/SkPathOpsBounds.h",
549   "//third_party/skia/src/pathops/SkPathOpsCommon.h",
550   "//third_party/skia/src/pathops/SkPathOpsCubic.h",
551   "//third_party/skia/src/pathops/SkPathOpsCurve.h",
552   "//third_party/skia/src/pathops/SkPathOpsDebug.h",
553   "//third_party/skia/src/pathops/SkPathOpsLine.h",
554   "//third_party/skia/src/pathops/SkPathOpsPoint.h",
555   "//third_party/skia/src/pathops/SkPathOpsQuad.h",
556   "//third_party/skia/src/pathops/SkPathOpsRect.h",
557   "//third_party/skia/src/pathops/SkPathOpsTriangle.h",
558   "//third_party/skia/src/pathops/SkPathOpsTypes.h",
559   "//third_party/skia/src/pathops/SkPathWriter.h",
560   "//third_party/skia/src/pathops/SkQuarticRoot.h",
561   "//third_party/skia/src/pathops/SkReduceOrder.h",
562
563   # This section from skia_effects.gypi ----------------------------------------
564
565   "//third_party/skia/src/effects/Sk1DPathEffect.cpp",
566   "//third_party/skia/src/effects/Sk2DPathEffect.cpp",
567   "//third_party/skia/src/effects/SkArithmeticMode.cpp",
568   "//third_party/skia/src/effects/SkAvoidXfermode.cpp",
569   "//third_party/skia/src/effects/SkBicubicImageFilter.cpp",
570   "//third_party/skia/src/effects/SkBitmapSource.cpp",
571   "//third_party/skia/src/effects/SkBlurDrawLooper.cpp",
572   "//third_party/skia/src/effects/SkBlurMask.cpp",
573   "//third_party/skia/src/effects/SkBlurMask.h",
574   "//third_party/skia/src/effects/SkBlurImageFilter.cpp",
575   "//third_party/skia/src/effects/SkBlurMaskFilter.cpp",
576   "//third_party/skia/src/effects/SkColorFilters.cpp",
577   "//third_party/skia/src/effects/SkColorFilterImageFilter.cpp",
578   "//third_party/skia/src/effects/SkColorMatrix.cpp",
579   "//third_party/skia/src/effects/SkColorMatrixFilter.cpp",
580   "//third_party/skia/src/effects/SkComposeImageFilter.cpp",
581   "//third_party/skia/src/effects/SkCornerPathEffect.cpp",
582   "//third_party/skia/src/effects/SkDashPathEffect.cpp",
583   "//third_party/skia/src/effects/SkDiscretePathEffect.cpp",
584   "//third_party/skia/src/effects/SkDisplacementMapEffect.cpp",
585   "//third_party/skia/src/effects/SkDropShadowImageFilter.cpp",
586   "//third_party/skia/src/effects/SkEmbossMask.cpp",
587   "//third_party/skia/src/effects/SkEmbossMask.h",
588   "//third_party/skia/src/effects/SkEmbossMask_Table.h",
589   "//third_party/skia/src/effects/SkEmbossMaskFilter.cpp",
590   "//third_party/skia/src/effects/SkGpuBlurUtils.h",
591   "//third_party/skia/src/effects/SkGpuBlurUtils.cpp",
592   "//third_party/skia/src/effects/SkKernel33MaskFilter.cpp",
593   "//third_party/skia/src/effects/SkLayerDrawLooper.cpp",
594   "//third_party/skia/src/effects/SkLayerRasterizer.cpp",
595   "//third_party/skia/src/effects/SkLerpXfermode.cpp",
596   "//third_party/skia/src/effects/SkLightingImageFilter.cpp",
597   "//third_party/skia/src/effects/SkMagnifierImageFilter.cpp",
598   "//third_party/skia/src/effects/SkMatrixConvolutionImageFilter.cpp",
599   "//third_party/skia/src/effects/SkMergeImageFilter.cpp",
600   "//third_party/skia/src/effects/SkMorphologyImageFilter.cpp",
601   "//third_party/skia/src/effects/SkOffsetImageFilter.cpp",
602   "//third_party/skia/src/effects/SkPaintFlagsDrawFilter.cpp",
603   "//third_party/skia/src/effects/SkPerlinNoiseShader.cpp",
604   "//third_party/skia/src/effects/SkPixelXorXfermode.cpp",
605   "//third_party/skia/src/effects/SkPorterDuff.cpp",
606   "//third_party/skia/src/effects/SkRectShaderImageFilter.cpp",
607   "//third_party/skia/src/effects/SkStippleMaskFilter.cpp",
608   "//third_party/skia/src/effects/SkTableColorFilter.cpp",
609   "//third_party/skia/src/effects/SkTableMaskFilter.cpp",
610   "//third_party/skia/src/effects/SkTestImageFilters.cpp",
611   "//third_party/skia/src/effects/SkTileImageFilter.cpp",
612   "//third_party/skia/src/effects/SkTransparentShader.cpp",
613   "//third_party/skia/src/effects/SkXfermodeImageFilter.cpp",
614
615   "//third_party/skia/src/effects/gradients/SkBitmapCache.cpp",
616   "//third_party/skia/src/effects/gradients/SkBitmapCache.h",
617   "//third_party/skia/src/effects/gradients/SkClampRange.cpp",
618   "//third_party/skia/src/effects/gradients/SkClampRange.h",
619   "//third_party/skia/src/effects/gradients/SkRadialGradient_Table.h",
620   "//third_party/skia/src/effects/gradients/SkGradientShader.cpp",
621   "//third_party/skia/src/effects/gradients/SkGradientShaderPriv.h",
622   "//third_party/skia/src/effects/gradients/SkLinearGradient.cpp",
623   "//third_party/skia/src/effects/gradients/SkLinearGradient.h",
624   "//third_party/skia/src/effects/gradients/SkRadialGradient.cpp",
625   "//third_party/skia/src/effects/gradients/SkRadialGradient.h",
626   "//third_party/skia/src/effects/gradients/SkTwoPointRadialGradient.cpp",
627   "//third_party/skia/src/effects/gradients/SkTwoPointRadialGradient.h",
628   "//third_party/skia/src/effects/gradients/SkTwoPointConicalGradient.cpp",
629   "//third_party/skia/src/effects/gradients/SkTwoPointConicalGradient.h",
630   "//third_party/skia/src/effects/gradients/SkSweepGradient.cpp",
631   "//third_party/skia/src/effects/gradients/SkSweepGradient.h",
632
633   "//third_party/skia/include/effects/Sk1DPathEffect.h",
634   "//third_party/skia/include/effects/Sk2DPathEffect.h",
635   "//third_party/skia/include/effects/SkXfermodeImageFilter.h",
636   "//third_party/skia/include/effects/SkArithmeticMode.h",
637   "//third_party/skia/include/effects/SkAvoidXfermode.h",
638   "//third_party/skia/include/effects/SkBitmapSource.h",
639   "//third_party/skia/include/effects/SkBlurDrawLooper.h",
640   "//third_party/skia/include/effects/SkBlurImageFilter.h",
641   "//third_party/skia/include/effects/SkBlurMaskFilter.h",
642   "//third_party/skia/include/effects/SkColorMatrix.h",
643   "//third_party/skia/include/effects/SkColorMatrixFilter.h",
644   "//third_party/skia/include/effects/SkColorFilterImageFilter.h",
645   "//third_party/skia/include/effects/SkCornerPathEffect.h",
646   "//third_party/skia/include/effects/SkDashPathEffect.h",
647   "//third_party/skia/include/effects/SkDiscretePathEffect.h",
648   "//third_party/skia/include/effects/SkDisplacementMapEffect.h",
649   "//third_party/skia/include/effects/SkDrawExtraPathEffect.h",
650   "//third_party/skia/include/effects/SkDropShadowImageFilter.h",
651   "//third_party/skia/include/effects/SkEmbossMaskFilter.h",
652   "//third_party/skia/include/effects/SkGradientShader.h",
653   "//third_party/skia/include/effects/SkKernel33MaskFilter.h",
654   "//third_party/skia/include/effects/SkLayerDrawLooper.h",
655   "//third_party/skia/include/effects/SkLayerRasterizer.h",
656   "//third_party/skia/include/effects/SkLerpXfermode.h",
657   "//third_party/skia/include/effects/SkLightingImageFilter.h",
658   "//third_party/skia/include/effects/SkOffsetImageFilter.h",
659   "//third_party/skia/include/effects/SkMorphologyImageFilter.h",
660   "//third_party/skia/include/effects/SkPaintFlagsDrawFilter.h",
661   "//third_party/skia/include/effects/SkPerlinNoiseShader.h",
662   "//third_party/skia/include/effects/SkPixelXorXfermode.h",
663   "//third_party/skia/include/effects/SkPorterDuff.h",
664   "//third_party/skia/include/effects/SkRectShaderImageFilter.h",
665   "//third_party/skia/include/effects/SkStippleMaskFilter.h",
666   "//third_party/skia/include/effects/SkTableColorFilter.h",
667   "//third_party/skia/include/effects/SkTableMaskFilter.h",
668   "//third_party/skia/include/effects/SkTileImageFilter.h",
669   "//third_party/skia/include/effects/SkTransparentShader.h",
670   "//third_party/skia/include/effects/SkMagnifierImageFilter.h",
671
672   # This section from pdf.gypi -------------------------------------------------
673
674   "//third_party/skia/include/pdf/SkPDFDevice.h",
675   "//third_party/skia/include/pdf/SkPDFDocument.h",
676
677   "//third_party/skia/src/pdf/SkPDFCatalog.cpp",
678   "//third_party/skia/src/pdf/SkPDFCatalog.h",
679   "//third_party/skia/src/pdf/SkPDFDevice.cpp",
680   "//third_party/skia/src/pdf/SkPDFDocument.cpp",
681   "//third_party/skia/src/pdf/SkPDFFont.cpp",
682   "//third_party/skia/src/pdf/SkPDFFont.h",
683   "//third_party/skia/src/pdf/SkPDFFontImpl.h",
684   "//third_party/skia/src/pdf/SkPDFFormXObject.cpp",
685   "//third_party/skia/src/pdf/SkPDFFormXObject.h",
686   "//third_party/skia/src/pdf/SkPDFGraphicState.cpp",
687   "//third_party/skia/src/pdf/SkPDFGraphicState.h",
688   "//third_party/skia/src/pdf/SkPDFImage.cpp",
689   "//third_party/skia/src/pdf/SkPDFImage.h",
690   "//third_party/skia/src/pdf/SkPDFPage.cpp",
691   "//third_party/skia/src/pdf/SkPDFPage.h",
692   "//third_party/skia/src/pdf/SkPDFResourceDict.cpp",
693   "//third_party/skia/src/pdf/SkPDFResourceDict.h",
694   "//third_party/skia/src/pdf/SkPDFShader.cpp",
695   "//third_party/skia/src/pdf/SkPDFShader.h",
696   "//third_party/skia/src/pdf/SkPDFStream.cpp",
697   "//third_party/skia/src/pdf/SkPDFStream.h",
698   "//third_party/skia/src/pdf/SkPDFTypes.cpp",
699   "//third_party/skia/src/pdf/SkPDFTypes.h",
700   "//third_party/skia/src/pdf/SkPDFUtils.cpp",
701   "//third_party/skia/src/pdf/SkPDFUtils.h",
702   "//third_party/skia/src/pdf/SkTSet.h",
703
704
705   # This section from skia_library.gypi ----------------------------------------
706
707   # this should likely be moved into src/utils in skia
708   "//third_party/skia/src/core/SkFlate.cpp",
709
710   "//third_party/skia/include/images/SkImageRef_GlobalPool.h",
711   "//third_party/skia/include/images/SkImageRef.h",
712   "//third_party/skia/include/images/SkMovie.h",
713   "//third_party/skia/include/images/SkPageFlipper.h",
714   "//third_party/skia/include/ports/SkTypeface_win.h",
715   "//third_party/skia/include/utils/mac/SkCGUtils.h",
716   "//third_party/skia/include/utils/SkDeferredCanvas.h",
717   "//third_party/skia/include/utils/SkMatrix44.h",
718   "//third_party/skia/include/utils/SkNullCanvas.h",
719   "//third_party/skia/include/utils/SkNWayCanvas.h",
720   "//third_party/skia/include/utils/SkPictureUtils.h",
721   "//third_party/skia/include/utils/SkProxyCanvas.h",
722   "//third_party/skia/include/utils/SkRTConf.h",
723   "//third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp",
724   "//third_party/skia/src/images/SkScaledBitmapSampler.cpp",
725   "//third_party/skia/src/images/SkScaledBitmapSampler.h",
726   "//third_party/skia/src/opts/opts_check_SSE2.cpp",
727   "//third_party/skia/src/ports/SkFontConfigInterface_android.cpp",
728   "//third_party/skia/src/ports/SkFontConfigInterface_direct.cpp",
729   "//third_party/skia/src/ports/SkFontConfigParser_android.cpp",
730   "//third_party/skia/src/ports/SkFontHost_fontconfig.cpp",
731   "//third_party/skia/src/ports/SkFontHost_FreeType_common.cpp",
732   "//third_party/skia/src/ports/SkFontHost_FreeType_common.h",
733   "//third_party/skia/src/ports/SkFontHost_FreeType.cpp",
734   "//third_party/skia/src/ports/SkFontHost_mac.cpp",
735   "//third_party/skia/src/ports/SkFontHost_win.cpp",
736   "//third_party/skia/src/ports/SkFontHost_win_dw.cpp",
737   "//third_party/skia/src/ports/SkFontMgr_default_gdi.cpp",
738   "//third_party/skia/src/ports/SkGlobalInitialization_chromium.cpp",
739   "//third_party/skia/src/ports/SkImageDecoder_empty.cpp",
740   "//third_party/skia/src/ports/SkOSFile_posix.cpp",
741   "//third_party/skia/src/ports/SkOSFile_stdio.cpp",
742   "//third_party/skia/src/ports/SkOSFile_win.cpp",
743   "//third_party/skia/src/ports/SkPurgeableMemoryBlock_none.cpp",
744   "//third_party/skia/src/ports/SkThread_win.cpp",
745   "//third_party/skia/src/ports/SkTime_Unix.cpp",
746   "//third_party/skia/src/ports/SkTLS_pthread.cpp",
747   "//third_party/skia/src/ports/SkTLS_win.cpp",
748   "//third_party/skia/src/sfnt/SkOTTable_name.cpp",
749   "//third_party/skia/src/sfnt/SkOTTable_name.h",
750   "//third_party/skia/src/sfnt/SkOTUtils.cpp",
751   "//third_party/skia/src/sfnt/SkOTUtils.h",
752   "//third_party/skia/src/utils/debugger/SkDebugCanvas.cpp",
753   "//third_party/skia/src/utils/debugger/SkDebugCanvas.h",
754   "//third_party/skia/src/utils/debugger/SkDrawCommand.cpp",
755   "//third_party/skia/src/utils/debugger/SkDrawCommand.h",
756   "//third_party/skia/src/utils/debugger/SkObjectParser.cpp",
757   "//third_party/skia/src/utils/debugger/SkObjectParser.h",
758   "//third_party/skia/src/utils/mac/SkCreateCGImageRef.cpp",
759   "//third_party/skia/src/utils/SkBase64.cpp",
760   "//third_party/skia/src/utils/SkBase64.h",
761   "//third_party/skia/src/utils/SkBitSet.cpp",
762   "//third_party/skia/src/utils/SkBitSet.h",
763   "//third_party/skia/src/utils/SkDeferredCanvas.cpp",
764   "//third_party/skia/src/utils/SkMatrix44.cpp",
765   "//third_party/skia/src/utils/SkNullCanvas.cpp",
766   "//third_party/skia/src/utils/SkNWayCanvas.cpp",
767   "//third_party/skia/src/utils/SkPictureUtils.cpp",
768   "//third_party/skia/src/utils/SkProxyCanvas.cpp",
769   "//third_party/skia/src/utils/SkRTConf.cpp",
770   "//third_party/skia/src/utils/win/SkDWriteFontFileStream.cpp",
771   "//third_party/skia/src/utils/win/SkDWriteFontFileStream.h",
772   "//third_party/skia/src/utils/win/SkDWriteGeometrySink.cpp",
773   "//third_party/skia/src/utils/win/SkDWriteGeometrySink.h",
774   "//third_party/skia/src/utils/win/SkHRESULT.cpp",
775 ]
776 if (skia_support_gpu) {
777   skia_library_sources += [
778     "//third_party/skia/include/gpu/gl/GrGLConfig.h",
779     "//third_party/skia/include/gpu/gl/GrGLExtensions.h",
780     "//third_party/skia/include/gpu/gl/GrGLFunctions.h",
781     "//third_party/skia/include/gpu/gl/GrGLInterface.h",
782     "//third_party/skia/include/gpu/gl/SkGLContextHelper.h",
783     "//third_party/skia/include/gpu/GrAARectRenderer.h",
784     "//third_party/skia/include/gpu/GrBackendEffectFactory.h",
785     "//third_party/skia/include/gpu/GrClipData.h",
786     "//third_party/skia/include/gpu/GrColor.h",
787     "//third_party/skia/include/gpu/GrContextFactory.h",
788     "//third_party/skia/include/gpu/GrConfig.h",
789     "//third_party/skia/include/gpu/GrContext.h",
790     "//third_party/skia/include/gpu/GrCoordTransform.h",
791     "//third_party/skia/include/gpu/GrEffect.h",
792     "//third_party/skia/include/gpu/GrEffectStage.h",
793     "//third_party/skia/include/gpu/GrEffectUnitTest.h",
794     "//third_party/skia/include/gpu/GrFontScaler.h",
795     "//third_party/skia/include/gpu/GrGlyph.h",
796     "//third_party/skia/include/gpu/GrKey.h",
797     "//third_party/skia/include/gpu/GrNoncopyable.h",
798     "//third_party/skia/include/gpu/GrOvalRenderer.h",
799     "//third_party/skia/include/gpu/GrPaint.h",
800     "//third_party/skia/include/gpu/GrPathRendererChain.h",
801     "//third_party/skia/include/gpu/GrPoint.h",
802     "//third_party/skia/include/gpu/GrRect.h",
803     "//third_party/skia/include/gpu/GrRefCnt.h",
804     "//third_party/skia/include/gpu/GrRenderTarget.h",
805     "//third_party/skia/include/gpu/GrResource.h",
806     "//third_party/skia/include/gpu/GrSurface.h",
807     "//third_party/skia/include/gpu/GrTBackendEffectFactory.h",
808     "//third_party/skia/include/gpu/GrTextContext.h",
809     "//third_party/skia/include/gpu/GrTextureAccess.h",
810     "//third_party/skia/include/gpu/GrTexture.h",
811     "//third_party/skia/include/gpu/GrTypes.h",
812     "//third_party/skia/include/gpu/GrUserConfig.h",
813     "//third_party/skia/include/gpu/SkGpuDevice.h",
814     "//third_party/skia/include/gpu/SkGr.h",
815     "//third_party/skia/include/gpu/SkGrPixelRef.h",
816     "//third_party/skia/include/gpu/SkGrTexturePixelRef.h",
817     "//third_party/skia/src/gpu/effects/Gr1DKernelEffect.h",
818     "//third_party/skia/src/gpu/effects/GrBezierEffect.cpp",
819     "//third_party/skia/src/gpu/effects/GrBezierEffect.h",
820     "//third_party/skia/src/gpu/effects/GrBicubicEffect.cpp",
821     "//third_party/skia/src/gpu/effects/GrBicubicEffect.h",
822     "//third_party/skia/src/gpu/effects/GrConfigConversionEffect.cpp",
823     "//third_party/skia/src/gpu/effects/GrConfigConversionEffect.h",
824     "//third_party/skia/src/gpu/effects/GrConvolutionEffect.cpp",
825     "//third_party/skia/src/gpu/effects/GrConvolutionEffect.h",
826     "//third_party/skia/src/gpu/effects/GrSimpleTextureEffect.cpp",
827     "//third_party/skia/src/gpu/effects/GrSimpleTextureEffect.h",
828     "//third_party/skia/src/gpu/effects/GrSingleTextureEffect.cpp",
829     "//third_party/skia/src/gpu/effects/GrSingleTextureEffect.h",
830     "//third_party/skia/src/gpu/effects/GrTextureStripAtlas.cpp",
831     "//third_party/skia/src/gpu/effects/GrTextureStripAtlas.h",
832     "//third_party/skia/src/gpu/gl/GrGLBufferImpl.cpp",
833     "//third_party/skia/src/gpu/gl/GrGLBufferImpl.h",
834     "//third_party/skia/src/gpu/gl/GrGLCaps.cpp",
835     "//third_party/skia/src/gpu/gl/GrGLCaps.h",
836     "//third_party/skia/src/gpu/gl/GrGLContext.cpp",
837     "//third_party/skia/src/gpu/gl/GrGLContext.h",
838     "//third_party/skia/src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
839     "//third_party/skia/src/gpu/gl/GrGLDefaultInterface_none.cpp",
840     "//third_party/skia/src/gpu/gl/GrGLDefines.h",
841     "//third_party/skia/src/gpu/gl/GrGLEffect.h",
842     "//third_party/skia/src/gpu/gl/GrGLExtensions.cpp",
843     "//third_party/skia/src/gpu/gl/GrGLIndexBuffer.cpp",
844     "//third_party/skia/src/gpu/gl/GrGLIndexBuffer.h",
845     "//third_party/skia/src/gpu/gl/GrGLInterface.cpp",
846     "//third_party/skia/src/gpu/gl/GrGLIRect.h",
847     "//third_party/skia/src/gpu/gl/GrGLNoOpInterface.cpp",
848     "//third_party/skia/src/gpu/gl/GrGLNoOpInterface.h",
849     "//third_party/skia/src/gpu/gl/GrGLPath.cpp",
850     "//third_party/skia/src/gpu/gl/GrGLPath.h",
851     "//third_party/skia/src/gpu/gl/GrGLProgram.cpp",
852     "//third_party/skia/src/gpu/gl/GrGLProgramDesc.cpp",
853     "//third_party/skia/src/gpu/gl/GrGLProgramDesc.h",
854     #"//third_party/skia/src/gpu/gl/GrGLProgramEffects.cpp",
855     #"//third_party/skia/src/gpu/gl/GrGLProgramEffects.h",
856     "//third_party/skia/src/gpu/gl/GrGLProgram.h",
857     "//third_party/skia/src/gpu/gl/GrGLRenderTarget.cpp",
858     "//third_party/skia/src/gpu/gl/GrGLRenderTarget.h",
859     "//third_party/skia/src/gpu/gl/GrGLShaderBuilder.cpp",
860     "//third_party/skia/src/gpu/gl/GrGLShaderBuilder.h",
861     "//third_party/skia/src/gpu/gl/GrGLShaderVar.h",
862     "//third_party/skia/src/gpu/gl/GrGLSL.cpp",
863     "//third_party/skia/src/gpu/gl/GrGLSL.h",
864     "//third_party/skia/src/gpu/gl/GrGLSL_impl.h",
865     "//third_party/skia/src/gpu/gl/GrGLStencilBuffer.cpp",
866     "//third_party/skia/src/gpu/gl/GrGLStencilBuffer.h",
867     "//third_party/skia/src/gpu/gl/GrGLTexture.cpp",
868     "//third_party/skia/src/gpu/gl/GrGLTexture.h",
869     "//third_party/skia/src/gpu/gl/GrGLUniformHandle.h",
870     "//third_party/skia/src/gpu/gl/GrGLUniformManager.cpp",
871     "//third_party/skia/src/gpu/gl/GrGLUniformManager.h",
872     "//third_party/skia/src/gpu/gl/GrGLUtil.cpp",
873     "//third_party/skia/src/gpu/gl/GrGLUtil.h",
874     "//third_party/skia/src/gpu/gl/GrGLVertexArray.cpp",
875     "//third_party/skia/src/gpu/gl/GrGLVertexArray.h",
876     "//third_party/skia/src/gpu/gl/GrGLVertexBuffer.cpp",
877     "//third_party/skia/src/gpu/gl/GrGLVertexBuffer.h",
878     "//third_party/skia/src/gpu/gl/GrGpuGL.cpp",
879     "//third_party/skia/src/gpu/gl/GrGpuGL.h",
880     "//third_party/skia/src/gpu/gl/GrGpuGL_program.cpp",
881     "//third_party/skia/src/gpu/gl/SkGLContextHelper.cpp"
882     "//third_party/skia/src/gpu/GrAAConvexPathRenderer.cpp",
883     "//third_party/skia/src/gpu/GrAAConvexPathRenderer.h",
884     "//third_party/skia/src/gpu/GrAAHairLinePathRenderer.cpp",
885     "//third_party/skia/src/gpu/GrAAHairLinePathRenderer.h",
886     "//third_party/skia/src/gpu/GrAARectRenderer.cpp",
887     "//third_party/skia/src/gpu/GrAddPathRenderers_default.cpp",
888     "//third_party/skia/src/gpu/GrAllocator.h",
889     "//third_party/skia/src/gpu/GrAllocPool.cpp",
890     "//third_party/skia/src/gpu/GrAllocPool.h",
891     "//third_party/skia/src/gpu/GrAtlas.cpp",
892     "//third_party/skia/src/gpu/GrAtlas.h",
893     "//third_party/skia/src/gpu/GrBinHashKey.h",
894     "//third_party/skia/src/gpu/GrBlend.cpp",
895     "//third_party/skia/src/gpu/GrBlend.h",
896     "//third_party/skia/src/gpu/GrBufferAllocPool.cpp",
897     "//third_party/skia/src/gpu/GrBufferAllocPool.h",
898     "//third_party/skia/src/gpu/GrCacheID.cpp",
899     "//third_party/skia/src/gpu/GrClipData.cpp",
900     "//third_party/skia/src/gpu/GrClipMaskCache.cpp",
901     "//third_party/skia/src/gpu/GrClipMaskCache.h",
902     "//third_party/skia/src/gpu/GrClipMaskManager.cpp",
903     "//third_party/skia/src/gpu/GrClipMaskManager.h",
904     "//third_party/skia/src/gpu/GrContext.cpp",
905     "//third_party/skia/src/gpu/GrDefaultPathRenderer.cpp",
906     "//third_party/skia/src/gpu/GrDefaultPathRenderer.h",
907     "//third_party/skia/src/gpu/GrDrawState.cpp",
908     "//third_party/skia/src/gpu/GrDrawState.h",
909     "//third_party/skia/src/gpu/GrDrawTargetCaps.h",
910     "//third_party/skia/src/gpu/GrDrawTarget.cpp",
911     "//third_party/skia/src/gpu/GrDrawTarget.h",
912     "//third_party/skia/src/gpu/GrEffect.cpp",
913     "//third_party/skia/src/gpu/GrGpu.cpp",
914     "//third_party/skia/src/gpu/GrGpuFactory.cpp",
915     "//third_party/skia/src/gpu/GrGpu.h",
916     "//third_party/skia/src/gpu/GrIndexBuffer.h",
917     "//third_party/skia/src/gpu/GrInOrderDrawBuffer.cpp",
918     "//third_party/skia/src/gpu/GrInOrderDrawBuffer.h",
919     "//third_party/skia/src/gpu/GrMemory.cpp",
920     "//third_party/skia/src/gpu/GrMemoryPool.cpp",
921     "//third_party/skia/src/gpu/GrMemoryPool.h",
922     "//third_party/skia/src/gpu/GrOvalRenderer.cpp",
923     "//third_party/skia/src/gpu/GrPaint.cpp",
924     "//third_party/skia/src/gpu/GrPath.cpp",
925     "//third_party/skia/src/gpu/GrPath.h",
926     "//third_party/skia/src/gpu/GrPathRendererChain.cpp",
927     "//third_party/skia/src/gpu/GrPathRenderer.cpp",
928     "//third_party/skia/src/gpu/GrPathRenderer.h",
929     "//third_party/skia/src/gpu/GrPathUtils.cpp",
930     "//third_party/skia/src/gpu/GrPathUtils.h",
931     "//third_party/skia/src/gpu/GrPlotMgr.h",
932     "//third_party/skia/src/gpu/GrRectanizer.cpp",
933     "//third_party/skia/src/gpu/GrRectanizer.h",
934     "//third_party/skia/src/gpu/GrRectanizer_skyline.cpp",
935     "//third_party/skia/src/gpu/GrRedBlackTree.h",
936     "//third_party/skia/src/gpu/GrReducedClip.cpp",
937     "//third_party/skia/src/gpu/GrReducedClip.h",
938     "//third_party/skia/src/gpu/GrRenderTarget.cpp",
939     "//third_party/skia/src/gpu/GrResourceCache.cpp",
940     "//third_party/skia/src/gpu/GrResourceCache.h",
941     "//third_party/skia/src/gpu/GrResource.cpp",
942     "//third_party/skia/src/gpu/GrSoftwarePathRenderer.cpp",
943     "//third_party/skia/src/gpu/GrSoftwarePathRenderer.h",
944     "//third_party/skia/src/gpu/GrStencilAndCoverPathRenderer.cpp",
945     "//third_party/skia/src/gpu/GrStencilAndCoverPathRenderer.h",
946     "//third_party/skia/src/gpu/GrStencilBuffer.cpp",
947     "//third_party/skia/src/gpu/GrStencilBuffer.h",
948     "//third_party/skia/src/gpu/GrStencil.cpp",
949     "//third_party/skia/src/gpu/GrStencil.h",
950     "//third_party/skia/src/gpu/GrSurface.cpp",
951     "//third_party/skia/src/gpu/GrSWMaskHelper.cpp",
952     "//third_party/skia/src/gpu/GrSWMaskHelper.h",
953     "//third_party/skia/src/gpu/GrTBSearch.h",
954     "//third_party/skia/src/gpu/GrTemplates.h",
955     "//third_party/skia/src/gpu/GrTextContext.cpp",
956     "//third_party/skia/src/gpu/GrTextStrike.cpp",
957     "//third_party/skia/src/gpu/GrTextStrike.h",
958     "//third_party/skia/src/gpu/GrTextStrike_impl.h",
959     "//third_party/skia/src/gpu/GrTextureAccess.cpp",
960     "//third_party/skia/src/gpu/GrTexture.cpp",
961     "//third_party/skia/src/gpu/GrTHashCache.h",
962     "//third_party/skia/src/gpu/GrVertexBuffer.h",
963     "//third_party/skia/src/gpu/SkGpuDevice.cpp",
964     "//third_party/skia/src/gpu/SkGr.cpp",
965     "//third_party/skia/src/gpu/SkGrFontScaler.cpp",
966     "//third_party/skia/src/gpu/SkGrPixelRef.cpp",
967     "//third_party/skia/src/gpu/SkGrTexturePixelRef.cpp",
968     "//third_party/skia/src/image/SkImage_Gpu.cpp",
969     "//third_party/skia/src/image/SkSurface_Gpu.cpp",
970   ]
971 }
972 if (is_win) {
973   skia_library_sources -= [
974     "//third_party/skia/src/ports/SkOSFile_posix.cpp",
975     "//third_party/skia/src/ports/SkTime_Unix.cpp",
976     "//third_party/skia/src/ports/SkTLS_pthread.cpp",
977     "//third_party/skia/src/ports/SkFontConfigInterface_direct.cpp",
978     "//third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp",
979   ]
980 } else {
981   skia_library_sources -= [
982     "//third_party/skia/src/ports/SkFontHost_win.cpp",
983     "//third_party/skia/src/ports/SkFontHost_win_dw.cpp",
984     "//third_party/skia/src/ports/SkFontMgr_default_gdi.cpp",
985     "//third_party/skia/src/ports/SkOSFile_win.cpp",
986     "//third_party/skia/src/ports/SkThread_win.cpp",
987     "//third_party/skia/src/ports/SkTLS_win.cpp",
988   ]
989 }
990 if (!is_android) {
991   skia_library_sources -= [
992     "//third_party/skia/src/ports/SkFontConfigInterface_android.cpp",
993     "//third_party/skia/src/ports/SkFontConfigParser_android.cpp",
994   ]
995 }
996 if (!is_mac) {
997   skia_library_sources -= [
998     "//third_party/skia/src/ports/SkFontHost_mac.cpp",
999   ]
1000 }
1001
1002 if (!is_linux) {
1003   skia_library_sources -= [
1004     "//third_party/skia/src/ports/SkFontHost_FreeType.cpp",
1005     "//third_party/skia/src/ports/SkFontHost_FreeType_common.cpp",
1006     "//third_party/skia/src/ports/SkFontHost_fontconfig.cpp",
1007   ]
1008 } else if (!is_android) {
1009   skia_library_sources -= [
1010     "//third_party/skia/src/ports/SkFontConfigInterface_direct.cpp",
1011     "//third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp",
1012   ]
1013 }
1014
1015   # [ "target_arch == "arm" and arm_version >= 7 and arm_neon == 1", {
1016   #   "defines": [
1017   #     "__ARM_HAVE_NEON",
1018   #   ],
1019   # }],
1020   # [ "target_arch == "arm" and arm_version >= 7 and arm_neon_optional == 1", {
1021   #   "defines": [
1022   #     "__ARM_HAVE_OPTIONAL_NEON_SUPPORT",
1023   #   ],
1024   # }],
1025   # [ "OS == "android" and target_arch == "arm"", {
1026   #   "sources": [
1027   #     "//third_party/skia/src/core/SkUtilsArm.cpp",
1028   #   ],
1029   #   "includes": [
1030   #     "../build/android/cpufeatures.gypi",
1031   #   ],
1032   # }],
1033   # [ "target_arch == "arm" or target_arch == "mipsel"", {
1034   #   "sources!": [
1035   #     "//third_party/skia/src/opts/opts_check_SSE2.cpp"
1036   #   ],
1037   # }],
1038   # [ "use_glib == 1", {
1039   #   "dependencies": [
1040   #     "../build/linux/system.gyp:fontconfig",
1041   #     "../build/linux/system.gyp:freetype2",
1042   #     "../build/linux/system.gyp:pangocairo",
1043   #     "//third_party/icu/icu.gyp:icuuc",
1044   #   ],
1045   #   "cflags": [
1046   #     "-Wno-unused",
1047   #     "-Wno-unused-function",
1048   #   ],
1049   # }],
1050   # [ "use_glib == 0", {
1051   #   "sources!": [
1052   #     "//third_party/skia/src/ports/SkFontConfigInterface_direct.cpp",
1053   #     "//third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp",
1054   #   ],
1055   # }],
1056   # }],
1057   # [ "OS == "android"", {
1058   #   "dependencies": [
1059   #     "//third_party/expat/expat.gyp:expat",
1060   #     "//third_party/freetype/freetype.gyp:ft2",
1061   #   ],
1062   #   # This exports a hard dependency because it needs to run its
1063   #   # symlink action in order to expose the skia header files.
1064   #   "hard_dependency": 1,
1065   #   "include_dirs": [
1066   #     "//third_party/expat/files/lib",
1067   #   ],
1068   # }],
1069   # [ "OS == "ios"", {
1070   #   "defines": [
1071   #     "SK_BUILD_FOR_IOS",
1072   #     "SK_USE_MAC_CORE_TEXT",
1073   #   ],
1074   #   "include_dirs": [
1075   #     "//third_party/skia/include/utils/ios",
1076   #     "//third_party/skia/include/utils/mac",
1077   #   ],
1078   #   "link_settings": {
1079   #     "libraries": [
1080   #       "$(SDKROOT)/System/Library/Frameworks/ImageIO.framework",
1081   #     ],
1082   #   },
1083   #   "sources": [
1084   #     # This file is used on both iOS and Mac, so it should be removed
1085   #     #  from the ios and mac conditions and moved into the main sources
1086   #     #  list.
1087   #     "//third_party/skia/src/utils/mac/SkStream_mac.cpp",
1088   #   ],
1089   #   "sources/": [
1090   #     ["exclude", "opts_check_SSE2\\.cpp$"],
1091   #   ],
1092
1093   # TODO(brettw)
1094   # if (is_clang) remove -Wstring-conversion
1095
1096   # Pull in specific Mac files for iOS (which have been filtered out
1097   # by file name rules).
1098   #[ "OS == "ios"", {
1099   #  "sources/": [
1100   #    ["include", "SkFontHost_mac\\.cpp$",],
1101   #    ["include", "SkStream_mac\\.cpp$",],
1102   #    ["include", "SkCreateCGImageRef\\.cpp$",],
1103   #  ],
1104   #}],
1105
1106 if (component_mode == "static_library") {
1107   group("skia") {
1108     deps = [
1109       ":skia_library",
1110       ":skia_chrome",
1111     ]
1112     forward_dependent_configs_from = deps
1113   }
1114
1115   static_library("skia_library") {
1116     external = true
1117     sources = skia_library_sources
1118
1119     deps = [
1120       ":skia_opts",
1121       "//third_party/zlib",
1122     ]
1123
1124     if (skia_support_pdf) {
1125       deps += [ "//third_party/sfntly" ]
1126     } else {
1127       # TODO(brettw) remove PDF sources.
1128     }
1129
1130     configs -= [ "//build/config/compiler:chromium_code" ]
1131     configs += [
1132       ":skia_config",
1133       ":skia_library_config",
1134       "//build/config/compiler:no_chromium_code"
1135     ]
1136
1137     if (is_linux) {
1138       configs += [
1139         "//build/config/linux:fontconfig",
1140         "//build/config/linux:freetype2",
1141         "//build/config/linux:pangocairo",
1142       ]
1143       deps += [
1144         "//third_party/icu:icuuc",
1145       ]
1146     }
1147   }
1148
1149   config("skia_chrome_config") {
1150     include_dirs = [ "ext" ]
1151   }
1152
1153   static_library("skia_chrome") {
1154     external = true
1155     sources = skia_chrome_sources
1156
1157     configs -= [ "//build/config/compiler:chromium_code" ]
1158     configs += [
1159       ":skia_config",
1160       "//build/config/compiler:no_chromium_code",
1161     ]
1162     direct_dependent_configs = [ ":skia_chrome_config" ]
1163
1164     deps = [
1165       ":skia_library",
1166       ":skia_chrome_opts",
1167       "//base",
1168       "//base/third_party/dynamic_annotations",
1169     ]
1170
1171     #  # TODO(scottmg): http://crbug.com/177306
1172     #  ["clang==1", {
1173     #    "xcode_settings": {
1174     #      "WARNING_CFLAGS!": [
1175     #        # Don"t warn about string->bool used in asserts.
1176     #        "-Wstring-conversion",
1177     #      ],
1178     #    },
1179     #    "cflags!": [
1180     #      "-Wstring-conversion",
1181     #    ],
1182     #  }],
1183     #],
1184   #
1185     #"target_conditions": [
1186     #  # Pull in specific linux files for android (which have been filtered out
1187     #  # by file name rules).
1188     #  [ "OS == "android"", {
1189     #    "sources/": [
1190     #      ["include", "ext/platform_device_linux\\.cc$"],
1191     #    ],
1192     #  }],
1193   }
1194 } else {
1195   config("skia_shared_library_config") {
1196     defines = [
1197       "SKIA_DLL",
1198     ]
1199   }
1200
1201   shared_library("skia") {
1202     sources = skia_library_sources + skia_chrome_sources
1203
1204     defines = [ "SKIA_IMPLEMENTATION=1", ]
1205
1206     configs -= [ "//build/config/compiler:chromium_code" ]
1207     configs += [
1208       ":skia_config",
1209       ":skia_library_config",
1210       "//build/config/compiler:no_chromium_code",
1211     ]
1212
1213     direct_dependent_configs = [ ":skia_shared_library_config" ]
1214
1215     deps = [
1216       ":skia_chrome_opts",
1217       ":skia_opts",
1218       "//base",
1219       "//base/third_party/dynamic_annotations",
1220       "//third_party/zlib",
1221     ]
1222
1223     if (is_linux) {
1224       configs += [
1225         "//build/config/linux:fontconfig",
1226         "//build/config/linux:freetype2",
1227         "//build/config/linux:pangocairo",
1228       ]
1229       deps += [
1230         "//third_party/icu:icuuc",
1231       ]
1232     }
1233
1234     if (skia_support_pdf) {
1235       deps += [ "//third_party/sfntly" ]
1236     }
1237   }
1238 }
1239
1240
1241 if (is_linux && (cpu_arch == "x86" || cpu_arch == "x64")) {
1242   sse_cflags = [ "-msse2" ]
1243 } else {
1244   sse_cflags = []
1245 }
1246
1247
1248 static_library("skia_chrome_opts") {
1249   sources = [
1250     "ext/convolver_SSE2.cc",
1251   ]
1252
1253   configs -= [ "//build/config/compiler:chromium_code" ]
1254   configs += [
1255     ":skia_config",
1256     "//build/config/compiler:no_chromium_code"
1257   ]
1258
1259   cflags = sse_cflags
1260
1261   #'target_arch == "mipsel"',{
1262   #        'cflags': [
1263   #          '-fomit-frame-pointer',
1264   #        ],
1265   #        'sources': [
1266   #          'ext/convolver_mips_dspr2.cc',
1267   #        ],
1268   #      }],
1269 }
1270
1271 static_library("skia_opts") {
1272   # TODO(brettw) ARM and MIPS.
1273   sources = [
1274     "//third_party/skia/src/opts/SkBitmapProcState_opts_SSE2.cpp",
1275     "//third_party/skia/src/opts/SkBlitRect_opts_SSE2.cpp",
1276     "//third_party/skia/src/opts/SkBlitRow_opts_SSE2.cpp",
1277     "//third_party/skia/src/opts/SkUtils_opts_SSE2.cpp",
1278     "//third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp",
1279   ]
1280
1281   configs -= [ "//build/config/compiler:chromium_code" ]
1282   configs += [
1283     ":skia_config",
1284     "//build/config/compiler:no_chromium_code"
1285   ]
1286
1287   cflags = sse_cflags
1288
1289   deps = [ ":skia_opts_ssse3" ]
1290 }
1291
1292 static_library("skia_opts_ssse3") {
1293   # TODO(brettw) ARM and MIPS.
1294   sources = [
1295     "//third_party/skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp",
1296   ]
1297
1298   configs -= [ "//build/config/compiler:chromium_code" ]
1299   configs += [
1300     ":skia_config",
1301     "//build/config/compiler:no_chromium_code"
1302   ]
1303
1304   if (is_linux) {
1305     cflags = [ "-msse3" ]
1306   } else if (is_mac) {
1307     cflags = [ "-mssse3" ] # Note the third 's'.
1308   }
1309 }