Home | History | Annotate | Download | only in gyp
      1 # Copyright 2011 The Android Open Source Project
      2 #
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 #
      6 # This file is automatically included by gyp_skia when building any target.
      7 
      8 {
      9   'includes': [
     10     'common_variables.gypi',
     11   ],
     12 
     13   'target_defaults': {
     14     'defines': [
     15       'SK_GAMMA_SRGB',
     16       'SK_GAMMA_APPLY_TO_A8',
     17     ],
     18 
     19     # Validate the 'skia_os' setting against 'OS', because only certain
     20     # combinations work.  You should only override 'skia_os' for certain
     21     # situations, like building for iOS on a Mac.
     22     'variables': {
     23       'conditions': [
     24         [ 'skia_os != OS and not ((skia_os == "ios" and OS == "mac") or \
     25                                   (skia_os == "nacl" and OS == "linux") or \
     26                                   (skia_os == "chromeos" and OS == "linux"))', {
     27           'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))',
     28         }],
     29         [ 'skia_mesa and skia_os not in ["mac", "linux"]', {
     30           'error': '<!(skia_mesa=1 only supported with skia_os="mac" or "linux".)',
     31         }],
     32         [ 'skia_angle and not skia_os == "win"', {
     33           'error': '<!(skia_angle=1 only supported with skia_os="win".)',
     34         }],
     35         [ 'skia_arch_width != 32 and skia_arch_width != 64', {
     36           'error': '<!(skia_arch_width can only be 32 or 64 bits not <(skia_arch_width) bits)',
     37         }],
     38         [ 'skia_os == "nacl" and OS != "linux"', {
     39           'error': '<!(Skia NaCl build only currently supported on Linux.)',
     40         }],
     41         [ 'skia_os == "chromeos" and OS != "linux"', {
     42           'error': '<!(Skia ChromeOS build is only supported on Linux.)',
     43         }],
     44       ],
     45     },
     46     'includes': [
     47       'common_conditions.gypi',
     48     ],
     49     'conditions': [
     50       [ 'skia_scalar == "float"',
     51         {
     52           'defines': [
     53             'SK_SCALAR_IS_FLOAT',
     54             'SK_CAN_USE_FLOAT',
     55           ],
     56         }, { # else, skia_scalar != "float"
     57           'defines': [
     58             'SK_SCALAR_IS_FIXED',
     59             'SK_CAN_USE_FLOAT',  # we can still use floats along the way
     60           ],
     61         }
     62       ],
     63       [ 'skia_mesa', {
     64         'defines': [
     65           'SK_MESA',
     66         ],
     67         'direct_dependent_settings': {
     68           'defines': [
     69             'SK_MESA',
     70           ],
     71         },
     72       }],
     73       [ 'skia_angle', {
     74         'defines': [
     75           'SK_ANGLE',
     76         ],
     77         'direct_dependent_settings': {
     78           'defines': [
     79             'SK_ANGLE',
     80           ],
     81         },
     82       }],
     83       [ 'skia_win_debuggers_path and skia_os == "win"',
     84         {
     85           'defines': [
     86             'SK_USE_CDB',
     87           ],
     88         },
     89       ],
     90     ],
     91     'configurations': {
     92       'Debug': {
     93         'defines': [
     94           'SK_DEBUG',
     95           'GR_DEBUG=1',
     96           'SK_DEVELOPER=1',
     97         ],
     98       },
     99       'Release': {
    100         'defines': [
    101           'SK_RELEASE',
    102           'GR_RELEASE=1',
    103         ],
    104       },
    105       'Release_Developer': {
    106         'inherit_from': ['Release'],
    107         'defines': [
    108           'SK_DEVELOPER=1',
    109         ],
    110       },
    111     },
    112   }, # end 'target_defaults'
    113 }
    114 # Local Variables:
    115 # tab-width:2
    116 # indent-tabs-mode:nil
    117 # End:
    118 # vim: set expandtab tabstop=2 shiftwidth=2:
    119