aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp/common.gypi
blob: 0e3e0dde088dfac8721c9e58b0b682f2f889aac6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 2011 The Android Open Source Project
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# This file is automatically included by gyp_skia when building any target.

{
  'includes': [
    'common_variables.gypi',
  ],

  'target_defaults': {
    'defines': [
      'SK_INTERNAL',
      'SK_GAMMA_APPLY_TO_A8',
      'QT_NO_KEYWORDS',
      # The discardable resource cache is tested via a special bot. This is
      # disabled here so we test the non-discardable use case.
      # 'SK_USE_DISCARDABLE_SCALEDIMAGECACHE',
    ],

    # Validate the 'skia_os' setting against 'OS', because only certain
    # combinations work.  You should only override 'skia_os' for certain
    # situations, like building for iOS on a Mac.
    'variables': {
      'conditions': [
        [ 'skia_os != OS and not (skia_os == "ios" and OS == "mac")', {
          'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))',
        }],
        [ 'skia_mesa and skia_os not in ["mac", "linux"]', {
          'error': '<!(skia_mesa=1 only supported with skia_os="mac" or "linux".)',
        }],
        [ 'skia_angle and not (skia_os == "win" or skia_os == "linux" or skia_os == "mac")', {
          'error': '<!(skia_angle=1 only supported with skia_os="win" or skia_os="linux" or skia_os="mac".)',
        }],
      ],
    },
    'includes': [
      'common_conditions.gypi',
    ],
    'conditions': [
      [ 'skia_mesa', {
        'defines': [
          'SK_MESA',
        ],
        'direct_dependent_settings': {
          'defines': [
            'SK_MESA',
          ],
        },
      }],
      [ 'skia_angle', {
        'defines': [
          'SK_ANGLE',
        ],
        'direct_dependent_settings': {
          'defines': [
            'SK_ANGLE',
          ],
        },
      }],
      [ 'skia_vulkan', {
        'defines': [
          'SK_VULKAN',
        ],
        'direct_dependent_settings': {
          'defines': [
            'SK_VULKAN',
          ],
        },
        'conditions': [
          [ 'skia_vulkan_debug_layers', {
            'configurations': {
              'Debug':   { 'defines': [ 'SK_ENABLE_VK_LAYERS' ] },
            },
          }],
        ],
      }],
      [ 'skia_command_buffer', {
        'defines': [
          'SK_COMMAND_BUFFER',
        ],
        'direct_dependent_settings': {
          'defines': [
            'SK_COMMAND_BUFFER',
          ],
        },
      }],
      [ 'skia_win_debuggers_path and skia_os == "win"',
        {
          'defines': [
            'SK_USE_CDB',
          ],
        },
      ],
      [ 'skia_android_framework==0', {
        # These defines are not used for skia_android_framework, where we build
        # one makefile and allow someone to add SK_DEBUG etc for their own
        # debugging purposes.
        'configurations': {
          'Debug':   { 'defines': [ 'SK_DEBUG=1' ] },
          'Release': { 'defines': [ 'NDEBUG' ] },
          'Release_Developer': {
            'inherit_from': ['Release'],
            'defines': [ 'SK_DEBUG=1' ],
            'conditions': [
              [ 'skia_clang_build == 0', {
                # gcc has problems providing useful warnings of these types for
                # optimized builds.
                'cflags': [
                  '-Wno-array-bounds',
                  '-Wno-maybe-uninitialized',
                  '-Wno-strict-overflow',
                ],
              }],
            ],
          },
        },
      }],
      [ 'skia_experimental_shadowing',
        {
          'defines': [
            'SK_EXPERIMENTAL_SHADOWING',
          ],
        },
      ],
    ],
  }, # end 'target_defaults'
}