[Mac] Enable CrZombie for subprocesses in release builds.
[chromium-blink-merge.git] / gpu / gpu.gyp
blob399f307de0049cfc876f2753d642bc0301064c3a
1 # Copyright (c) 2011 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   'variables': {
7     'chromium_code': 1,
8     # These are defined here because we need to build this library twice. Once
9     # with extra parameter checking. Once with no parameter checking to be 100%
10     # OpenGL ES 2.0 compliant for the conformance tests.
11     'gles2_c_lib_source_files': [
12       'command_buffer/client/gles2_c_lib.cc',
13       'command_buffer/client/gles2_c_lib_autogen.h',
14       'command_buffer/client/gles2_lib.h',
15       'command_buffer/client/gles2_lib.cc',
16     ],
17     # These are defined here because we need to build this library twice. Once
18     # with without support for client side arrays and once with for pepper and
19     # the OpenGL ES 2.0 compliant for the conformance tests.
20     'gles2_implementation_source_files': [
21       'command_buffer/client/gles2_implementation_autogen.h',
22       'command_buffer/client/gles2_implementation.cc',
23       'command_buffer/client/gles2_implementation.h',
24       'command_buffer/client/program_info_manager.cc',
25       'command_buffer/client/program_info_manager.h',
26     ]
27   },
28   'targets': [
29     {
30       'target_name': 'command_buffer_common',
31       'type': 'static_library',
32       'include_dirs': [
33         '.',
34       ],
35       'all_dependent_settings': {
36         'include_dirs': [
37           '.',
38         ],
39       },
40       'dependencies': [
41         '../base/base.gyp:base',
42       ],
43       'export_dependent_settings': [
44         '../base/base.gyp:base',
45       ],
46       'sources': [
47         'command_buffer/common/bitfield_helpers.h',
48         'command_buffer/common/buffer.h',
49         'command_buffer/common/cmd_buffer_common.h',
50         'command_buffer/common/cmd_buffer_common.cc',
51         'command_buffer/common/command_buffer.h',
52         'command_buffer/common/constants.h',
53         'command_buffer/common/gles2_cmd_ids_autogen.h',
54         'command_buffer/common/gles2_cmd_ids.h',
55         'command_buffer/common/gles2_cmd_format_autogen.h',
56         'command_buffer/common/gles2_cmd_format.cc',
57         'command_buffer/common/gles2_cmd_format.h',
58         'command_buffer/common/gles2_cmd_utils.cc',
59         'command_buffer/common/gles2_cmd_utils.h',
60         'command_buffer/common/id_allocator.cc',
61         'command_buffer/common/id_allocator.h',
62         'command_buffer/common/logging.cc',
63         'command_buffer/common/logging.h',
64         'command_buffer/common/thread_local.h',
65         'command_buffer/common/types.h',
66       ],
67     },
68     {
69       # Library helps make GLES2 command buffers.
70       'target_name': 'gles2_cmd_helper',
71       'type': 'static_library',
72       'dependencies': [
73         'command_buffer_client',
74       ],
75       'sources': [
76         'command_buffer/client/gles2_cmd_helper.cc',
77         'command_buffer/client/gles2_cmd_helper.h',
78         'command_buffer/client/gles2_cmd_helper_autogen.h',
79       ],
80     },
81     {
82       # Library emulates GLES2 using command_buffers.
83       'target_name': 'gles2_implementation',
84       'type': 'static_library',
85       'dependencies': [
86         '../base/base.gyp:base',
87         '../ui/gfx/gl/gl.gyp:gl',
88         'gles2_cmd_helper',
89       ],
90       'all_dependent_settings': {
91         'include_dirs': [
92           # For GLES2/gl2.h
93           '.',
94         ],
95       },
96       'sources': [
97         '<@(gles2_implementation_source_files)',
98       ],
99     },
100     {
101       # Library emulates GLES2 using command_buffers.
102       'target_name': 'gles2_implementation_client_side_arrays',
103       'type': 'static_library',
104       'defines': [
105         'GLES2_SUPPORT_CLIENT_SIDE_ARRAYS=1',
106         'GLES2_CONFORMANCE_TESTS=1',
107       ],
108       'dependencies': [
109         '../base/base.gyp:base',
110         'gles2_cmd_helper',
111       ],
112       'all_dependent_settings': {
113         'include_dirs': [
114           # For GLES2/gl2.h
115           '.',
116         ],
117       },
118       'sources': [
119         '<@(gles2_implementation_source_files)',
120       ],
121     },
122     {
123       # Stub to expose gles2_implemenation in C instead of C++.
124       # so GLES2 C programs can work with no changes.
125       'target_name': 'gles2_c_lib',
126       'type': 'static_library',
127       'dependencies': [
128         '../base/base.gyp:base',
129         'gles2_implementation',
130       ],
131       'sources': [
132         '<@(gles2_c_lib_source_files)',
133       ],
134     },
135     {
136       # Same as gles2_c_lib except with no parameter checking. Required for
137       # OpenGL ES 2.0 conformance tests.
138       'target_name': 'gles2_c_lib_nocheck',
139       'type': 'static_library',
140       'defines': [
141         'GLES2_CONFORMANCE_TESTS=1',
142       ],
143       'dependencies': [
144         'gles2_implementation_client_side_arrays',
145       ],
146       'sources': [
147         '<@(gles2_c_lib_source_files)',
148       ],
149     },
150     {
151       'target_name': 'command_buffer_client',
152       'type': 'static_library',
153       'include_dirs': [
154         '..',
155       ],
156       'all_dependent_settings': {
157         'include_dirs': [
158           '..',
159         ],
160       },
161       'dependencies': [
162         'command_buffer_common',
163       ],
164       'sources': [
165         'command_buffer/client/cmd_buffer_helper.cc',
166         'command_buffer/client/cmd_buffer_helper.h',
167         'command_buffer/client/fenced_allocator.cc',
168         'command_buffer/client/fenced_allocator.h',
169         'command_buffer/client/mapped_memory.cc',
170         'command_buffer/client/mapped_memory.h',
171         'command_buffer/client/ring_buffer.cc',
172         'command_buffer/client/ring_buffer.h',
173       ],
174     },
175     {
176       'target_name': 'command_buffer_service',
177       'type': 'static_library',
178       'include_dirs': [
179         '..',
180       ],
181       'all_dependent_settings': {
182         'include_dirs': [
183           '..',
184         ],
185       },
186       'dependencies': [
187         'command_buffer_common',
188         '../base/base.gyp:base',
189         '../ui/gfx/gl/gl.gyp:gl',
190         '../ui/gfx/surface/surface.gyp:surface',
191         '../ui/ui.gyp:ui',
192         '../third_party/angle/src/build_angle.gyp:translator_glsl',
193       ],
194       'sources': [
195         'command_buffer/service/buffer_manager.h',
196         'command_buffer/service/buffer_manager.cc',
197         'command_buffer/service/framebuffer_manager.h',
198         'command_buffer/service/framebuffer_manager.cc',
199         'command_buffer/service/cmd_buffer_engine.h',
200         'command_buffer/service/cmd_parser.cc',
201         'command_buffer/service/cmd_parser.h',
202         'command_buffer/service/command_buffer_service.cc',
203         'command_buffer/service/command_buffer_service.h',
204         'command_buffer/service/common_decoder.cc',
205         'command_buffer/service/common_decoder.h',
206         'command_buffer/service/context_group.h',
207         'command_buffer/service/context_group.cc',
208         'command_buffer/service/feature_info.h',
209         'command_buffer/service/feature_info.cc',
210         'command_buffer/service/gles2_cmd_decoder.h',
211         'command_buffer/service/gles2_cmd_decoder_autogen.h',
212         'command_buffer/service/gles2_cmd_decoder.cc',
213         'command_buffer/service/gles2_cmd_validation.h',
214         'command_buffer/service/gles2_cmd_validation.cc',
215         'command_buffer/service/gles2_cmd_validation_autogen.h',
216         'command_buffer/service/gles2_cmd_validation_implementation_autogen.h',
217         'command_buffer/service/gl_utils.h',
218         'command_buffer/service/gpu_scheduler.h',
219         'command_buffer/service/gpu_scheduler.cc',
220         'command_buffer/service/gpu_scheduler_mock.h',
221         'command_buffer/service/id_manager.h',
222         'command_buffer/service/id_manager.cc',
223         'command_buffer/service/mocks.h',
224         'command_buffer/service/program_manager.h',
225         'command_buffer/service/program_manager.cc',
226         'command_buffer/service/renderbuffer_manager.h',
227         'command_buffer/service/renderbuffer_manager.cc',
228         'command_buffer/service/shader_manager.h',
229         'command_buffer/service/shader_manager.cc',
230         'command_buffer/service/shader_translator.h',
231         'command_buffer/service/shader_translator.cc',
232         'command_buffer/service/stream_texture.h',
233         'command_buffer/service/stream_texture_manager.h',
234         'command_buffer/service/texture_manager.h',
235         'command_buffer/service/texture_manager.cc',
236         'command_buffer/service/vertex_attrib_manager.h',
237         'command_buffer/service/vertex_attrib_manager.cc',
238       ],
239       'conditions': [
240         ['toolkit_uses_gtk == 1', {
241           'dependencies': [
242             '../build/linux/system.gyp:gtk',
243           ],
244         }],
245         ['touchui==1', {
246           'include_dirs': [
247             '<(DEPTH)/third_party/angle/include',
248           ],
249         }],
250       ],
251     },
252     {
253       'target_name': 'gpu_unittests',
254       'type': 'executable',
255       'dependencies': [
256         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
257         '../testing/gmock.gyp:gmock',
258         '../testing/gmock.gyp:gmock_main',
259         '../testing/gtest.gyp:gtest',
260         '../ui/gfx/gl/gl.gyp:gl',
261         'command_buffer_client',
262         'command_buffer_common',
263         'command_buffer_service',
264         'gpu_unittest_utils',
265         'gles2_implementation_client_side_arrays',
266         'gles2_cmd_helper',
267       ],
268       'sources': [
269         '<@(gles2_c_lib_source_files)',
270         'command_buffer/client/cmd_buffer_helper_test.cc',
271         'command_buffer/client/fenced_allocator_test.cc',
272         'command_buffer/client/gles2_implementation_unittest.cc',
273         'command_buffer/client/mapped_memory_unittest.cc',
274         'command_buffer/client/program_info_manager_unittest.cc',
275         'command_buffer/client/ring_buffer_test.cc',
276         'command_buffer/common/bitfield_helpers_test.cc',
277         'command_buffer/common/command_buffer_mock.cc',
278         'command_buffer/common/command_buffer_mock.h',
279         'command_buffer/common/gles2_cmd_format_test.cc',
280         'command_buffer/common/gles2_cmd_format_test_autogen.h',
281         'command_buffer/common/gles2_cmd_id_test.cc',
282         'command_buffer/common/gles2_cmd_id_test_autogen.h',
283         'command_buffer/common/gles2_cmd_utils_unittest.cc',
284         'command_buffer/common/id_allocator_test.cc',
285         'command_buffer/common/trace_event.h',
286         'command_buffer/common/unittest_main.cc',
287         'command_buffer/service/buffer_manager_unittest.cc',
288         'command_buffer/service/cmd_parser_test.cc',
289         'command_buffer/service/common_decoder_unittest.cc',
290         'command_buffer/service/context_group_unittest.cc',
291         'command_buffer/service/feature_info_unittest.cc',
292         'command_buffer/service/framebuffer_manager_unittest.cc',
293         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
294         'command_buffer/service/gles2_cmd_decoder_unittest_1.cc',
295         'command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h',
296         'command_buffer/service/gles2_cmd_decoder_unittest_2.cc',
297         'command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h',
298         'command_buffer/service/gles2_cmd_decoder_unittest_3.cc',
299         'command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h',
300         'command_buffer/service/gles2_cmd_decoder_unittest_base.cc',
301         'command_buffer/service/gles2_cmd_decoder_unittest_base.h',
302         'command_buffer/service/gpu_scheduler_unittest.cc',
303         'command_buffer/service/id_manager_unittest.cc',
304         'command_buffer/service/mocks.cc',
305         'command_buffer/service/mocks.h',
306         'command_buffer/service/program_manager_unittest.cc',
307         'command_buffer/service/renderbuffer_manager_unittest.cc',
308         'command_buffer/service/shader_manager_unittest.cc',
309         'command_buffer/service/shader_translator_unittest.cc',
310         'command_buffer/service/stream_texture_mock.cc',
311         'command_buffer/service/stream_texture_mock.h',
312         'command_buffer/service/stream_texture_manager_mock.cc',
313         'command_buffer/service/stream_texture_manager_mock.h',
314         'command_buffer/service/test_helper.cc',
315         'command_buffer/service/test_helper.h',
316         'command_buffer/service/texture_manager_unittest.cc',
317         'command_buffer/service/vertex_attrib_manager_unittest.cc',
318       ],
319     },
320     {
321       'target_name': 'gpu_unittest_utils',
322       'type': 'static_library',
323       'dependencies': [
324         '../testing/gmock.gyp:gmock',
325         '../testing/gtest.gyp:gtest',
326         '../ui/gfx/gl/gl.gyp:gl',
327       ],
328       'include_dirs': [
329         '..',
330       ],
331       'sources': [
332         'command_buffer/common/gl_mock.h',
333         'command_buffer/common/gl_mock.cc',
334         'command_buffer/service/gles2_cmd_decoder_mock.cc',
335         'command_buffer/service/gles2_cmd_decoder_mock.cc',
336       ],
337     },
338     {
339       'target_name': 'gpu_ipc',
340       'type': 'static_library',
341       'dependencies': [
342         'command_buffer_client',
343         'gles2_c_lib',
344         '../base/base.gyp:base',
345       ],
346       'include_dirs': [
347         '..',
348       ],
349       'sources': [
350         'ipc/gpu_command_buffer_traits.cc',
351         'ipc/gpu_command_buffer_traits.h',
352       ],
353     },
354   ],