Revert 200549 "Revert 200486 "Include full user email in the res..."
[chromium-blink-merge.git] / gpu / gpu.gyp
blob371f5cd5d3ad5e5c399e5aa1a5c3b4f17446ab76
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   'variables': {
7     'nacl_win64_target': 0,
8   },
9   'includes': [
10     'gpu_common.gypi',
11   ],
12   'targets': [
13     {
14       # Library emulates GLES2 using command_buffers.
15       'target_name': 'gles2_implementation',
16       'type': '<(component)',
17       'dependencies': [
18         '../base/base.gyp:base',
19         '../third_party/khronos/khronos.gyp:khronos_headers',
20         '../ui/gl/gl.gyp:gl',
21         'command_buffer/command_buffer.gyp:gles2_utils',
22         'gles2_cmd_helper',
23       ],
24       'defines': [
25         'GLES2_IMPL_IMPLEMENTATION',
26       ],
27       'sources': [
28         '<@(gles2_implementation_source_files)',
29       ],
30       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
31       'msvs_disabled_warnings': [4267, ],
32     },
33     {
34       # Library emulates GLES2 using command_buffers.
35       'target_name': 'gles2_implementation_client_side_arrays',
36       'type': '<(component)',
37       'defines': [
38         'GLES2_IMPL_IMPLEMENTATION',
39         'GLES2_SUPPORT_CLIENT_SIDE_ARRAYS=1',
40       ],
41       'dependencies': [
42         '../base/base.gyp:base',
43         '../third_party/khronos/khronos.gyp:khronos_headers',
44         '../ui/gl/gl.gyp:gl',
45         'command_buffer/command_buffer.gyp:gles2_utils',
46         'gles2_cmd_helper',
47       ],
48       'sources': [
49         '<@(gles2_implementation_source_files)',
50       ],
51       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
52       'msvs_disabled_warnings': [ 4267, ],
53     },
54     {
55       # Library emulates GLES2 using command_buffers.
56       'target_name': 'gles2_implementation_client_side_arrays_no_check',
57       'type': '<(component)',
58       'defines': [
59         'GLES2_IMPL_IMPLEMENTATION',
60         'GLES2_SUPPORT_CLIENT_SIDE_ARRAYS=1',
61         'GLES2_CONFORMANCE_TESTS=1',
62       ],
63       'dependencies': [
64         '../base/base.gyp:base',
65         '../third_party/khronos/khronos.gyp:khronos_headers',
66         'command_buffer/command_buffer.gyp:gles2_utils',
67         'gles2_cmd_helper',
68       ],
69       'sources': [
70         '<@(gles2_implementation_source_files)',
71       ],
72       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
73       'msvs_disabled_warnings': [ 4267, ],
74     },
75     {
76       # Stub to expose gles2_implemenation in C instead of C++.
77       # so GLES2 C programs can work with no changes.
78       'target_name': 'gles2_c_lib',
79       'type': '<(component)',
80       'dependencies': [
81         '../base/base.gyp:base',
82         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
83         'command_buffer/command_buffer.gyp:gles2_utils',
84         'command_buffer_client',
85         'gles2_implementation',
86       ],
87       'defines': [
88         'GLES2_C_LIB_IMPLEMENTATION',
89       ],
90       'sources': [
91         '<@(gles2_c_lib_source_files)',
92       ],
93       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
94       'msvs_disabled_warnings': [4267, ],
95     },
96     {
97       # Same as gles2_c_lib except with no parameter checking. Required for
98       # OpenGL ES 2.0 conformance tests.
99       'target_name': 'gles2_c_lib_nocheck',
100       'type': '<(component)',
101       'defines': [
102         'GLES2_C_LIB_IMPLEMENTATION',
103         'GLES2_CONFORMANCE_TESTS=1',
104       ],
105       'dependencies': [
106         '../base/base.gyp:base',
107         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
108         'command_buffer/command_buffer.gyp:gles2_utils',
109         'command_buffer_client',
110         'gles2_implementation_client_side_arrays_no_check',
111       ],
112       'sources': [
113         '<@(gles2_c_lib_source_files)',
114       ],
115     },
116     {
117       'target_name': 'gpu_unittests',
118       'type': '<(gtest_target_type)',
119       'dependencies': [
120         '../base/base.gyp:base',
121         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
122         '../testing/gmock.gyp:gmock',
123         '../testing/gtest.gyp:gtest',
124         '../third_party/angle/src/build_angle.gyp:translator_glsl',
125         '../ui/gl/gl.gyp:gl',
126         '../ui/ui.gyp:ui',
127         'command_buffer/command_buffer.gyp:gles2_utils',
128         'command_buffer_client',
129         'command_buffer_common',
130         'command_buffer_service',
131         'gpu',
132         'gpu_unittest_utils',
133         'gles2_implementation_client_side_arrays',
134         'gles2_cmd_helper',
135       ],
136       'defines': [
137         'GLES2_C_LIB_IMPLEMENTATION',
138       ],
139       'sources': [
140         '<@(gles2_c_lib_source_files)',
141         'command_buffer/client/buffer_tracker_unittest.cc',
142         'command_buffer/client/client_test_helper.cc',
143         'command_buffer/client/client_test_helper.h',
144         'command_buffer/client/cmd_buffer_helper_test.cc',
145         'command_buffer/client/fenced_allocator_test.cc',
146         'command_buffer/client/gles2_interface_stub.cc',
147         'command_buffer/client/gles2_interface_stub.h',
148         'command_buffer/client/gles2_implementation_unittest.cc',
149         'command_buffer/client/mapped_memory_unittest.cc',
150         'command_buffer/client/query_tracker_unittest.cc',
151         'command_buffer/client/program_info_manager_unittest.cc',
152         'command_buffer/client/ring_buffer_test.cc',
153         'command_buffer/client/transfer_buffer_unittest.cc',
154         'command_buffer/client/vertex_array_object_manager_unittest.cc',
155         'command_buffer/common/bitfield_helpers_test.cc',
156         'command_buffer/common/command_buffer_mock.cc',
157         'command_buffer/common/command_buffer_mock.h',
158         'command_buffer/common/command_buffer_shared_test.cc',
159         'command_buffer/common/debug_marker_manager_unittest.cc',
160         'command_buffer/common/gles2_cmd_format_test.cc',
161         'command_buffer/common/gles2_cmd_format_test_autogen.h',
162         'command_buffer/common/gles2_cmd_utils_unittest.cc',
163         'command_buffer/common/id_allocator_test.cc',
164         'command_buffer/common/trace_event.h',
165         'command_buffer/common/unittest_main.cc',
166         'command_buffer/service/async_pixel_transfer_delegate_mock.h',
167         'command_buffer/service/async_pixel_transfer_delegate_mock.cc',
168         'command_buffer/service/buffer_manager_unittest.cc',
169         'command_buffer/service/cmd_parser_test.cc',
170         'command_buffer/service/command_buffer_service_unittest.cc',
171         'command_buffer/service/common_decoder_unittest.cc',
172         'command_buffer/service/context_group_unittest.cc',
173         'command_buffer/service/feature_info_unittest.cc',
174         'command_buffer/service/framebuffer_manager_unittest.cc',
175         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
176         'command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h',
177         'command_buffer/service/gles2_cmd_decoder_unittest_1.cc',
178         'command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h',
179         'command_buffer/service/gles2_cmd_decoder_unittest_2.cc',
180         'command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h',
181         'command_buffer/service/gles2_cmd_decoder_unittest_3.cc',
182         'command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h',
183         'command_buffer/service/gles2_cmd_decoder_unittest_base.cc',
184         'command_buffer/service/gles2_cmd_decoder_unittest_base.h',
185         'command_buffer/service/gl_surface_mock.cc',
186         'command_buffer/service/gl_surface_mock.h',
187         'command_buffer/service/gpu_scheduler_unittest.cc',
188         'command_buffer/service/id_manager_unittest.cc',
189         'command_buffer/service/memory_program_cache_unittest.cc',
190         'command_buffer/service/mocks.cc',
191         'command_buffer/service/mocks.h',
192         'command_buffer/service/program_manager_unittest.cc',
193         'command_buffer/service/query_manager_unittest.cc',
194         'command_buffer/service/renderbuffer_manager_unittest.cc',
195         'command_buffer/service/program_cache_lru_helper_unittest.cc',
196         'command_buffer/service/program_cache_unittest.cc',
197         'command_buffer/service/shader_manager_unittest.cc',
198         'command_buffer/service/shader_translator_unittest.cc',
199         'command_buffer/service/stream_texture_mock.cc',
200         'command_buffer/service/stream_texture_mock.h',
201         'command_buffer/service/stream_texture_manager_mock.cc',
202         'command_buffer/service/stream_texture_manager_mock.h',
203         'command_buffer/service/test_helper.cc',
204         'command_buffer/service/test_helper.h',
205         'command_buffer/service/texture_manager_unittest.cc',
206         'command_buffer/service/transfer_buffer_manager_unittest.cc',
207         'command_buffer/service/vertex_attrib_manager_unittest.cc',
208         'command_buffer/service/vertex_array_manager_unittest.cc',
209       ],
210       'conditions': [
211         ['OS == "android" and gtest_target_type == "shared_library"', {
212           'dependencies': [
213             '../testing/android/native_test.gyp:native_test_native_code',
214           ],
215         }],
216       ],
217       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
218       'msvs_disabled_warnings': [ 4267, ],
219     },
220     {
221       'target_name': 'gl_tests',
222       'type': '<(gtest_target_type)',
223       'dependencies': [
224         '../base/base.gyp:base',
225         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
226         '../testing/gmock.gyp:gmock',
227         '../testing/gtest.gyp:gtest',
228         '../third_party/angle/src/build_angle.gyp:translator_glsl',
229         '../ui/ui.gyp:ui',
230         'command_buffer/command_buffer.gyp:gles2_utils',
231         'command_buffer_client',
232         'command_buffer_common',
233         'command_buffer_service',
234         'gpu',
235         'gpu_unittest_utils',
236         'gles2_implementation_client_side_arrays',
237         'gles2_cmd_helper',
238         #'gl_unittests',
239       ],
240       'defines': [
241         'GLES2_C_LIB_IMPLEMENTATION',
242         'GL_GLEXT_PROTOTYPES',
243       ],
244       'sources': [
245         '<@(gles2_c_lib_source_files)',
246         'command_buffer/client/gpu_memory_buffer_mock.cc',
247         'command_buffer/client/gpu_memory_buffer_mock.h',
248         'command_buffer/client/image_factory_mock.cc',
249         'command_buffer/client/image_factory_mock.h',
250         'command_buffer/tests/gl_bind_uniform_location_unittest.cc',
251         'command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc',
252         'command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc',
253         'command_buffer/tests/gl_depth_texture_unittest.cc',
254         'command_buffer/tests/gl_gpu_memory_buffer_unittests.cc',
255         'command_buffer/tests/gl_lose_context_chromium_unittests.cc',
256         'command_buffer/tests/gl_manager.cc',
257         'command_buffer/tests/gl_manager.h',
258         'command_buffer/tests/gl_pointcoord_unittest.cc',
259         'command_buffer/tests/gl_program_unittests.cc',
260         'command_buffer/tests/gl_query_unittests.cc',
261         'command_buffer/tests/gl_readback_unittests.cc',
262         'command_buffer/tests/gl_shared_resources_unittests.cc',
263         'command_buffer/tests/gl_stream_draw_unittests.cc',
264         'command_buffer/tests/gl_test_utils.cc',
265         'command_buffer/tests/gl_test_utils.h',
266         'command_buffer/tests/gl_tests_main.cc',
267         'command_buffer/tests/gl_texture_mailbox_unittests.cc',
268         'command_buffer/tests/gl_texture_storage_unittests.cc',
269         'command_buffer/tests/gl_unittests.cc',
270         'command_buffer/tests/gl_unittests_android.cc',
271         'command_buffer/tests/gl_virtual_contexts_unittests.cc',
272         'command_buffer/tests/occlusion_query_unittests.cc',
273       ],
274       'conditions': [
275         ['OS == "android" and gtest_target_type == "shared_library"', {
276           'dependencies': [
277             '../testing/android/native_test.gyp:native_test_native_code',
278           ],
279         }],
280       ],
281       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
282       'msvs_disabled_warnings': [ 4267, ],
283     },
284     {
285       'target_name': 'gpu_unittest_utils',
286       'type': 'static_library',
287       'dependencies': [
288         '../testing/gmock.gyp:gmock',
289         '../testing/gtest.gyp:gtest',
290         '../third_party/khronos/khronos.gyp:khronos_headers',
291         '../ui/gl/gl.gyp:gl_unittest_utils',
292       ],
293       'include_dirs': [
294         '..',
295       ],
296       'sources': [
297         'command_buffer/service/gles2_cmd_decoder_mock.cc',
298         'command_buffer/service/error_state_mock.cc',
299       ],
300     },
301   ],
302   'conditions': [
303     ['component=="static_library"', {
304       'targets': [
305          {
306           'target_name': 'disk_cache_proto',
307           'type': 'static_library',
308           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
309           'variables': {
310             'proto_in_dir': 'command_buffer/service',
311             'proto_out_dir': 'gpu/command_buffer/service',
312           },
313           'includes': [ '../build/protoc.gypi' ],
314         },
315         {
316           'target_name': 'gpu',
317           'type': 'none',
318           'dependencies': [
319             'command_buffer_client',
320             'command_buffer_common',
321             'command_buffer_service',
322             'gles2_cmd_helper',
323             'gpu_ipc',
324           ],
325           'sources': [
326             'gpu_export.h',
327           ],
328           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
329           'msvs_disabled_warnings': [4267, ],
330         },
331         {
332           'target_name': 'command_buffer_common',
333           'type': 'static_library',
334           'includes': [
335             'command_buffer_common.gypi',
336           ],
337           'dependencies': [
338             '../base/base.gyp:base',
339             'command_buffer/command_buffer.gyp:gles2_utils',
340           ],
341           'export_dependent_settings': [
342             '../base/base.gyp:base',
343           ],
344         },
345         {
346           # Library helps make GLES2 command buffers.
347           'target_name': 'gles2_cmd_helper',
348           'type': 'static_library',
349           'includes': [
350             'gles2_cmd_helper.gypi',
351           ],
352           'dependencies': [
353             'command_buffer_client',
354           ],
355           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
356           'msvs_disabled_warnings': [4267, ],
357         },
358         {
359           'target_name': 'command_buffer_client',
360           'type': 'static_library',
361           'includes': [
362             'command_buffer_client.gypi',
363           ],
364           'dependencies': [
365             'command_buffer_common',
366           ],
367           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
368           'msvs_disabled_warnings': [4267, ],
369         },
370         {
371           'target_name': 'command_buffer_service',
372           'type': 'static_library',
373           'includes': [
374             'command_buffer_service.gypi',
375           ],
376           'dependencies': [
377             'command_buffer_common',
378             'disk_cache_proto',
379           ],
380           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
381           'msvs_disabled_warnings': [4267, ],
382         },
383         {
384           'target_name': 'gpu_ipc',
385           'type': 'static_library',
386           'includes': [
387             'gpu_ipc.gypi',
388           ],
389           'dependencies': [
390             'command_buffer_common',
391           ],
392         },
393       ],
394     },
395     { # component != static_library
396       'targets': [
397          {
398           'target_name': 'disk_cache_proto',
399           'type': 'static_library',
400           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
401           'variables': {
402             'proto_in_dir': 'command_buffer/service',
403             'proto_out_dir': 'gpu/command_buffer/service',
404           },
405           'includes': [ '../build/protoc.gypi' ],
406         },
407         {
408           'target_name': 'gpu',
409           'type': 'shared_library',
410           'includes': [
411             'command_buffer_client.gypi',
412             'command_buffer_common.gypi',
413             'command_buffer_service.gypi',
414             'gles2_cmd_helper.gypi',
415             'gpu_ipc.gypi',
416           ],
417           'defines': [
418             'GPU_IMPLEMENTATION',
419           ],
420           'sources': [
421             'gpu_export.h',
422           ],
423           'dependencies': [
424             '../base/base.gyp:base',
425             'command_buffer/command_buffer.gyp:gles2_utils',
426             'disk_cache_proto',
427           ],
428           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
429           'msvs_disabled_warnings': [4267, ],
430         },
431         {
432           'target_name': 'command_buffer_common',
433           'type': 'none',
434           'dependencies': [
435             'gpu',
436           ],
437         },
438         {
439           # Library helps make GLES2 command buffers.
440           'target_name': 'gles2_cmd_helper',
441           'type': 'none',
442           'dependencies': [
443             'gpu',
444           ],
445           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
446           'msvs_disabled_warnings': [4267, ],
447         },
448         {
449           'target_name': 'command_buffer_client',
450           'type': 'none',
451           'dependencies': [
452             'gpu',
453           ],
454         },
455         {
456           'target_name': 'command_buffer_service',
457           'type': 'none',
458           'dependencies': [
459             'gpu',
460           ],
461         },
462         {
463           'target_name': 'gpu_ipc',
464           'type': 'none',
465           'dependencies': [
466             'gpu',
467           ],
468         },
469       ],
470     }],
471     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
472       'targets': [
473         {
474           'target_name': 'gpu_ipc_win64',
475           'type': 'static_library',
476           'variables': {
477             'nacl_win64_target': 1,
478           },
479           'includes': [
480             'gpu_ipc.gypi',
481           ],
482           'dependencies': [
483             '../base/base.gyp:base_nacl_win64',
484             '../ipc/ipc.gyp:ipc_win64',
485           ],
486           'defines': [
487             '<@(nacl_win64_defines)',
488             'GPU_IMPLEMENTATION',
489           ],
490           'configurations': {
491             'Common_Base': {
492               'msvs_target_platform': 'x64',
493             },
494           },
495         },
496       ],
497     }],
498     ['OS == "android" and gtest_target_type == "shared_library"', {
499       'targets': [
500         {
501           'target_name': 'gl_tests_apk',
502           'type': 'none',
503           'dependencies': [
504             'gl_tests',
505           ],
506           'variables': {
507             'test_suite_name': 'gl_tests',
508             'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)gl_tests<(SHARED_LIB_SUFFIX)',
509           },
510           'includes': [
511             '../build/apk_test.gypi',
512           ],
513         },
514       ],
515     }],
516   ],