Fail orderfile verification if no matched symbols are found.
[chromium-blink-merge.git] / gpu / gpu.gyp
blob01e8cac418a96b99490a8ab0a1c2962d011f01aa
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.h',
58         'command_buffer/client/gl_in_process_context.cc',
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       # Same as gles2_c_lib except with no parameter checking. Required for
107       # OpenGL ES 2.0 conformance tests.
108       'target_name': 'gles2_c_lib_nocheck',
109       'type': '<(component)',
110       'defines': [
111         'GLES2_C_LIB_IMPLEMENTATION',
112         'GLES2_CONFORMANCE_TESTS=1',
113       ],
114       'dependencies': [
115         '../base/base.gyp:base',
116         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
117         'command_buffer/command_buffer.gyp:gles2_utils',
118         'command_buffer_client',
119         'gles2_implementation_no_check',
120       ],
121       'sources': [
122         '<@(gles2_c_lib_source_files)',
123       ],
124     },
125     {
126       # GN version: //gpu:angle_unittests
127       # TODO(kbr): port this refactoring to the GN build.
128       'target_name': 'angle_unittests',
129       'type': '<(gtest_target_type)',
130       'includes': [
131         '../third_party/angle/build/common_defines.gypi',
132         '../third_party/angle/tests/angle_unittests.gypi',
133       ],
134       'dependencies': [
135         '../base/base.gyp:base',
136         '../base/base.gyp:test_support_base',
137       ],
138       'include_dirs': [
139         '..',
140         '../third_party/angle/include',
141       ],
142       'sources':
143       [
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.h',
198         'command_buffer/service/async_pixel_transfer_delegate_mock.cc',
199         'command_buffer/service/async_pixel_transfer_manager_mock.h',
200         'command_buffer/service/async_pixel_transfer_manager_mock.cc',
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/feature_info_unittest.cc',
207         'command_buffer/service/framebuffer_manager_unittest.cc',
208         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
209         'command_buffer/service/gles2_cmd_decoder_unittest.h',
210         'command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h',
211         'command_buffer/service/gles2_cmd_decoder_unittest_1.cc',
212         'command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h',
213         'command_buffer/service/gles2_cmd_decoder_unittest_2.cc',
214         'command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h',
215         'command_buffer/service/gles2_cmd_decoder_unittest_3.cc',
216         'command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h',
217         'command_buffer/service/gles2_cmd_decoder_unittest_async_pixel.cc',
218         'command_buffer/service/gles2_cmd_decoder_unittest_base.cc',
219         'command_buffer/service/gles2_cmd_decoder_unittest_base.h',
220         'command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc',
221         'command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc',
222         'command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc',
223         'command_buffer/service/gles2_cmd_decoder_unittest_extensions_autogen.h',
224         'command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc',
225         'command_buffer/service/gles2_cmd_decoder_unittest_programs.cc',
226         'command_buffer/service/gles2_cmd_decoder_unittest_textures.cc',
227         'command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc',
228         'command_buffer/service/gles2_cmd_decoder_unittest_valuebuffer.cc',
229         'command_buffer/service/gl_surface_mock.cc',
230         'command_buffer/service/gl_surface_mock.h',
231         'command_buffer/service/gpu_scheduler_unittest.cc',
232         'command_buffer/service/gpu_service_test.cc',
233         'command_buffer/service/gpu_service_test.h',
234         'command_buffer/service/id_manager_unittest.cc',
235         'command_buffer/service/mailbox_manager_unittest.cc',
236         'command_buffer/service/memory_program_cache_unittest.cc',
237         'command_buffer/service/mocks.cc',
238         'command_buffer/service/mocks.h',
239         'command_buffer/service/program_manager_unittest.cc',
240         'command_buffer/service/query_manager_unittest.cc',
241         'command_buffer/service/renderbuffer_manager_unittest.cc',
242         'command_buffer/service/program_cache_unittest.cc',
243         'command_buffer/service/shader_manager_unittest.cc',
244         'command_buffer/service/shader_translator_unittest.cc',
245         'command_buffer/service/shader_translator_cache_unittest.cc',
246         'command_buffer/service/test_helper.cc',
247         'command_buffer/service/test_helper.h',
248         'command_buffer/service/texture_manager_unittest.cc',
249         'command_buffer/service/transfer_buffer_manager_unittest.cc',
250         'command_buffer/service/valuebuffer_manager_unittest.cc',
251         'command_buffer/service/vertex_attrib_manager_unittest.cc',
252         'command_buffer/service/vertex_array_manager_unittest.cc',
253         'command_buffer/service/gpu_tracer_unittest.cc',
254         'config/gpu_blacklist_unittest.cc',
255         'config/gpu_control_list_entry_unittest.cc',
256         'config/gpu_control_list_number_info_unittest.cc',
257         'config/gpu_control_list_os_info_unittest.cc',
258         'config/gpu_control_list_unittest.cc',
259         'config/gpu_control_list_version_info_unittest.cc',
260         'config/gpu_driver_bug_list_unittest.cc',
261         'config/gpu_info_collector_unittest.cc',
262         'config/gpu_info_unittest.cc',
263         'config/gpu_test_config_unittest.cc',
264         'config/gpu_test_expectations_parser_unittest.cc',
265         'config/gpu_util_unittest.cc',
266       ],
267       'conditions': [
268         ['OS == "android"', {
269           'dependencies': [
270             '../testing/android/native_test.gyp:native_test_native_code',
271           ],
272         }],
273         # See http://crbug.com/162998#c4 for why this is needed.
274         ['OS=="linux" and use_allocator!="none"', {
275           'dependencies': [
276             '../base/allocator/allocator.gyp:allocator',
277           ],
278         }],
279       ],
280       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
281       'msvs_disabled_warnings': [ 4267, ],
282     },
283     {
284       # GN version: //gpu/gpu_perftests
285       'target_name': 'gpu_perftests',
286       'type': '<(gtest_target_type)',
287       'dependencies': [
288         '../base/base.gyp:base',
289         '../base/base.gyp:test_support_base',
290         '../testing/gtest.gyp:gtest',
291         '../testing/perf/perf_test.gyp:perf_test',
292         '../ui/gfx/gfx.gyp:gfx_geometry',
293         '../ui/gl/gl.gyp:gl',
294         'command_buffer_service',
295       ],
296       'sources': [
297         'perftests/measurements.cc',
298         'perftests/run_all_tests.cc',
299         'perftests/texture_upload_perftest.cc',
300       ],
301     },
302     {
303       # GN version: //gpu:gl_tests
304       'target_name': 'gl_tests',
305       'type': '<(gtest_target_type)',
306       'dependencies': [
307         '../base/base.gyp:base',
308         '../base/base.gyp:test_support_base',
309         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
310         '../testing/gmock.gyp:gmock',
311         '../testing/gtest.gyp:gtest',
312         '<(angle_path)/src/angle.gyp:translator',
313         '../ui/gfx/gfx.gyp:gfx',
314         '../ui/gfx/gfx.gyp:gfx_test_support',
315         '../ui/gfx/gfx.gyp:gfx_geometry',
316         '../ui/gl/gl.gyp:gl',
317         'command_buffer/command_buffer.gyp:gles2_utils',
318         'command_buffer_client',
319         'command_buffer_common',
320         'command_buffer_service',
321         'gpu',
322         'gpu_unittest_utils',
323         'gles2_implementation',
324         'gles2_cmd_helper',
325         'gles2_c_lib',
326         #'gl_unittests',
327       ],
328       'defines': [
329         'GL_GLEXT_PROTOTYPES',
330       ],
331       'sources': [
332         # Note: sources list duplicated in GN build.
333         'command_buffer/tests/compressed_texture_test.cc',
334         'command_buffer/tests/gl_bind_uniform_location_unittest.cc',
335         'command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc',
336         'command_buffer/tests/gl_chromium_path_rendering_unittest.cc',
337         'command_buffer/tests/gl_clear_framebuffer_unittest.cc',
338         'command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc',
339         'command_buffer/tests/gl_depth_texture_unittest.cc',
340         'command_buffer/tests/gl_gpu_memory_buffer_unittest.cc',
341         'command_buffer/tests/gl_lose_context_chromium_unittest.cc',
342         'command_buffer/tests/gl_manager.cc',
343         'command_buffer/tests/gl_manager.h',
344         'command_buffer/tests/gl_pointcoord_unittest.cc',
345         'command_buffer/tests/gl_program_unittest.cc',
346         'command_buffer/tests/gl_query_unittest.cc',
347         'command_buffer/tests/gl_readback_unittest.cc',
348         'command_buffer/tests/gl_shared_resources_unittest.cc',
349         'command_buffer/tests/gl_stream_draw_unittest.cc',
350         'command_buffer/tests/gl_test_utils.cc',
351         'command_buffer/tests/gl_test_utils.h',
352         'command_buffer/tests/gl_tests_main.cc',
353         'command_buffer/tests/gl_texture_mailbox_unittest.cc',
354         'command_buffer/tests/gl_texture_storage_unittest.cc',
355         'command_buffer/tests/gl_unittest.cc',
356         'command_buffer/tests/gl_unittests_android.cc',
357         'command_buffer/tests/gl_virtual_contexts_unittest.cc',
358         'command_buffer/tests/occlusion_query_unittest.cc',
359       ],
360       'conditions': [
361         ['OS == "android"', {
362           'dependencies': [
363             '../testing/android/native_test.gyp:native_test_native_code',
364           ],
365         }],
366         ['OS == "win"', {
367           'dependencies': [
368             '../third_party/angle/src/angle.gyp:libEGL',
369             '../third_party/angle/src/angle.gyp:libGLESv2',
370           ],
371         }],
372       ],
373       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
374       'msvs_disabled_warnings': [ 4267, ],
375     },
376     {
377       # GN version: //gpu:test_support
378       'target_name': 'gpu_unittest_utils',
379       'type': 'static_library',
380       'dependencies': [
381         '../testing/gmock.gyp:gmock',
382         '../testing/gtest.gyp:gtest',
383         '../third_party/khronos/khronos.gyp:khronos_headers',
384         '../ui/gl/gl.gyp:gl_unittest_utils',
385         'gpu',
386       ],
387       'include_dirs': [
388         '..',
389       ],
390       'sources': [
391         'command_buffer/service/gles2_cmd_decoder_mock.cc',
392         'command_buffer/service/error_state_mock.cc',
393         'command_buffer/client/gles2_interface_stub.cc',
394         'command_buffer/client/gles2_interface_stub.h',
395       ],
396     },
397   ],
398   'conditions': [
399     ['component=="static_library"', {
400       'targets': [
401          {
402           # GN version: //gpu/command_buffer/service:disk_cache_proto
403           'target_name': 'disk_cache_proto',
404           'type': 'static_library',
405           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
406           'variables': {
407             'proto_in_dir': 'command_buffer/service',
408             'proto_out_dir': 'gpu/command_buffer/service',
409           },
410           'includes': [ '../build/protoc.gypi' ],
411         },
412         {
413           # GN version: //gpu
414           'target_name': 'gpu',
415           'type': 'none',
416           'dependencies': [
417             'command_buffer_client',
418             'command_buffer_common',
419             'command_buffer_service',
420             'gles2_cmd_helper',
421             'gpu_config',
422             'gpu_ipc',
423           ],
424           'sources': [
425             'gpu_export.h',
426           ],
427           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
428           'msvs_disabled_warnings': [4267, ],
429         },
430         {
431           # GN version: //gpu/command_buffer/common
432           'target_name': 'command_buffer_common',
433           'type': 'static_library',
434           'includes': [
435             'command_buffer_common.gypi',
436           ],
437           'dependencies': [
438             '../base/base.gyp:base',
439             'command_buffer/command_buffer.gyp:gles2_utils',
440           ],
441           'export_dependent_settings': [
442             '../base/base.gyp:base',
443           ],
444         },
445         {
446           # Library helps make GLES2 command buffers.
447           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
448           'target_name': 'gles2_cmd_helper',
449           'type': 'static_library',
450           'includes': [
451             'gles2_cmd_helper.gypi',
452           ],
453           'dependencies': [
454             'command_buffer_client',
455           ],
456           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
457           'msvs_disabled_warnings': [4267, ],
458         },
459         {
460           # GN version: //gpu/command_buffer/client
461           'target_name': 'command_buffer_client',
462           'type': 'static_library',
463           'includes': [
464             'command_buffer_client.gypi',
465           ],
466           'dependencies': [
467             'command_buffer_common',
468           ],
469           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
470           'msvs_disabled_warnings': [4267, ],
471         },
472         {
473           # GN version: //gpu/command_buffer/service
474           'target_name': 'command_buffer_service',
475           'type': 'static_library',
476           'includes': [
477             'command_buffer_service.gypi',
478             '../build/android/increase_size_for_speed.gypi',
479             # Disable LTO due to ELF section name out of range
480             # crbug.com/422251
481             '../build/android/disable_lto.gypi',
482           ],
483           'dependencies': [
484             'command_buffer_common',
485             'disk_cache_proto',
486           ],
487           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
488           'msvs_disabled_warnings': [4267, ],
489         },
490         {
491           # GN version: //gpu/ipc
492           'target_name': 'gpu_ipc',
493           'type': 'static_library',
494           'includes': [
495             'gpu_ipc.gypi',
496           ],
497           'dependencies': [
498             'command_buffer_common',
499           ],
500         },
501         {
502           'target_name': 'gpu_config',
503           'type': 'static_library',
504           'includes': [
505             'gpu_config.gypi',
506           ],
507         },
508       ],
509     },
510     { # component != static_library
511       'targets': [
512          {
513           # GN version: //gpu/command_buffer/service:disk_cache_proto
514           'target_name': 'disk_cache_proto',
515           'type': 'static_library',
516           'sources': [ 'command_buffer/service/disk_cache_proto.proto' ],
517           'variables': {
518             'proto_in_dir': 'command_buffer/service',
519             'proto_out_dir': 'gpu/command_buffer/service',
520           },
521           'includes': [ '../build/protoc.gypi' ],
522         },
523         {
524           # GN version: //gpu
525           'target_name': 'gpu',
526           'type': 'shared_library',
527           'includes': [
528             'command_buffer_client.gypi',
529             'command_buffer_common.gypi',
530             'command_buffer_service.gypi',
531             'gles2_cmd_helper.gypi',
532             'gpu_config.gypi',
533             'gpu_ipc.gypi',
534             '../build/android/increase_size_for_speed.gypi',
535           ],
536           'defines': [
537             'GPU_IMPLEMENTATION',
538           ],
539           'sources': [
540             'gpu_export.h',
541           ],
542           'dependencies': [
543             '../base/base.gyp:base',
544             'command_buffer/command_buffer.gyp:gles2_utils',
545             'disk_cache_proto',
546           ],
547           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
548           'msvs_disabled_warnings': [4267, ],
549         },
550         {
551           # GN version: //gpu/command_buffer/common
552           'target_name': 'command_buffer_common',
553           'type': 'none',
554           'dependencies': [
555             'gpu',
556           ],
557         },
558         {
559           # Library helps make GLES2 command buffers.
560           # GN version: //gpu/command_buffer/client:gles2_cmd_helper
561           'target_name': 'gles2_cmd_helper',
562           'type': 'none',
563           'dependencies': [
564             'gpu',
565           ],
566           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
567           'msvs_disabled_warnings': [4267, ],
568         },
569         {
570           # GN version: //gpu/command_buffer/client
571           'target_name': 'command_buffer_client',
572           'type': 'none',
573           'dependencies': [
574             'gpu',
575           ],
576         },
577         {
578           # GN version: //gpu/command_buffer/service
579           'target_name': 'command_buffer_service',
580           'type': 'none',
581           'dependencies': [
582             'gpu',
583           ],
584         },
585         {
586           # GN version: //gpu/ipc
587           'target_name': 'gpu_ipc',
588           'type': 'none',
589           'dependencies': [
590             'gpu',
591           ],
592         },
593       ],
594     }],
595     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
596       'targets': [
597         {
598           'target_name': 'command_buffer_common_win64',
599           'type': 'static_library',
600           'variables': {
601             'nacl_win64_target': 1,
602           },
603           'includes': [
604             'command_buffer_common.gypi',
605           ],
606           'dependencies': [
607             '../base/base.gyp:base_win64',
608           ],
609           'defines': [
610             '<@(nacl_win64_defines)',
611             'GPU_IMPLEMENTATION',
612           ],
613           'configurations': {
614             'Common_Base': {
615               'msvs_target_platform': 'x64',
616             },
617           },
618         },
619         {
620           'target_name': 'gpu_ipc_win64',
621           'type': 'static_library',
622           'variables': {
623             'nacl_win64_target': 1,
624           },
625           'includes': [
626             'gpu_ipc.gypi',
627           ],
628           'dependencies': [
629             '../base/base.gyp:base_win64',
630             '../ipc/ipc.gyp:ipc_win64',
631             'command_buffer_common_win64',
632           ],
633           'defines': [
634             '<@(nacl_win64_defines)',
635             'GPU_IMPLEMENTATION',
636           ],
637           'configurations': {
638             'Common_Base': {
639               'msvs_target_platform': 'x64',
640             },
641           },
642         },
643       ],
644     }],
645     ['OS == "android"', {
646       'targets': [
647         {
648           'target_name': 'gl_tests_apk',
649           'type': 'none',
650           'dependencies': [
651             'gl_tests',
652           ],
653           'variables': {
654             'test_suite_name': 'gl_tests',
655           },
656           'includes': [
657             '../build/apk_test.gypi',
658           ],
659         },
660         {
661           'target_name': 'gpu_unittests_apk',
662           'type': 'none',
663           'dependencies': [
664             'gpu_unittests',
665           ],
666           'variables': {
667             'test_suite_name': 'gpu_unittests',
668           },
669           'includes': [ '../build/apk_test.gypi' ],
670         },
671       ],
672     }],
673     ['OS == "win"', {
674       'targets': [
675         {
676           # TODO(kbr): port this target to the GN build.
677           'target_name': 'angle_end2end_tests',
678           'type': '<(gtest_target_type)',
679           'dependencies': [
680             '../base/base.gyp:base',
681             '../base/base.gyp:test_support_base',
682           ],
683           'includes':
684           [
685             '../third_party/angle/build/common_defines.gypi',
686             '../third_party/angle/tests/angle_end2end_tests.gypi',
687           ],
688           'sources':
689           [
690             'angle_end2end_tests_main.cc',
691           ],
692         },
693       ],
694     }],
695     ['test_isolation_mode != "noop"', {
696       'targets': [
697         {
698           'target_name': 'gpu_unittests_run',
699           'type': 'none',
700           'dependencies': [
701             'gpu_unittests',
702           ],
703           'includes': [
704             '../build/isolate.gypi',
705           ],
706           'sources': [
707             'gpu_unittests.isolate',
708           ],
709         },
710       ],
711     }],
712   ],