Home | History | Annotate | Download | only in skia
      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