Temporarily turn off all relocation packing.
[chromium-blink-merge.git] / gpu / gpu.gyp
blobaa18e2264102556dc88472d8c865374b75e5c9b8
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       # GN version: //gpu/command_buffer/client:gles2_implementation
16       'target_name': 'gles2_implementation',
17       'type': '<(component)',
18       'dependencies': [
19         '../base/base.gyp:base',
20         '../third_party/khronos/khronos.gyp:khronos_headers',
21         '../ui/gfx/gfx.gyp:gfx_geometry',
22         '../ui/gl/gl.gyp:gl',
23         'command_buffer/command_buffer.gyp:gles2_utils',
24         'gles2_cmd_helper',
25       ],
26       'defines': [
27         'GLES2_IMPL_IMPLEMENTATION',
28       ],
29       'sources': [
30         '<@(gles2_implementation_source_files)',
31       ],
32       'includes': [
33         # Disable LTO due to ELF section name out of range
34         # crbug.com/422251
35         '../build/android/disable_lto.gypi',
36       ],
37       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
38       'msvs_disabled_warnings': [4267, ],
39     },
40     {
41       # GN version: //gpu/command_buffer/client:gl_in_process_context
42       'target_name': 'gl_in_process_context',
43       'type': '<(component)',
44       'dependencies': [
45         'command_buffer/command_buffer.gyp:gles2_utils',
46         'gles2_implementation',
47         'gpu',
48         '../base/base.gyp:base',
49         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
50         '../ui/gfx/gfx.gyp:gfx_geometry',
51         '../ui/gl/gl.gyp:gl',
52       ],
53       'defines': [
54         'GL_IN_PROCESS_CONTEXT_IMPLEMENTATION',
55       ],
56       'sources': [
57         'command_buffer/client/gl_in_process_context.cc',
58         'command_buffer/client/gl_in_process_context.h',
59         'command_buffer/client/gl_in_process_context_export.h',
60       ],
61     },
62     {
63       # Library emulates GLES2 using command_buffers.
64       'target_name': 'gles2_implementation_no_check',
65       'type': '<(component)',
66       'defines': [
67         'GLES2_IMPL_IMPLEMENTATION',
68         'GLES2_CONFORMANCE_TESTS=1',
69       ],
70       'dependencies': [
71         '../base/base.gyp:base',
72         '../third_party/khronos/khronos.gyp:khronos_headers',
73         '../ui/gfx/gfx.gyp:gfx',
74         '../ui/gfx/gfx.gyp:gfx_geometry',
75         'command_buffer/command_buffer.gyp:gles2_utils',
76         'gles2_cmd_helper',
77       ],
78       'sources': [
79         '<@(gles2_implementation_source_files)',
80       ],
81       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
82       'msvs_disabled_warnings': [ 4267, ],
83     },
84     {
85       # Stub to expose gles2_implemenation in C instead of C++.
86       # so GLES2 C programs can work with no changes.
87       # GN version: //gpu/command_buffer/client:gles2_c_lib
88       'target_name': 'gles2_c_lib',
89       'type': '<(component)',
90       'dependencies': [
91         '../base/base.gyp:base',
92         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
93         'command_buffer/command_buffer.gyp:gles2_utils',
94         'command_buffer_client',
95       ],
96       'defines': [
97         'GLES2_C_LIB_IMPLEMENTATION',
98       ],
99       'sources': [
100         '<@(gles2_c_lib_source_files)',
101       ],
102       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
103       'msvs_disabled_warnings': [4267, ],
104     },
105     {
106       # GN version: //gpu/command_buffer/client:gles2_c_lib_nocheck
107       # Same as gles2_c_lib except with no parameter checking. Required for
108       # OpenGL ES 2.0 conformance tests.
109       'target_name': 'gles2_c_lib_nocheck',
110       'type': '<(component)',
111       'defines': [
112         'GLES2_C_LIB_IMPLEMENTATION',
113         'GLES2_CONFORMANCE_TESTS=1',
114       ],
115       'dependencies': [
116         '../base/base.gyp:base',
117         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
118         'command_buffer/command_buffer.gyp:gles2_utils',
119         'command_buffer_client',
120         'gles2_implementation_no_check',
121       ],
122       'sources': [
123         '<@(gles2_c_lib_source_files)',
124       ],
125     },
126     {
127       # GN version: //gpu:angle_unittests
128       # TODO(kbr): port this refactoring to the GN build.
129       'target_name': 'angle_unittests',
130       'type': '<(gtest_target_type)',
131       'includes': [
132         '../third_party/angle/build/common_defines.gypi',
133         '../third_party/angle/src/tests/angle_unittests.gypi',
134       ],
135       'dependencies': [
136         '../base/base.gyp:base',
137         '../base/base.gyp:test_support_base',
138       ],
139       'include_dirs': [
140         '..',
141         '../third_party/angle/include',
142       ],
143       'sources': [
144         'angle_unittest_main.cc',
145       ],
146     },
147     {
148       # GN version: //gpu:gpu_unittests
149       'target_name': 'gpu_unittests',
150       'type': '<(gtest_target_type)',
151       'dependencies': [
152         '../base/base.gyp:base',
153         '../base/base.gyp:test_support_base',
154         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
155         '../testing/gmock.gyp:gmock',
156         '../testing/gtest.gyp:gtest',
157         '<(angle_path)/src/angle.gyp:translator',
158         '../ui/gl/gl.gyp:gl',
159         '../ui/gfx/gfx.gyp:gfx',
160         '../ui/gfx/gfx.gyp:gfx_geometry',
161         '../ui/gfx/gfx.gyp:gfx_test_support',
162         'command_buffer/command_buffer.gyp:gles2_utils',
163         'command_buffer_client',
164         'command_buffer_common',
165         'command_buffer_service',
166         'gpu',
167         'gpu_unittest_utils',
168         'gles2_implementation',
169         'gles2_cmd_helper',
170         'gles2_c_lib',
171       ],
172       'sources': [
173         # Note: sources list duplicated in GN build.
174         'command_buffer/client/buffer_tracker_unittest.cc',
175         'command_buffer/client/client_test_helper.cc',
176         'command_buffer/client/client_test_helper.h',
177         'command_buffer/client/cmd_buffer_helper_test.cc',
178         'command_buffer/client/fenced_allocator_test.cc',
179         'command_buffer/client/gles2_implementation_unittest.cc',
180         'command_buffer/client/mapped_memory_unittest.cc',
181         'command_buffer/client/program_info_manager_unittest.cc',
182         'command_buffer/client/query_tracker_unittest.cc',
183         'command_buffer/client/ring_buffer_test.cc',
184         'command_buffer/client/transfer_buffer_unittest.cc',
185         'command_buffer/client/vertex_array_object_manager_unittest.cc',
186         'command_buffer/common/bitfield_helpers_test.cc',
187         'command_buffer/common/command_buffer_mock.cc',
188         'command_buffer/common/command_buffer_mock.h',
189         'command_buffer/common/command_buffer_shared_test.cc',
190         'command_buffer/common/debug_marker_manager_unittest.cc',
191         'command_buffer/common/gles2_cmd_format_test.cc',
192         'command_buffer/common/gles2_cmd_format_test_autogen.h',
193         'command_buffer/common/gles2_cmd_utils_unittest.cc',
194         'command_buffer/common/id_allocator_test.cc',
195         'command_buffer/common/trace_event.h',
196         'command_buffer/common/unittest_main.cc',
197         'command_buffer/service/async_pixel_transfer_delegate_mock.cc',
198         'command_buffer/service/async_pixel_transfer_delegate_mock.h',
199         'command_buffer/service/async_pixel_transfer_manager_mock.cc',
200         'command_buffer/service/async_pixel_transfer_manager_mock.h',
201         'command_buffer/service/buffer_manager_unittest.cc',
202         'command_buffer/service/cmd_parser_test.cc',
203         'command_buffer/service/command_buffer_service_unittest.cc',
204         'command_buffer/service/common_decoder_unittest.cc',
205         'command_buffer/service/context_group_unittest.cc',
206         'command_buffer/service/context_state_unittest.cc',
207         'command_buffer/service/feature_info_unittest.cc',
208         'command_buffer/service/framebuffer_manager_unittest.cc',
209         'command_buffer/service/gl_context_mock.cc',
210         'command_buffer/service/gl_context_mock.h',
211         'command_buffer/service/gl_surface_mock.cc',
212         'command_buffer/service/gl_surface_mock.h',
213         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
214         'command_buffer/service/gles2_cmd_decoder_unittest.h',
215         'command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h',
216         'command_buffer/service/gles2_cmd_decoder_unittest_1.cc',
217         'command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h',
218         'command_buffer/service/gles2_cmd_decoder_unittest_2.cc',
219         'command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h',
220         'command_buffer/service/gles2_cmd_decoder_unittest_3.cc',
221         'command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h',
222         'command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc',
223         'command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc',
224         'command_buffer/service/gles2_cmd_decoder_unittest_base.cc',
225         'command_buffer/service/gles2_cmd_decoder_unittest_base.h',
226         'command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc',
227         'command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc',
228         'command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc',
229         'command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc',
230         'command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc',
231         'command_buffer/service/gles2_cmd_decoder_unittest_extensions_autogen.h',
232         'command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc',
233         'command_buffer/service/gles2_cmd_decoder_unittest_programs.cc',
234         'command_buffer/service/gles2_cmd_decoder_unittest_textures.cc',
235         'command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc',
236         'command_buffer/service/gpu_scheduler_unittest.cc',
237         'command_buffer/service/gpu_service_test.cc',
238         'command_buffer/service/gpu_service_test.h',
239         'command_buffer/service/gpu_tracer_unittest.cc',
240         'command_buffer/service/id_manager_unittest.cc',
241         'command_buffer/service/mailbox_manager_unittest.cc',
242         'command_buffer/service/memory_program_cache_unittest.cc',
243         'command_buffer/service/mocks.cc',
244         'command_buffer/service/mocks.h',
245         'command_buffer/service/program_cache_unittest.cc',
246         'command_buffer/service/program_manager_unittest.cc',
247         'command_buffer/service/query_manager_unittest.cc',
248         'command_buffer/service/renderbuffer_manager_unittest.cc',
249         'command_buffer/service/shader_manager_unittest.cc',
250         'command_buffer/service/shader_translator_cache_unittest.cc',
251         'command_buffer/service/shader_translator_unittest.cc',
252         'command_buffer/service/test_helper.cc',
253         'command_buffer/service/test_helper.h',
254         'command_buffer/service/texture_manager_unittest.cc',
255         'command_buffer/service/transfer_buffer_manager_unittest.cc',
256         'command_buffer/service/valuebuffer_manager_unittest.cc',
257         'command_buffer/service/vertex_array_manager_unittest.cc',
258         'command_buffer/service/vertex_attrib_manager_unittest.cc',
259         'config/gpu_blacklist_unittest.cc',
260         'config/gpu_control_list_entry_unittest.cc',
261         'config/gpu_control_list_number_info_unittest.cc',
262         'config/gpu_control_list_os_info_unittest.cc',
263         'config/gpu_control_list_unittest.cc',
264         'config/gpu_control_list_version_info_unittest.cc',
265         'config/gpu_driver_bug_list_unittest.cc',
266         'config/gpu_info_collector_unittest.cc',
267         'config/gpu_info_unittest.cc',
268         'config/gpu_test_config_unittest.cc',
269         'config/gpu_test_expectations_parser_unittest.cc',
270         'config/gpu_util_unittest.cc',
271       ],
272       'conditions': [
273         ['OS == "android"', {
274           'dependencies': [
275             '../testing/android/native_test.gyp:native_test_native_code',
276           ],
277         }],
278         # See http://crbug.com/162998#c4 for why this is needed.
279         ['OS=="linux" and use_allocator!="none"', {
280           'dependencies': [
281             '../base/allocator/allocator.gyp:allocator',
282           ],
283         }],
284       ],
285       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
286       'msvs_disabled_warnings': [ 4267, ],
287     },
288     {
289       # GN version: //gpu/gpu_perftests
290       'target_name': 'gpu_perftests',
291       'type': '<(gtest_target_type)',
292       'dependencies': [
293         '../base/base.gyp:base',
294         '../base/base.gyp:test_support_base',
295         '../testing/gmock.gyp:gmock',
296         '../testing/gtest.gyp:gtest',
297         '../testing/perf/perf_test.gyp:perf_test',
298         '../ui/gfx/gfx.gyp:gfx_geometry',
299         '../ui/gl/gl.gyp:gl',
300         'command_buffer_service',
301       ],
302       'sources': [
303         'perftests/measurements.cc',
304         'perftests/run_all_tests.cc',
305         'perftests/texture_upload_perftest.cc',
306       ],
307       'conditions': [
308         ['OS == "android"',
309           {
310             'dependencies': [
311               '../testing/android/native_test.gyp:native_test_native_code',
312             ],
313           }
314         ],
315         # See http://crbug.com/162998#c4 for why this is needed.
316         ['OS=="linux" and use_allocator!="none"',
317           {
318             'dependencies': [
319               '../base/allocator/allocator.gyp:allocator',
320             ],
321           }
322         ],
323       ],
324     },
325     {
326       # GN version: //gpu:gl_tests
327       'target_name': 'gl_tests',
328       'type': '<(gtest_target_type)',
329       'dependencies': [
330         '../base/base.gyp:base',
331         '../base/base.gyp:test_support_base',
332         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
333         '../testing/gmock.gyp:gmock',
334         '../testing/gtest.gyp:gtest',
335         '<(angle_path)/src/angle.gyp:translator',
336         '../ui/gfx/gfx.gyp:gfx',
337         '../ui/gfx/gfx.gyp:gfx_test_support',
338         '../ui/gfx/gfx.gyp:gfx_geometry',
339         '../ui/gl/gl.gyp:gl',
340         'command_buffer/command_buffer.gyp:gles2_utils',
341         'command_buffer_client',
342         'command_buffer_common',
343         'command_buffer_service',
344         'gpu',
345         'gpu_unittest_utils',
346         'gles2_implementation',
347         'gles2_cmd_helper',
348         'gles2_c_lib',
349         #'gl_unittests',
350       ],
351       'defines': [
352         'GL_GLEXT_PROTOTYPES',
353       ],
354       'sources': [
355         # Note: sources list duplicated in GN build.
356         'command_buffer/tests/compressed_texture_test.cc',
357         'command_buffer/tests/gl_bind_uniform_location_unittest.cc',
358         'command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc',
359         'command_buffer/tests/gl_chromium_path_rendering_unittest.cc',
360         'command_buffer/tests/gl_clear_framebuffer_unittest.cc',
361         'command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc',
362         'command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc',
363         'command_buffer/tests/gl_depth_texture_unittest.cc',
364         'command_buffer/tests/gl_gpu_memory_buffer_unittest.cc',
365         'command_buffer/tests/gl_lose_context_chromium_unittest.cc',
366         'command_buffer/tests/gl_manager.cc',
367         'command_buffer/tests/gl_manager.h',
368         'command_buffer/tests/gl_pointcoord_unittest.cc',
369         'command_buffer/tests/gl_program_unittest.cc',
370         'command_buffer/tests/gl_query_unittest.cc',
371         'command_buffer/tests/gl_readback_unittest.cc',
372         'command_buffer/tests/gl_shared_resources_unittest.cc',
373         'command_buffer/tests/gl_stream_draw_unittest.cc',
374         'command_buffer/tests/gl_test_utils.cc',
375         'command_buffer/tests/gl_test_utils.h',
376         'command_buffer/tests/gl_tests_main.cc',
377         'command_buffer/tests/gl_texture_mailbox_unittest.cc',
378         'command_buffer/tests/gl_texture_storage_unittest.cc',
379         'command_buffer/tests/gl_unittest.cc',
380         'command_buffer/tests/gl_unittests_android.cc',
381         'command_buffer/tests/gl_virtual_contexts_unittest.cc',
382         'command_buffer/tests/occlusion_query_unittest.cc',
383       ],
384       'conditions': [
385         ['OS == "android"', {
386           'dependencies': [
387             '../testing/android/native_test.gyp:native_test_native_code',
388           ],
389         }],
390         ['OS == "win"', {
391           'dependencies': [
392             '../third_party/angle/src/angle.gyp:libEGL',
393             '../third_party/angle/src/angle.gyp:libGLESv2',
394           ],
395         }],
396       ],
397       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
398       'msvs_disabled_warnings': [ 4267, ],
399     },
400     {
401       # GN version: //gpu:test_support
402       'target_name': 'gpu_unittest_utils',
403       'type': 'static_library',
404       'dependencies': [
405         '../testing/gmock.gyp:gmock',
406         '../testing/gtest.gyp:gtest',
407         '../third_party/khronos/khronos.gyp:khronos_headers',
408         '../ui/gl/gl.gyp:gl_unittest_utils',
409         'gpu',
410       ],
411       'include_dirs': [
412         '..',
413       ],
414       'sources': [
415         'command_buffer/client/gles2_interface_stub.cc',
416         'command_buffer/client/gles2_interface_stub.h',
417         'command_buffer/service/error_state_mock.cc',
418         'command_buffer/service/gles2_cmd_decoder_mock.cc',
419       ],
420     },
421   ],
422   'conditions': [
423     ['component=="static_library"', {
424       'targets': [
425          {
426           # GN version: //gpu/command_buffer/service:disk_cache_proto
427           'target_name': 'disk_cache_proto',
428           'type': 'static_library',
429           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
430           'variables': {
431             'proto_in_dir': 'command_buffer/service',
432             'proto_out_dir': 'gpu/command_buffer/service',
433           },
434           'includes': [ '../build/protoc.gypi' ],
435         },
436         {
437           # GN version: //gpu
438           'target_name': 'gpu',
439           'type': 'none',
440           'dependencies': [
441             'command_buffer_client',
442             'command_buffer_common',
443             'command_buffer_service',
444             'gles2_cmd_helper',
445             'gpu_config',
446             'gpu_ipc',
447           ],
448           'sources': [
449             'gpu_export.h',
450           ],
451           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
452           'msvs_disabled_warnings': [4267, ],
453         },
454         {
455           # GN version: //gpu/command_buffer/common
456           'target_name': 'command_buffer_common',
457           'type': 'static_library',
458           'includes': [
459             'command_buffer_common.gypi',
460           ],
461           'dependencies': [
462             '../base/base.gyp:base',
463             'command_buffer/command_buffer.gyp:gles2_utils',
464           ],
465           'export_dependent_settings': [
466             '../base/base.gyp:base',
467           ],
468         },
469         {
470           # Library helps make GLES2 command buffers.
471           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
472           'target_name': 'gles2_cmd_helper',
473           'type': 'static_library',
474           'includes': [
475             'gles2_cmd_helper.gypi',
476           ],
477           'dependencies': [
478             'command_buffer_client',
479           ],
480           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
481           'msvs_disabled_warnings': [4267, ],
482         },
483         {
484           # GN version: //gpu/command_buffer/client
485           'target_name': 'command_buffer_client',
486           'type': 'static_library',
487           'includes': [
488             'command_buffer_client.gypi',
489           ],
490           'dependencies': [
491             'command_buffer_common',
492           ],
493           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
494           'msvs_disabled_warnings': [4267, ],
495         },
496         {
497           # GN version: //gpu/command_buffer/service
498           'target_name': 'command_buffer_service',
499           'type': 'static_library',
500           'includes': [
501             'command_buffer_service.gypi',
502             '../build/android/increase_size_for_speed.gypi',
503             # Disable LTO due to ELF section name out of range
504             # crbug.com/422251
505             '../build/android/disable_lto.gypi',
506           ],
507           'dependencies': [
508             'command_buffer_common',
509             'disk_cache_proto',
510             'gpu_config',
511           ],
512           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
513           'msvs_disabled_warnings': [4267, ],
514         },
515         {
516           # GN version: //gpu/ipc
517           'target_name': 'gpu_ipc',
518           'type': 'static_library',
519           'includes': [
520             'gpu_ipc.gypi',
521           ],
522           'dependencies': [
523             'command_buffer_common',
524           ],
525         },
526         {
527           'target_name': 'gpu_config',
528           'type': 'static_library',
529           'includes': [
530             'gpu_config.gypi',
531           ],
532         },
533       ],
534     },
535     { # component != static_library
536       'targets': [
537          {
538           # GN version: //gpu/command_buffer/service:disk_cache_proto
539           'target_name': 'disk_cache_proto',
540           'type': 'static_library',
541           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
542           'variables': {
543             'proto_in_dir': 'command_buffer/service',
544             'proto_out_dir': 'gpu/command_buffer/service',
545           },
546           'includes': [ '../build/protoc.gypi' ],
547         },
548         {
549           # GN version: //gpu
550           'target_name': 'gpu',
551           'type': 'shared_library',
552           'includes': [
553             'command_buffer_client.gypi',
554             'command_buffer_common.gypi',
555             'command_buffer_service.gypi',
556             'gles2_cmd_helper.gypi',
557             'gpu_config.gypi',
558             'gpu_ipc.gypi',
559             '../build/android/increase_size_for_speed.gypi',
560           ],
561           'defines': [
562             'GPU_IMPLEMENTATION',
563           ],
564           'sources': [
565             'gpu_export.h',
566           ],
567           'dependencies': [
568             '../base/base.gyp:base',
569             'command_buffer/command_buffer.gyp:gles2_utils',
570             'disk_cache_proto',
571           ],
572           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
573           'msvs_disabled_warnings': [4267, ],
574         },
575         {
576           # GN version: //gpu/command_buffer/common
577           'target_name': 'command_buffer_common',
578           'type': 'none',
579           'dependencies': [
580             'gpu',
581           ],
582         },
583         {
584           # Library helps make GLES2 command buffers.
585           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
586           'target_name': 'gles2_cmd_helper',
587           'type': 'none',
588           'dependencies': [
589             'gpu',
590           ],
591           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
592           'msvs_disabled_warnings': [4267, ],
593         },
594         {
595           # GN version: //gpu/command_buffer/client
596           'target_name': 'command_buffer_client',
597           'type': 'none',
598           'dependencies': [
599             'gpu',
600           ],
601         },
602         {
603           # GN version: //gpu/command_buffer/service
604           'target_name': 'command_buffer_service',
605           'type': 'none',
606           'dependencies': [
607             'gpu',
608           ],
609         },
610         {
611           # GN version: //gpu/ipc
612           'target_name': 'gpu_ipc',
613           'type': 'none',
614           'dependencies': [
615             'gpu',
616           ],
617         },
618       ],
619     }],
620     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
621       'targets': [
622         {
623           'target_name': 'command_buffer_common_win64',
624           'type': 'static_library',
625           'variables': {
626             'nacl_win64_target': 1,
627           },
628           'includes': [
629             'command_buffer_common.gypi',
630           ],
631           'dependencies': [
632             '../base/base.gyp:base_win64',
633           ],
634           'defines': [
635             '<@(nacl_win64_defines)',
636             'GPU_IMPLEMENTATION',
637           ],
638           'configurations': {
639             'Common_Base': {
640               'msvs_target_platform': 'x64',
641             },
642           },
643         },
644         {
645           'target_name': 'gpu_ipc_win64',
646           'type': 'static_library',
647           'variables': {
648             'nacl_win64_target': 1,
649           },
650           'includes': [
651             'gpu_ipc.gypi',
652           ],
653           'dependencies': [
654             '../base/base.gyp:base_win64',
655             '../ipc/ipc.gyp:ipc_win64',
656             'command_buffer_common_win64',
657           ],
658           'defines': [
659             '<@(nacl_win64_defines)',
660             'GPU_IMPLEMENTATION',
661           ],
662           'configurations': {
663             'Common_Base': {
664               'msvs_target_platform': 'x64',
665             },
666           },
667         },
668       ],
669     }],
670     ['OS == "android"', {
671       'targets': [
672         {
673           'target_name': 'gl_tests_apk',
674           'type': 'none',
675           'dependencies': [
676             'gl_tests',
677           ],
678           'variables': {
679             'test_suite_name': 'gl_tests',
680           },
681           'includes': [
682             '../build/apk_test.gypi',
683           ],
684         },
685         {
686           'target_name': 'gpu_unittests_apk',
687           'type': 'none',
688           'dependencies': [
689             'gpu_unittests',
690           ],
691           'variables': {
692             'test_suite_name': 'gpu_unittests',
693           },
694           'includes': [ '../build/apk_test.gypi' ],
695         },
696         {
697           'target_name': 'gpu_perftests_apk',
698           'type': 'none',
699           'dependencies': [
700             'gpu_perftests',
701           ],
702           'variables': {
703             'test_suite_name': 'gpu_perftests',
704           },
705           'includes': [ '../build/apk_test.gypi' ],
706         },
707       ],
708     }],
709     ['OS == "win" or (OS == "linux" and use_x11==1)', {
710       'targets': [
711         {
712           # TODO(kbr): port this target to the GN build.
713           'target_name': 'angle_end2end_tests',
714           'type': '<(gtest_target_type)',
715           'dependencies': [
716             '../base/base.gyp:base',
717             '../base/base.gyp:test_support_base',
718           ],
719           'includes': [
720             '../third_party/angle/build/common_defines.gypi',
721             '../third_party/angle/src/tests/angle_end2end_tests.gypi',
722           ],
723           'sources': [
724             'angle_end2end_tests_main.cc',
725           ],
726         },
727       ],
728     }],
729     ['OS == "win"', {
730       'targets': [
731         {
732           # TODO(jmadill): port this target to the GN build.
733           'target_name': 'angle_perftests',
734           'type': '<(gtest_target_type)',
735           'dependencies': [
736             '../base/base.gyp:base',
737             '../base/base.gyp:test_support_base',
738           ],
739           'includes': [
740             '../third_party/angle/build/common_defines.gypi',
741             '../third_party/angle/src/tests/angle_perftests.gypi',
742           ],
743           'sources': [
744             'angle_perftests_main.cc',
745           ],
746         },
747       ],
748     }],
749     ['test_isolation_mode != "noop"', {
750       'targets': [
751         {
752           'target_name': 'gpu_unittests_run',
753           'type': 'none',
754           'dependencies': [
755             'gpu_unittests',
756           ],
757           'includes': [
758             '../build/isolate.gypi',
759           ],
760           'sources': [
761             'gpu_unittests.isolate',
762           ],
763           'conditions': [
764             ['use_x11==1',
765               {
766                 'dependencies': [
767                   '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
768                 ],
769               }
770             ],
771           ],
772         },
773       ],
774     }],
775   ],