Fix WebGL 2.0 prototype on Mac OS X.
[chromium-blink-merge.git] / skia / skia.gyp
blob0f13b69bafd4e2ee2785c1c0d6f54cf2cbb6592f
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': 'skia_chrome_opts',
92       'type': 'static_library',
93       'include_dirs': [
94         '..',
95         'config',
96         '../third_party/skia/include/core',
97       ],
98       'conditions': [
99         [ 'os_posix == 1 and OS != "mac" and OS != "android" and \
100             target_arch != "arm" and target_arch != "mipsel" and \
101             target_arch != "arm64" and target_arch != "mips64el"', {
102           'cflags': [
103             '-msse2',
104           ],
105         }],
106         [ 'target_arch != "arm" and target_arch != "mipsel" and \
107            target_arch != "arm64" and target_arch != "mips64el"', {
108           'sources': [
109             'ext/convolver_SSE2.cc',
110             'ext/convolver_SSE2.h',
111           ],
112         }],
113         [ 'target_arch == "mipsel" and mips_dsp_rev >= 2',{
114           'sources': [
115             'ext/convolver_mips_dspr2.cc',
116             'ext/convolver_mips_dspr2.h',
117           ],
118         }],
119       ],
120     },
121     {
122       'target_name': 'image_operations_bench',
123       'type': 'executable',
124       'dependencies': [
125         '../base/base.gyp:base',
126         'skia',
127       ],
128       'include_dirs': [
129         '..',
130       ],
131       'sources': [
132         'ext/image_operations_bench.cc',
133       ],
134     },
135     {
136       'target_name': 'filter_fuzz_stub',
137       'type': 'executable',
138       'dependencies': [
139         '../base/base.gyp:base',
140         '../base/base.gyp:test_support_base',
141         'skia.gyp:skia',
142       ],
143       'sources': [
144         'tools/filter_fuzz_stub/filter_fuzz_stub.cc',
145       ],
146       'includes': [
147         '../build/android/increase_size_for_speed.gypi',
148       ],
149     },
150   ],