Home | History | Annotate | Download | only in gyp
      1 {
      2   'target_defaults': {
      3     'conditions': [
      4       ['skia_os != "win"', {
      5         'sources/': [ ['exclude', '_win.(h|cpp)$'],
      6         ],
      7       }],
      8       ['skia_os != "mac"', {
      9         'sources/': [ ['exclude', '_mac.(h|cpp|m|mm)$'],
     10         ],
     11       }],
     12       ['skia_os != "linux"', {
     13         'sources/': [ ['exclude', '_unix.(h|cpp)$'],
     14         ],
     15       }],
     16       ['skia_os != "ios"', {
     17         'sources/': [ ['exclude', '_iOS.(h|cpp|m|mm)$'],
     18         ],
     19       }],
     20       ['skia_os != "android"', {
     21         'sources/': [ ['exclude', '_android.(h|cpp)$'],
     22         ],
     23       }],
     24       ['skia_os != "nacl"', {
     25         'sources/': [ ['exclude', '_nacl.(h|cpp)$'],
     26         ],
     27       }],
     28       [ 'skia_os == "android"', {
     29         'defines': [
     30           'GR_ANDROID_BUILD=1',
     31         ],
     32       }],
     33       [ 'skia_os == "mac"', {
     34         'defines': [
     35           'GR_MAC_BUILD=1',
     36         ],
     37       }],
     38       [ 'skia_os == "linux"', {
     39         'defines': [
     40           'GR_LINUX_BUILD=1',
     41         ],
     42       }],
     43       [ 'skia_os == "ios"', {
     44         'defines': [
     45           'GR_IOS_BUILD=1',
     46         ],
     47       }],
     48       [ 'skia_os == "win"', {
     49         'defines': [
     50           'GR_WIN32_BUILD=1',
     51         ],
     52       }],
     53       # nullify the targets in this gyp file if skia_gpu is 0
     54       [ 'skia_gpu == 0', {
     55         'sources/': [
     56           ['exclude', '.*'],
     57         ],
     58         'defines/': [
     59           ['exclude', '.*'],
     60         ],
     61         'include_dirs/': [
     62            ['exclude', '.*'],
     63         ],
     64         'link_settings': {
     65           'libraries/': [
     66             ['exclude', '.*'],
     67           ],
     68         },
     69         'direct_dependent_settings': {
     70           'defines/': [
     71             ['exclude', '.*'],
     72           ],
     73           'include_dirs/': [
     74             ['exclude', '.*'],
     75           ],
     76         },
     77       }],
     78       [ 'skia_texture_cache_mb_limit != 0', {
     79         'defines': [
     80           'GR_DEFAULT_TEXTURE_CACHE_MB_LIMIT=<(skia_texture_cache_mb_limit)',
     81         ],
     82       }],
     83     ],
     84     'direct_dependent_settings': {
     85       'conditions': [
     86         [ 'skia_os == "android"', {
     87           'defines': [
     88             'GR_ANDROID_BUILD=1',
     89           ],
     90         }],
     91         [ 'skia_os == "mac"', {
     92           'defines': [
     93             'GR_MAC_BUILD=1',
     94           ],
     95         }],
     96         [ 'skia_os == "linux"', {
     97           'defines': [
     98             'GR_LINUX_BUILD=1',
     99           ],
    100         }],
    101         [ 'skia_os == "ios"', {
    102           'defines': [
    103             'GR_IOS_BUILD=1',
    104           ],
    105         }],
    106         [ 'skia_os == "win"', {
    107           'defines': [
    108             'GR_WIN32_BUILD=1',
    109             'GR_GL_FUNCTION_TYPE=__stdcall',
    110           ],
    111         }],
    112       ],
    113       'include_dirs': [
    114         '../include/gpu',
    115       ],
    116     },
    117   },
    118   'targets': [
    119     {
    120       'target_name': 'skgr',
    121       'product_name': 'skia_skgr',
    122       'type': 'static_library',
    123       'standalone_static_library': 1,
    124       'includes': [
    125         'gpu.gypi',
    126       ],
    127       'include_dirs': [
    128         '../include/config',
    129         '../include/core',
    130         '../include/utils',
    131         '../src/core',
    132         '../include/gpu',
    133         '../src/gpu',
    134       ],
    135       'dependencies': [
    136         'angle.gyp:*',
    137       ],
    138       'export_dependent_settings': [
    139         'angle.gyp:*',
    140       ],
    141       'sources': [
    142         '<@(skgr_sources)',
    143         '<@(skgr_native_gl_sources)',
    144         '<@(skgr_angle_gl_sources)',
    145         '<@(skgr_mesa_gl_sources)',
    146         '<@(skgr_debug_gl_sources)',
    147         '<@(skgr_null_gl_sources)',
    148         'gpu.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
    149       ],
    150       'conditions': [
    151         [ 'not skia_mesa', {
    152           'sources!': [
    153             '../src/gpu/gl/mesa/SkMesaGLContext.cpp',
    154           ],
    155         }],
    156         [ 'skia_mesa and skia_os == "mac"', {
    157           'include_dirs': [
    158              '$(SDKROOT)/usr/X11/include/',
    159           ],
    160         }],
    161         [ 'not skia_angle', {
    162           'sources!': [
    163             '../include/gpu/gl/SkANGLEGLContext.h',
    164             '../src/gpu/gl/angle/SkANGLEGLContext.cpp',
    165             '../src/gpu/gl/angle/GrGLCreateANGLEInterface.cpp',
    166           ],
    167         }],
    168       ],
    169     },
    170     {
    171       'target_name': 'gr',
    172       'product_name': 'skia_gr',
    173       'type': 'static_library',
    174       'standalone_static_library': 1,
    175       'includes': [
    176         'gpu.gypi',
    177       ],
    178      'include_dirs': [
    179         '../include/core',
    180         '../include/config',
    181         '../include/utils',
    182         '../include/gpu',
    183         '../src/core', # SkRasterClip.h
    184         '../src/gpu'
    185       ],
    186       'dependencies': [
    187         'angle.gyp:*',
    188       ],
    189       'export_dependent_settings': [
    190         'angle.gyp:*',
    191       ],
    192       'sources': [
    193         '<@(gr_sources)',
    194         '<@(gr_native_gl_sources)',
    195         '<@(gr_angle_gl_sources)',
    196         '<@(gr_mesa_gl_sources)',
    197         '<@(gr_debug_gl_sources)',
    198         '<@(gr_null_gl_sources)',
    199         'gpu.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
    200       ],
    201       'defines': [
    202         'GR_IMPLEMENTATION=1',
    203       ],
    204       'conditions': [
    205         [ 'skia_nv_path_rendering', {
    206           'defines': [
    207             'GR_GL_USE_NV_PATH_RENDERING=1',
    208           ],
    209         }],
    210         [ 'skia_stroke_path_rendering', {
    211           'sources': [
    212             '../experimental/StrokePathRenderer/GrStrokePathRenderer.h',
    213             '../experimental/StrokePathRenderer/GrStrokePathRenderer.cpp',
    214           ],
    215           'defines': [
    216             'GR_STROKE_PATH_RENDERING=1',
    217           ],
    218         }],
    219         [ 'skia_android_path_rendering', {
    220           'sources': [
    221             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.cpp',
    222             '../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h',
    223             '../experimental/AndroidPathRenderer/AndroidPathRenderer.cpp',
    224             '../experimental/AndroidPathRenderer/AndroidPathRenderer.h',
    225             '../experimental/AndroidPathRenderer/Vertex.h',
    226           ],
    227           'defines': [
    228             'GR_ANDROID_PATH_RENDERING=1',
    229           ],
    230         }],
    231         [ 'skia_os == "linux"', {
    232           'sources!': [
    233             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
    234             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
    235           ],
    236           'link_settings': {
    237             'libraries': [
    238               '-lGL',
    239               '-lGLU',
    240               '-lX11',
    241             ],
    242           },
    243         }],
    244         [ 'skia_os == "nacl"', {
    245           'link_settings': {
    246             'libraries': [
    247               '-lppapi_gles2',
    248             ],
    249           },
    250         }],
    251         [ 'skia_mesa and skia_os == "linux"', {
    252           'link_settings': {
    253             'libraries': [
    254               '-lOSMesa',
    255             ],
    256           },
    257         }],
    258         [ 'skia_os == "mac"', {
    259           'link_settings': {
    260             'libraries': [
    261               '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
    262             ],
    263           },
    264           'sources!': [
    265             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
    266             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
    267           ],
    268         }],
    269         [ 'skia_mesa and skia_os == "mac"', {
    270           'link_settings': {
    271             'libraries': [
    272               '$(SDKROOT)/usr/X11/lib/libOSMesa.dylib',
    273             ],
    274           },
    275           'include_dirs': [
    276              '$(SDKROOT)/usr/X11/include/',
    277           ],
    278         }],
    279         [ 'not skia_mesa', {
    280           'sources!': [
    281             '../src/gpu/gl/mesa/GrGLCreateMesaInterface.cpp',
    282           ],
    283         }],
    284         [ 'skia_os in ["win", "ios"]', {
    285           'sources!': [
    286             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
    287             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
    288           ],
    289         }],
    290         [ 'not skia_angle', {
    291           'sources!': [
    292             '../include/gpu/gl/SkANGLEGLContext.h',
    293 
    294             '../src/gpu/gl/angle/GrGLCreateANGLEInterface.cpp',
    295             '../src/gpu/gl/angle/SkANGLEGLContext.cpp',
    296           ],
    297         }],
    298         [ 'skia_os == "android"', {
    299           'sources!': [
    300             '../src/gpu/gl/GrGLDefaultInterface_none.cpp',
    301             '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
    302           ],
    303           'link_settings': {
    304             'libraries': [
    305               '-lGLESv2',
    306               '-lEGL',
    307             ],
    308           },
    309         }],
    310       ],
    311     },
    312   ],
    313 }
    314 
    315 # Local Variables:
    316 # tab-width:2
    317 # indent-tabs-mode:nil
    318 # End:
    319 # vim: set expandtab tabstop=2 shiftwidth=2:
    320