Mac: Actually enable NSCGLSurface API
[chromium-blink-merge.git] / skia / skia.gyp
blob8c0536b640e3858800d551e2a9564f8b55f249d5
1 # Copyright (c) 2012 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.
6   'conditions': [
7     # In component mode (shared_lib), we build all of skia as a single DLL.
8     # However, in the static mode, we need to build skia as multiple targets
9     # in order to support the use case where a platform (e.g. Android) may
10     # already have a copy of skia as a system library.
11     ['component=="static_library"', {
12       'targets': [
13         {
14           'target_name': 'skia_library',
15           'type': 'static_library',
16           'includes': [
17             'skia_library.gypi',
18             'skia_common.gypi',
19             '../build/android/increase_size_for_speed.gypi',
20             # Disable LTO due to compiler error
21             # in mems_in_disjoint_alias_sets_p, at alias.c:393
22             # crbug.com/422255
23             '../build/android/disable_lto.gypi',
24           ],
25         },
26       ],
27     }],
28     ['component=="static_library"', {
29       'targets': [
30         {
31           'target_name': 'skia',
32           'type': 'none',
33           'dependencies': [
34             'skia_library',
35             'skia_chrome',
36           ],
37           'export_dependent_settings': [
38             'skia_library',
39             'skia_chrome',
40           ],
41         },
42         {
43           'target_name': 'skia_chrome',
44           'type': 'static_library',
45           'includes': [
46             'skia_chrome.gypi',
47             'skia_common.gypi',
48             '../build/android/increase_size_for_speed.gypi',
49           ],
50         },
51       ],
52     },
53     {  # component != static_library
54       'targets': [
55         {
56           'target_name': 'skia',
57           'type': 'shared_library',
58           'includes': [
59             'skia_library.gypi',
60             'skia_chrome.gypi',
61             'skia_common.gypi',
62             '../build/android/increase_size_for_speed.gypi',
63           ],
64           'defines': [
65             'SKIA_DLL',
66             'SKIA_IMPLEMENTATION=1',
67             'GR_GL_IGNORE_ES3_MSAA=0',
68           ],
69           'direct_dependent_settings': {
70             'defines': [
71               'SKIA_DLL',
72               'GR_GL_IGNORE_ES3_MSAA=0',
73             ],
74           },
75         },
76         {
77           'target_name': 'skia_library',
78           'type': 'none',
79         },
80         {
81           'target_name': 'skia_chrome',
82           'type': 'none',
83         },
84       ],
85     }],
86   ],
88   # targets that are not dependent upon the component type
89   'targets': [
90     {
91       'target_name': 'image_operations_bench',
92       'type': 'executable',
93       'dependencies': [
94         '../base/base.gyp:base',
95         'skia',
96       ],
97       'include_dirs': [
98         '..',
99       ],
100       'sources': [
101         'ext/image_operations_bench.cc',
102       ],
103     },
104     {
105       'target_name': 'filter_fuzz_stub',
106       'type': 'executable',
107       'dependencies': [
108         '../base/base.gyp:base',
109         '../base/base.gyp:test_support_base',
110         'skia.gyp:skia',
111       ],
112       'sources': [
113         'tools/filter_fuzz_stub/filter_fuzz_stub.cc',
114       ],
115       'includes': [
116         '../build/android/increase_size_for_speed.gypi',
117       ],
118     },
119     {
120       'target_name': 'skia_mojo',
121       'type': 'static_library',
122       'dependencies': [
123         'skia',
124         '../base/base.gyp:base',
125       ],
126       'includes': [
127         '../third_party/mojo/mojom_bindings_generator.gypi',
128       ],
129       'sources': [
130         # Note: file list duplicated in GN build.
131         'public/interfaces/bitmap.mojom',
132         'public/type_converters.cc',
133         'public/type_converters.h',
134       ],
135     },
136   ],