1 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 6 # This gypi file contains all the Chrome-specific enhancements to Skia. 7 # In component mode (shared_lib) it is folded into a single shared library with 8 # the Skia files but in all other cases it is a separate library. 9 { 10 'dependencies': [ 11 'skia_library', 12 'skia_chrome_opts', 13 '../base/base.gyp:base', 14 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 15 ], 16 17 'direct_dependent_settings': { 18 'include_dirs': [ 19 'ext', 20 ], 21 }, 22 23 'include_dirs': [ 24 '..', 25 ], 26 27 'sources': [ 28 'ext/analysis_canvas.cc', 29 'ext/analysis_canvas.h', 30 'ext/benchmarking_canvas.cc', 31 'ext/benchmarking_canvas.h', 32 'ext/bitmap_platform_device.h', 33 'ext/bitmap_platform_device_android.cc', 34 'ext/bitmap_platform_device_android.h', 35 'ext/bitmap_platform_device_data.h', 36 'ext/bitmap_platform_device_linux.cc', 37 'ext/bitmap_platform_device_linux.h', 38 'ext/bitmap_platform_device_mac.cc', 39 'ext/bitmap_platform_device_mac.h', 40 'ext/bitmap_platform_device_win.cc', 41 'ext/bitmap_platform_device_win.h', 42 'ext/convolver.cc', 43 'ext/convolver.h', 44 'ext/google_logging.cc', 45 'ext/image_operations.cc', 46 'ext/image_operations.h', 47 'ext/lazy_pixel_ref.cc', 48 'ext/lazy_pixel_ref.h', 49 'ext/lazy_pixel_ref_utils.cc', 50 'ext/lazy_pixel_ref_utils.h', 51 'ext/SkThread_chrome.cc', 52 'ext/opacity_draw_filter.cc', 53 'ext/opacity_draw_filter.h', 54 'ext/paint_simplifier.cc', 55 'ext/paint_simplifier.h', 56 'ext/platform_canvas.cc', 57 'ext/platform_canvas.h', 58 'ext/platform_device.cc', 59 'ext/platform_device.h', 60 'ext/platform_device_linux.cc', 61 'ext/platform_device_mac.cc', 62 'ext/platform_device_win.cc', 63 'ext/recursive_gaussian_convolution.cc', 64 'ext/recursive_gaussian_convolution.h', 65 'ext/refptr.h', 66 'ext/SkMemory_new_handler.cpp', 67 'ext/skia_trace_shim.h', 68 'ext/skia_utils_base.cc', 69 'ext/skia_utils_base.h', 70 'ext/skia_utils_ios.mm', 71 'ext/skia_utils_ios.h', 72 'ext/skia_utils_mac.mm', 73 'ext/skia_utils_mac.h', 74 'ext/skia_utils_win.cc', 75 'ext/skia_utils_win.h', 76 'ext/vector_canvas.cc', 77 'ext/vector_canvas.h', 78 'ext/vector_platform_device_emf_win.cc', 79 'ext/vector_platform_device_emf_win.h', 80 'ext/vector_platform_device_skia.cc', 81 'ext/vector_platform_device_skia.h', 82 ], 83 84 'conditions': [ 85 # For POSIX platforms, prefer the Mutex implementation provided by Skia 86 # since it does not generate static initializers. 87 # TODO: should check if SK_USE_POSIX_THREADS is defined instead 88 [ 'OS == "android" or OS == "linux" or OS == "mac" or OS == "ios"', { 89 'sources!': [ 90 'ext/SkThread_chrome.cc', 91 ], 92 }], 93 [ 'OS == "android" and enable_printing == 0', { 94 'sources!': [ 95 'ext/vector_platform_device_skia.cc', 96 ], 97 }], 98 ['OS == "ios"', { 99 'sources/': [ 100 ['exclude', '^ext/vector_platform_device_skia\\.'], 101 ], 102 'dependencies!': [ 103 'skia_chrome_opts', 104 ], 105 }], 106 [ 'OS == "win"', { 107 'sources!': [ 108 'ext/SkThread_chrome.cc', 109 ], 110 }], 111 # TODO(scottmg): http://crbug.com/177306 112 ['clang==1', { 113 'xcode_settings': { 114 'WARNING_CFLAGS!': [ 115 # Don't warn about string->bool used in asserts. 116 '-Wstring-conversion', 117 ], 118 }, 119 'cflags!': [ 120 '-Wstring-conversion', 121 ], 122 }], 123 ], 124 125 'target_conditions': [ 126 # Pull in specific linux files for android (which have been filtered out 127 # by file name rules). 128 [ 'OS == "android"', { 129 'sources/': [ 130 ['include', 'ext/platform_device_linux\\.cc$'], 131 ], 132 }], 133 ], 134 } 135