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