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 the Skia library.
      7 # In component mode (shared_lib) it is folded into a single shared library with
      8 # the Chrome-specific enhancements but in all other cases it is a separate lib.
      9 
     10 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     11 # variables and defines should go in skia_common.gypi so they can be seen
     12 # by files listed here and in skia_library_opts.gypi.
     13 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     14 {
     15   'dependencies': [
     16     'skia_library_opts.gyp:skia_opts',
     17     '../third_party/zlib/zlib.gyp:zlib',
     18   ],
     19 
     20   'includes': [
     21     '../third_party/skia/gyp/core.gypi',
     22     '../third_party/skia/gyp/effects.gypi',
     23     '../third_party/skia/gyp/pdf.gypi',
     24     '../third_party/skia/gyp/record.gypi',
     25     '../third_party/skia/gyp/utils.gypi',
     26   ],
     27 
     28   'sources': [
     29     # this should likely be moved into src/utils in skia
     30     '../third_party/skia/src/core/SkFlate.cpp',
     31 
     32     '../third_party/skia/src/ports/SkImageDecoder_empty.cpp',
     33     '../third_party/skia/src/images/SkScaledBitmapSampler.cpp',
     34     '../third_party/skia/src/images/SkScaledBitmapSampler.h',
     35 
     36     '../third_party/skia/src/opts/opts_check_x86.cpp',
     37 
     38     '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp',
     39 
     40     '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp',
     41     '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp',
     42 
     43     '../third_party/skia/src/fonts/SkFontMgr_indirect.cpp',
     44     '../third_party/skia/src/fonts/SkRemotableFontMgr.cpp',
     45     '../third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp',
     46 
     47     '../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
     48     '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp',
     49     '../third_party/skia/src/ports/SkFontHost_FreeType_common.h',
     50     '../third_party/skia/src/ports/SkFontConfigParser_android.cpp',
     51     '../third_party/skia/src/ports/SkFontHost_mac.cpp',
     52     '../third_party/skia/src/ports/SkFontHost_win.cpp',
     53     "../third_party/skia/src/ports/SkFontMgr_android.cpp",
     54     '../third_party/skia/src/ports/SkFontMgr_win_dw.cpp',
     55     '../third_party/skia/src/ports/SkGlobalInitialization_chromium.cpp',
     56     '../third_party/skia/src/ports/SkOSFile_posix.cpp',
     57     '../third_party/skia/src/ports/SkOSFile_stdio.cpp',
     58     '../third_party/skia/src/ports/SkOSFile_win.cpp',
     59     '../third_party/skia/src/ports/SkScalerContext_win_dw.cpp',
     60     '../third_party/skia/src/ports/SkScalerContext_win_dw.h',
     61     '../third_party/skia/src/ports/SkTime_Unix.cpp',
     62     '../third_party/skia/src/ports/SkTLS_pthread.cpp',
     63     '../third_party/skia/src/ports/SkTLS_win.cpp',
     64     '../third_party/skia/src/ports/SkTypeface_win_dw.cpp',
     65     '../third_party/skia/src/ports/SkTypeface_win_dw.h',
     66 
     67     '../third_party/skia/src/sfnt/SkOTTable_name.cpp',
     68     '../third_party/skia/src/sfnt/SkOTTable_name.h',
     69     '../third_party/skia/src/sfnt/SkOTUtils.cpp',
     70     '../third_party/skia/src/sfnt/SkOTUtils.h',
     71 
     72     '../third_party/skia/src/utils/debugger/SkDebugCanvas.cpp',
     73     '../third_party/skia/src/utils/debugger/SkDebugCanvas.h',
     74     '../third_party/skia/src/utils/debugger/SkDrawCommand.cpp',
     75     '../third_party/skia/src/utils/debugger/SkDrawCommand.h',
     76     '../third_party/skia/src/utils/debugger/SkObjectParser.cpp',
     77     '../third_party/skia/src/utils/debugger/SkObjectParser.h',
     78 
     79     '../third_party/skia/include/images/SkMovie.h',
     80     '../third_party/skia/include/images/SkPageFlipper.h',
     81 
     82     '../third_party/skia/include/ports/SkFontConfigInterface.h',
     83     '../third_party/skia/include/ports/SkFontMgr.h',
     84     '../third_party/skia/include/ports/SkFontMgr_indirect.h',
     85     '../third_party/skia/include/ports/SkFontStyle.h',
     86     '../third_party/skia/include/ports/SkRemotableFontMgr.h',
     87     '../third_party/skia/include/ports/SkTypeface_win.h',
     88   ],
     89 
     90   # Exclude all unused files in skia utils.gypi file
     91   'sources!': [
     92   '../third_party/skia/src/utils/SkCondVar.cpp',
     93   '../third_party/skia/src/utils/SkCondVar.h',
     94   '../third_party/skia/src/utils/SkRunnable.h',
     95 
     96   '../third_party/skia/include/utils/SkBoundaryPatch.h',
     97   '../third_party/skia/include/utils/SkFrontBufferedStream.h',
     98   '../third_party/skia/include/utils/SkCamera.h',
     99   '../third_party/skia/include/utils/SkCanvasStateUtils.h',
    100   '../third_party/skia/include/utils/SkCubicInterval.h',
    101   '../third_party/skia/include/utils/SkCullPoints.h',
    102   '../third_party/skia/include/utils/SkDebugUtils.h',
    103   '../third_party/skia/include/utils/SkDumpCanvas.h',
    104   '../third_party/skia/include/utils/SkEventTracer.h',
    105   '../third_party/skia/include/utils/SkInterpolator.h',
    106   '../third_party/skia/include/utils/SkLayer.h',
    107   '../third_party/skia/include/utils/SkMeshUtils.h',
    108   '../third_party/skia/include/utils/SkNinePatch.h',
    109   '../third_party/skia/include/utils/SkParse.h',
    110   '../third_party/skia/include/utils/SkParsePaint.h',
    111   '../third_party/skia/include/utils/SkParsePath.h',
    112   '../third_party/skia/include/utils/SkRandom.h',
    113   '../third_party/skia/include/utils/SkWGL.h',
    114 
    115   '../third_party/skia/src/utils/SkBitmapHasher.cpp',
    116   '../third_party/skia/src/utils/SkBitmapHasher.h',
    117   '../third_party/skia/src/utils/SkBoundaryPatch.cpp',
    118   '../third_party/skia/src/utils/SkFrontBufferedStream.cpp',
    119   '../third_party/skia/src/utils/SkCamera.cpp',
    120   '../third_party/skia/src/utils/SkCanvasStack.h',
    121   '../third_party/skia/src/utils/SkCubicInterval.cpp',
    122   '../third_party/skia/src/utils/SkCullPoints.cpp',
    123   '../third_party/skia/src/utils/SkDumpCanvas.cpp',
    124   '../third_party/skia/src/utils/SkFloatUtils.h',
    125   '../third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp',
    126   '../third_party/skia/src/utils/SkGatherPixelRefsAndRects.h',
    127   '../third_party/skia/src/utils/SkInterpolator.cpp',
    128   '../third_party/skia/src/utils/SkLayer.cpp',
    129   '../third_party/skia/src/utils/SkMD5.cpp',
    130   '../third_party/skia/src/utils/SkMD5.h',
    131   '../third_party/skia/src/utils/SkMeshUtils.cpp',
    132   '../third_party/skia/src/utils/SkNinePatch.cpp',
    133   '../third_party/skia/src/utils/SkOSFile.cpp',
    134   '../third_party/skia/src/utils/SkParse.cpp',
    135   '../third_party/skia/src/utils/SkParseColor.cpp',
    136   '../third_party/skia/src/utils/SkParsePath.cpp',
    137   '../third_party/skia/src/utils/SkPathUtils.cpp',
    138   '../third_party/skia/src/utils/SkSHA1.cpp',
    139   '../third_party/skia/src/utils/SkSHA1.h',
    140   '../third_party/skia/src/utils/SkThreadUtils.h',
    141   '../third_party/skia/src/utils/SkThreadUtils_pthread.cpp',
    142   '../third_party/skia/src/utils/SkThreadUtils_pthread.h',
    143   '../third_party/skia/src/utils/SkThreadUtils_pthread_linux.cpp',
    144   '../third_party/skia/src/utils/SkThreadUtils_pthread_mach.cpp',
    145   '../third_party/skia/src/utils/SkThreadUtils_pthread_other.cpp',
    146   '../third_party/skia/src/utils/SkThreadUtils_win.cpp',
    147   '../third_party/skia/src/utils/SkThreadUtils_win.h',
    148   '../third_party/skia/src/utils/SkTFitsIn.h',
    149   '../third_party/skia/src/utils/SkTLogic.h',
    150 
    151 #windows
    152   '../third_party/skia/include/utils/win/SkAutoCoInitialize.h',
    153   '../third_party/skia/include/utils/win/SkHRESULT.h',
    154   '../third_party/skia/include/utils/win/SkIStream.h',
    155   '../third_party/skia/include/utils/win/SkTScopedComPtr.h',
    156   '../third_party/skia/src/utils/win/SkAutoCoInitialize.cpp',
    157   '../third_party/skia/src/utils/win/SkIStream.cpp',
    158   '../third_party/skia/src/utils/win/SkWGL_win.cpp',
    159 
    160 #testing
    161   '../third_party/skia/src/fonts/SkGScalerContext.cpp',
    162   '../third_party/skia/src/fonts/SkGScalerContext.h',
    163   ],
    164 
    165   'include_dirs': [
    166     '../third_party/skia/include/core',
    167     '../third_party/skia/include/effects',
    168     '../third_party/skia/include/images',
    169     '../third_party/skia/include/lazy',
    170     '../third_party/skia/include/pathops',
    171     '../third_party/skia/include/pdf',
    172     '../third_party/skia/include/pipe',
    173     '../third_party/skia/include/ports',
    174     '../third_party/skia/include/record',
    175     '../third_party/skia/include/utils',
    176     '../third_party/skia/src/core',
    177     '../third_party/skia/src/opts',
    178     '../third_party/skia/src/image',
    179     '../third_party/skia/src/ports',
    180     '../third_party/skia/src/sfnt',
    181     '../third_party/skia/src/utils',
    182     '../third_party/skia/src/lazy',
    183   ],
    184   'conditions': [
    185     ['skia_support_gpu != 0', {
    186       'includes': [
    187         '../third_party/skia/gyp/gpu.gypi',
    188       ],
    189       'sources': [
    190         '<@(skgpu_null_gl_sources)',
    191         '<@(skgpu_sources)',
    192       ],
    193       'include_dirs': [
    194         '../third_party/skia/include/gpu',
    195         '../third_party/skia/src/gpu',
    196       ],
    197     }],
    198     ['skia_support_pdf == 0', {
    199       'sources/': [
    200         ['exclude', '../third_party/skia/src/pdf/']
    201       ],
    202     }],
    203     ['skia_support_pdf == 1', {
    204       'dependencies': [
    205         '../third_party/sfntly/sfntly.gyp:sfntly',
    206       ],
    207     }],
    208 
    209     [ 'OS != "ios"', {
    210       'dependencies': [
    211         '../third_party/WebKit/public/blink_skia_config.gyp:blink_skia_config',
    212       ],
    213       'export_dependent_settings': [
    214         '../third_party/WebKit/public/blink_skia_config.gyp:blink_skia_config',
    215       ],
    216     }],
    217     [ 'OS != "mac"', {
    218       'sources/': [
    219         ['exclude', '/mac/']
    220       ],
    221     }],
    222     [ 'OS == "android" and target_arch == "arm"', {
    223       'sources': [
    224         '../third_party/skia/src/core/SkUtilsArm.cpp',
    225       ],
    226       'includes': [
    227         '../build/android/cpufeatures.gypi',
    228       ],
    229     }],
    230     [ 'target_arch == "arm" or target_arch == "arm64" or \
    231        target_arch == "mipsel" or target_arch == "mips64el"', {
    232       'sources!': [
    233         '../third_party/skia/src/opts/opts_check_x86.cpp'
    234       ],
    235     }],
    236     [ 'desktop_linux == 1 or chromeos == 1', {
    237       'dependencies': [
    238         '../build/linux/system.gyp:fontconfig',
    239         '../build/linux/system.gyp:freetype2',
    240         '../third_party/icu/icu.gyp:icuuc',
    241       ],
    242       'cflags': [
    243         '-Wno-unused',
    244         '-Wno-unused-function',
    245       ],
    246     }],
    247     [ 'use_cairo == 1', {
    248       'dependencies': [
    249         '../build/linux/system.gyp:pangocairo',
    250       ],
    251     }],
    252     [ 'OS=="win" or OS=="mac" or OS=="ios" or OS=="android"', {
    253       'sources!': [
    254         '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp',
    255         '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp',
    256         '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp',
    257       ],
    258     }],
    259     [ 'OS=="win" or OS=="mac" or OS=="ios"', {
    260       'sources!': [
    261         '../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
    262         '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp',
    263 
    264       ],
    265     }],
    266     [ 'OS == "android"', {
    267       'dependencies': [
    268         '../third_party/expat/expat.gyp:expat',
    269         '../third_party/freetype/freetype.gyp:ft2',
    270       ],
    271       # This exports a hard dependency because it needs to run its
    272       # symlink action in order to expose the skia header files.
    273       'hard_dependency': 1,
    274       'include_dirs': [
    275         '../third_party/expat/files/lib',
    276       ],
    277     }],
    278     [ 'OS == "ios"', {
    279       'include_dirs': [
    280         '../third_party/skia/include/utils/ios',
    281         '../third_party/skia/include/utils/mac',
    282       ],
    283       'link_settings': {
    284         'libraries': [
    285           '$(SDKROOT)/System/Library/Frameworks/ImageIO.framework',
    286         ],
    287       },
    288       'sources': [
    289         # This file is used on both iOS and Mac, so it should be removed
    290         #  from the ios and mac conditions and moved into the main sources
    291         #  list.
    292         '../third_party/skia/src/utils/mac/SkStream_mac.cpp',
    293       ],
    294       'sources/': [
    295         ['exclude', 'opts_check_x86\\.cpp$'],
    296       ],
    297 
    298       # The main skia_opts target does not currently work on iOS because the
    299       # target architecture on iOS is determined at compile time rather than
    300       # gyp time (simulator builds are x86, device builds are arm).  As a
    301       # temporary measure, this is a separate opts target for iOS-only, using
    302       # the _none.cpp files to avoid architecture-dependent implementations.
    303       'dependencies': [
    304         'skia_library_opts.gyp:skia_opts_none',
    305       ],
    306       'dependencies!': [
    307         'skia_library_opts.gyp:skia_opts',
    308       ],
    309     }],
    310     [ 'OS == "mac"', {
    311       'direct_dependent_settings': {
    312         'include_dirs': [
    313           '../third_party/skia/include/utils/mac',
    314         ],
    315       },
    316       'include_dirs': [
    317         '../third_party/skia/include/utils/mac',
    318       ],
    319       'link_settings': {
    320         'libraries': [
    321           '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
    322         ],
    323       },
    324       'sources': [
    325         '../third_party/skia/src/utils/mac/SkStream_mac.cpp',
    326       ],
    327     }],
    328     [ 'OS == "win"', {
    329       'sources!': [
    330         '../third_party/skia/src/ports/SkOSFile_posix.cpp',
    331         '../third_party/skia/src/ports/SkTime_Unix.cpp',
    332         '../third_party/skia/src/ports/SkTLS_pthread.cpp',
    333       ],
    334       'include_dirs': [
    335         '../third_party/skia/include/utils/win',
    336         '../third_party/skia/src/utils/win',
    337       ],
    338     },{ # not 'OS == "win"'
    339       'sources!': [
    340         '../third_party/skia/src/ports/SkFontMgr_win_dw.cpp',
    341         '../third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp',
    342         '../third_party/skia/src/ports/SkScalerContext_win_dw.cpp',
    343         '../third_party/skia/src/ports/SkScalerContext_win_dw.h',
    344         '../third_party/skia/src/ports/SkTypeface_win_dw.cpp',
    345         '../third_party/skia/src/ports/SkTypeface_win_dw.h',
    346 
    347         '../third_party/skia/src/utils/win/SkDWrite.h',
    348         '../third_party/skia/src/utils/win/SkDWrite.cpp',
    349         '../third_party/skia/src/utils/win/SkDWriteFontFileStream.cpp',
    350         '../third_party/skia/src/utils/win/SkDWriteFontFileStream.h',
    351         '../third_party/skia/src/utils/win/SkDWriteGeometrySink.cpp',
    352         '../third_party/skia/src/utils/win/SkDWriteGeometrySink.h',
    353         '../third_party/skia/src/utils/win/SkHRESULT.cpp',
    354       ],
    355     }],
    356   ],
    357   'target_conditions': [
    358     # Pull in specific Mac files for iOS (which have been filtered out
    359     # by file name rules).
    360     [ 'OS == "ios"', {
    361       'sources/': [
    362         ['include', 'SkFontHost_mac\\.cpp$',],
    363         ['include', 'SkStream_mac\\.cpp$',],
    364         ['include', 'SkCreateCGImageRef\\.cpp$',],
    365       ],
    366     }],
    367   ],
    368 
    369   'direct_dependent_settings': {
    370     'include_dirs': [
    371       #temporary until we can hide SkFontHost
    372       '../third_party/skia/src/core',
    373 
    374       '../third_party/skia/include/core',
    375       '../third_party/skia/include/effects',
    376       '../third_party/skia/include/pdf',
    377       '../third_party/skia/include/gpu',
    378       '../third_party/skia/include/lazy',
    379       '../third_party/skia/include/pathops',
    380       '../third_party/skia/include/pipe',
    381       '../third_party/skia/include/ports',
    382       '../third_party/skia/include/utils',
    383     ],
    384   },
    385 }
    386