Home | History | Annotate | Download | only in gyp
      1 # Copyright 2015 Google Inc.
      2 #
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 # Port-specific Skia library code.
      6 {
      7   'targets': [
      8     {
      9       'target_name': 'ports',
     10       'product_name': 'skia_ports',
     11       'type': 'static_library',
     12       'standalone_static_library': 1,
     13       'dependencies': [
     14         'core.gyp:*',
     15       ],
     16       'include_dirs': [
     17         '../include/effects',
     18         '../include/images',
     19         '../include/ports',
     20         '../include/utils',
     21         '../include/utils/win',
     22         '../src/core',
     23         '../src/lazy',
     24         '../src/ports',
     25         '../src/sfnt',
     26         '../src/utils',
     27       ],
     28       'sources': [
     29         '../src/ports/SkDebug_stdio.cpp',
     30         '../src/ports/SkDebug_win.cpp',
     31 
     32         '../src/fonts/SkFontMgr_indirect.cpp',
     33         '../src/fonts/SkRemotableFontMgr.cpp',
     34         '../src/ports/SkFontHost_win.cpp',
     35         '../src/ports/SkFontMgr_default_gdi.cpp',
     36         '../src/ports/SkFontMgr_default_dw.cpp',
     37         '../src/ports/SkFontMgr_win_dw.cpp',
     38         '../src/ports/SkRemotableFontMgr_win_dw.cpp',
     39         '../src/ports/SkScalerContext_win_dw.cpp',
     40         '../src/ports/SkScalerContext_win_dw.h',
     41         '../src/ports/SkTypeface_win_dw.cpp',
     42         '../src/ports/SkTypeface_win_dw.h',
     43 
     44         '../src/ports/SkGlobalInitialization_default.cpp',
     45         '../src/ports/SkMemory_malloc.cpp',
     46         '../src/ports/SkOSFile_posix.cpp',
     47         '../src/ports/SkOSFile_stdio.cpp',
     48         '../src/ports/SkOSFile_win.cpp',
     49         '../src/ports/SkDiscardableMemory_none.cpp',
     50         '../src/ports/SkTime_Unix.cpp',
     51         '../src/ports/SkTime_win.cpp',
     52         '../src/ports/SkTLS_pthread.cpp',
     53         '../src/ports/SkTLS_win.cpp',
     54 
     55         '../include/ports/SkFontConfigInterface.h',
     56         '../include/ports/SkFontMgr.h',
     57         '../include/ports/SkFontMgr_indirect.h',
     58         '../include/ports/SkRemotableFontMgr.h',
     59       ],
     60       'conditions': [
     61         [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos", "android"]', {
     62           'sources': [
     63             '../src/ports/SkFontHost_FreeType.cpp',
     64             '../src/ports/SkFontHost_FreeType_common.cpp',
     65           ],
     66           'dependencies': [
     67             'freetype.gyp:freetype',
     68           ],
     69         }],
     70         [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
     71           'conditions': [
     72             [ 'skia_embedded_fonts', {
     73               'link_settings': {
     74                 'libraries': [
     75                   '-ldl',
     76                 ],
     77               },
     78               'variables': {
     79                 'embedded_font_data_identifier': 'sk_fonts',
     80                 'fonts_to_include': [
     81                   '../resources/fonts/Funkster.ttf',
     82                 ],
     83               },
     84               'sources': [
     85                 '../src/ports/SkFontHost_linux.cpp',
     86               ],
     87               'actions': [{
     88                 'action_name': 'generate_embedded_font_data',
     89                 'inputs': [
     90                   '../tools/embed_resources.py',
     91                   '<@(fonts_to_include)',
     92                 ],
     93                 'outputs': [
     94                   '<(SHARED_INTERMEDIATE_DIR)/ports/fonts/fonts.cpp',
     95                 ],
     96                 'action': ['python', '../tools/embed_resources.py',
     97                                      '--align', '4',
     98                                      '--name', '<(embedded_font_data_identifier)',
     99                                      '--input', '<@(fonts_to_include)',
    100                                      '--output', '<@(_outputs)',
    101                 ],
    102                 'message': 'Generating <@(_outputs)',
    103                 'process_outputs_as_sources': 1,
    104               }],
    105               'defines': [
    106                 'SK_EMBEDDED_FONTS=<(embedded_font_data_identifier)',
    107               ],
    108             }, 'skia_no_fontconfig', {
    109               'link_settings': {
    110                 'libraries': [
    111                   '-ldl',
    112                 ],
    113               },
    114               'sources': [
    115                 '../src/ports/SkFontHost_linux.cpp',
    116               ],
    117             }, {
    118               'link_settings': {
    119                 'libraries': [
    120                   '-lfontconfig',
    121                   '-ldl',
    122                 ],
    123               },
    124               'sources': [
    125                 '../src/ports/SkFontMgr_fontconfig.cpp',
    126                 '../src/ports/SkFontHost_fontconfig.cpp',
    127                 '../src/ports/SkFontConfigInterface_direct.cpp',
    128               ],
    129             }]
    130           ],
    131         }],
    132         [ 'skia_os == "mac"', {
    133           'include_dirs': [
    134             '../include/utils/mac',
    135           ],
    136           'sources': [
    137             '../src/ports/SkFontHost_mac.cpp',
    138             '../src/utils/mac/SkStream_mac.cpp',
    139           ],
    140           'sources!': [
    141             '../src/ports/SkFontHost_tables.cpp',
    142           ],
    143         }],
    144         [ 'skia_os == "ios"', {
    145           'include_dirs': [
    146             '../include/utils/ios',
    147             '../include/utils/mac',
    148           ],
    149           'sources': [
    150             '../src/ports/SkFontHost_mac.cpp',
    151             '../src/utils/mac/SkStream_mac.cpp',
    152           ],
    153           'sources!': [
    154             '../src/ports/SkFontHost_tables.cpp',
    155           ],
    156         }],
    157         [ 'skia_os == "win"', {
    158           'include_dirs': [
    159             'config/win',
    160             '../src/utils/win',
    161           ],
    162           'sources!': [ # these are used everywhere but windows
    163             '../src/ports/SkDebug_stdio.cpp',
    164             '../src/ports/SkOSFile_posix.cpp',
    165             '../src/ports/SkTime_Unix.cpp',
    166             '../src/ports/SkTLS_pthread.cpp',
    167           ],
    168           'conditions': [
    169             #    when we build for win, we only want one of these default files
    170             [ 'skia_gdi', {
    171               'sources!': [
    172                 '../src/ports/SkFontMgr_default_dw.cpp',
    173               ],
    174             }, { # normally default to direct write
    175               'sources!': [
    176                 '../src/ports/SkFontMgr_default_gdi.cpp',
    177               ],
    178             }],
    179           ],
    180         }, { # else !win
    181           'sources!': [
    182             '../src/ports/SkDebug_win.cpp',
    183             '../src/ports/SkFontHost_win.cpp',
    184             '../src/ports/SkFontMgr_default_gdi.cpp',
    185             '../src/ports/SkFontMgr_default_dw.cpp',
    186             '../src/ports/SkFontMgr_win_dw.cpp',
    187             '../src/ports/SkOSFile_win.cpp',
    188             '../src/ports/SkRemotableFontMgr_win_dw.cpp',
    189             '../src/ports/SkTime_win.cpp',
    190             '../src/ports/SkTLS_win.cpp',
    191             '../src/ports/SkScalerContext_win_dw.cpp',
    192             '../src/ports/SkScalerContext_win_dw.h',
    193             '../src/ports/SkTypeface_win_dw.cpp',
    194             '../src/ports/SkTypeface_win_dw.h',
    195           ],
    196         }],
    197         [ 'skia_os == "android"', {
    198           'sources!': [
    199             '../src/ports/SkDebug_stdio.cpp',
    200           ],
    201           'sources': [
    202             '../src/ports/SkDebug_android.cpp',
    203             '../src/ports/SkFontConfigParser_android.cpp',
    204             '../src/ports/SkFontMgr_android.cpp',
    205           ],
    206           'dependencies': [
    207              'android_deps.gyp:expat',
    208           ],
    209         }],
    210       ],
    211       'direct_dependent_settings': {
    212         'include_dirs': [
    213           '../include/ports',
    214         ],
    215       },
    216     },
    217   ],
    218 }
    219