Don't consider a Bluetooth adapter present until it has an address.
[chromium-blink-merge.git] / gpu / gpu.gyp
blob0b805c15c234be386b9c34b589ca60e29f0303a0
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         '../ui/gl/gl.gyp:gl',
20         'command_buffer/command_buffer.gyp:gles2_utils',
21         'gles2_cmd_helper',
22       ],
23       'all_dependent_settings': {
24         'include_dirs': [
25           # For GLES2/gl2.h
26           '<(DEPTH)/third_party/khronos',
27         ],
28       },
29       'defines': [
30         'GLES2_IMPL_IMPLEMENTATION',
31       ],
32       'sources': [
33         '<@(gles2_implementation_source_files)',
34       ],
35     },
36     {
37       # Library emulates GLES2 using command_buffers.
38       'target_name': 'gles2_implementation_client_side_arrays',
39       'type': '<(component)',
40       'defines': [
41         'GLES2_IMPL_IMPLEMENTATION',
42         'GLES2_SUPPORT_CLIENT_SIDE_ARRAYS=1',
43       ],
44       'dependencies': [
45         '../base/base.gyp:base',
46         '../ui/gl/gl.gyp:gl',
47         'command_buffer/command_buffer.gyp:gles2_utils',
48         'gles2_cmd_helper',
49       ],
50       'all_dependent_settings': {
51         'include_dirs': [
52           # For GLES2/gl2.h
53           '<(DEPTH)/third_party/khronos',
54         ],
55       },
56       'sources': [
57         '<@(gles2_implementation_source_files)',
58       ],
59     },
60     {
61       # Library emulates GLES2 using command_buffers.
62       'target_name': 'gles2_implementation_client_side_arrays_no_check',
63       'type': '<(component)',
64       'defines': [
65         'GLES2_IMPL_IMPLEMENTATION',
66         'GLES2_SUPPORT_CLIENT_SIDE_ARRAYS=1',
67         'GLES2_CONFORMANCE_TESTS=1',
68       ],
69       'dependencies': [
70         '../base/base.gyp:base',
71         'command_buffer/command_buffer.gyp:gles2_utils',
72         'gles2_cmd_helper',
73       ],
74       'all_dependent_settings': {
75         'include_dirs': [
76           # For GLES2/gl2.h
77           '<(DEPTH)/third_party/khronos',
78         ],
79       },
80       'sources': [
81         '<@(gles2_implementation_source_files)',
82       ],
83     },
84     {
85       # Stub to expose gles2_implemenation in C instead of C++.
86       # so GLES2 C programs can work with no changes.
87       'target_name': 'gles2_c_lib',
88       'type': '<(component)',
89       'dependencies': [
90         '../base/base.gyp:base',
91         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
92         'command_buffer/command_buffer.gyp:gles2_utils',
93         'command_buffer_client',
94         'gles2_implementation',
95       ],
96       'defines': [
97         'GLES2_C_LIB_IMPLEMENTATION',
98       ],
99       'sources': [
100         '<@(gles2_c_lib_source_files)',
101       ],
102     },
103     {
104       # Same as gles2_c_lib except with no parameter checking. Required for
105       # OpenGL ES 2.0 conformance tests.
106       'target_name': 'gles2_c_lib_nocheck',
107       'type': '<(component)',
108       'defines': [
109         'GLES2_C_LIB_IMPLEMENTATION',
110         'GLES2_CONFORMANCE_TESTS=1',
111       ],
112       'dependencies': [
113         '../base/base.gyp:base',
114         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
115         'command_buffer/command_buffer.gyp:gles2_utils',
116         'command_buffer_client',
117         'gles2_implementation_client_side_arrays_no_check',
118       ],
119       'sources': [
120         '<@(gles2_c_lib_source_files)',
121       ],
122     },
123     {
124       'target_name': 'gpu_unittests',
125       'type': '<(gtest_target_type)',
126       'dependencies': [
127         '../base/base.gyp:base',
128         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
129         '../testing/gmock.gyp:gmock',
130         '../testing/gtest.gyp:gtest',
131         '../third_party/angle/src/build_angle.gyp:translator_glsl',
132         '../ui/gl/gl.gyp:gl',
133         '../ui/ui.gyp:ui',
134         'command_buffer/command_buffer.gyp:gles2_utils',
135         'command_buffer_client',
136         'command_buffer_common',
137         'command_buffer_service',
138         'gpu',
139         'gpu_unittest_utils',
140         'gles2_implementation_client_side_arrays',
141         'gles2_cmd_helper',
142       ],
143       'defines': [
144         'GLES2_C_LIB_IMPLEMENTATION',
145       ],
146       'sources': [
147         '<@(gles2_c_lib_source_files)',
148         'command_buffer/client/client_test_helper.cc',
149         'command_buffer/client/client_test_helper.h',
150         'command_buffer/client/cmd_buffer_helper_test.cc',
151         'command_buffer/client/fenced_allocator_test.cc',
152         'command_buffer/client/gles2_implementation_unittest.cc',
153         'command_buffer/client/mapped_memory_unittest.cc',
154         'command_buffer/client/query_tracker_unittest.cc',
155         'command_buffer/client/program_info_manager_unittest.cc',
156         'command_buffer/client/ring_buffer_test.cc',
157         'command_buffer/client/transfer_buffer_unittest.cc',
158         'command_buffer/common/bitfield_helpers_test.cc',
159         'command_buffer/common/command_buffer_mock.cc',
160         'command_buffer/common/command_buffer_mock.h',
161         'command_buffer/common/command_buffer_shared_test.cc',
162         'command_buffer/common/debug_marker_manager_unittest.cc',
163         'command_buffer/common/gles2_cmd_format_test.cc',
164         'command_buffer/common/gles2_cmd_format_test_autogen.h',
165         'command_buffer/common/gles2_cmd_utils_unittest.cc',
166         'command_buffer/common/id_allocator_test.cc',
167         'command_buffer/common/trace_event.h',
168         'command_buffer/common/unittest_main.cc',
169         'command_buffer/service/buffer_manager_unittest.cc',
170         'command_buffer/service/cmd_parser_test.cc',
171         'command_buffer/service/command_buffer_service_unittest.cc',
172         'command_buffer/service/common_decoder_unittest.cc',
173         'command_buffer/service/context_group_unittest.cc',
174         'command_buffer/service/feature_info_unittest.cc',
175         'command_buffer/service/framebuffer_manager_unittest.cc',
176         'command_buffer/service/gles2_cmd_decoder_unittest.cc',
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       ],
209       'conditions': [
210         ['OS == "android" and gtest_target_type == "shared_library"', {
211           'dependencies': [
212             '../testing/android/native_test.gyp:native_test_native_code',
213           ],
214         }],
215       ],
216     },
217     {
218       'target_name': 'gl_tests',
219       'type': 'executable',
220       'dependencies': [
221         '../base/base.gyp:base',
222         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
223         '../testing/gmock.gyp:gmock',
224         '../testing/gtest.gyp:gtest',
225         '../third_party/angle/src/build_angle.gyp:translator_glsl',
226         '../ui/ui.gyp:ui',
227         'command_buffer/command_buffer.gyp:gles2_utils',
228         'command_buffer_client',
229         'command_buffer_common',
230         'command_buffer_service',
231         'gpu',
232         'gpu_unittest_utils',
233         'gles2_implementation_client_side_arrays',
234         'gles2_cmd_helper',
235         #'gl_unittests',
236       ],
237       'defines': [
238         'GLES2_C_LIB_IMPLEMENTATION',
239         'GL_GLEXT_PROTOTYPES',
240       ],
241       'sources': [
242         '<@(gles2_c_lib_source_files)',
243         'command_buffer/tests/gl_bind_uniform_location_unittest.cc',
244         'command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc',
245         'command_buffer/tests/gl_depth_texture_unittest.cc',
246         'command_buffer/tests/gl_get_error_query_unittests.cc',
247         'command_buffer/tests/gl_manager.cc',
248         'command_buffer/tests/gl_manager.h',
249         'command_buffer/tests/gl_pointcoord_unittest.cc',
250         'command_buffer/tests/gl_tests_main.cc',
251         'command_buffer/tests/gl_test_utils.cc',
252         'command_buffer/tests/gl_test_utils.h',
253         'command_buffer/tests/gl_texture_mailbox_unittests.cc',
254         'command_buffer/tests/gl_unittests.cc',
255         'command_buffer/tests/occlusion_query_unittests.cc',
256       ],
257     },
258     {
259       'target_name': 'gpu_unittest_utils',
260       'type': 'static_library',
261       'dependencies': [
262         '../testing/gmock.gyp:gmock',
263         '../testing/gtest.gyp:gtest',
264         '../ui/gl/gl.gyp:gl',
265       ],
266       'include_dirs': [
267         '..',
268         '<(DEPTH)/third_party/khronos',
269       ],
270       'sources': [
271         'command_buffer/common/gl_mock.h',
272         'command_buffer/common/gl_mock.cc',
273         'command_buffer/service/gles2_cmd_decoder_mock.cc',
274         'command_buffer/service/gles2_cmd_decoder_mock.cc',
275       ],
276     },
277   ],
278   'conditions': [
279     ['component=="static_library"', {
280       'targets': [
281         {
282           'target_name': 'gpu',
283           'type': 'none',
284           'dependencies': [
285             'command_buffer_client',
286             'command_buffer_common',
287             'command_buffer_service',
288             'gles2_cmd_helper',
289             'gpu_ipc',
290           ],
291           'sources': [
292             'gpu_export.h',
293           ],
294         },
295         {
296           'target_name': 'command_buffer_common',
297           'type': 'static_library',
298           'includes': [
299             'command_buffer_common.gypi',
300           ],
301           'dependencies': [
302             '../base/base.gyp:base',
303             'command_buffer/command_buffer.gyp:gles2_utils',
304           ],
305           'export_dependent_settings': [
306             '../base/base.gyp:base',
307           ],
308         },
309         {
310           # Library helps make GLES2 command buffers.
311           'target_name': 'gles2_cmd_helper',
312           'type': 'static_library',
313           'includes': [
314             'gles2_cmd_helper.gypi',
315           ],
316           'dependencies': [
317             'command_buffer_client',
318           ],
319         },
320         {
321           'target_name': 'command_buffer_client',
322           'type': 'static_library',
323           'includes': [
324             'command_buffer_client.gypi',
325           ],
326           'dependencies': [
327             'command_buffer_common',
328           ],
329         },
330         {
331           'target_name': 'command_buffer_service',
332           'type': 'static_library',
333           'includes': [
334             'command_buffer_service.gypi',
335           ],
336           'dependencies': [
337             'command_buffer_common',
338           ],
339         },
340         {
341           'target_name': 'gpu_ipc',
342           'type': 'static_library',
343           'includes': [
344             'gpu_ipc.gypi',
345           ],
346           'dependencies': [
347             'command_buffer_common',
348           ],
349         },
350       ],
351     },
352     { # component != static_library
353       'targets': [
354         {
355           'target_name': 'gpu',
356           'type': 'shared_library',
357           'includes': [
358             'command_buffer_client.gypi',
359             'command_buffer_common.gypi',
360             'command_buffer_service.gypi',
361             'gles2_cmd_helper.gypi',
362             'gpu_ipc.gypi',
363           ],
364           'defines': [
365             'GPU_IMPLEMENTATION',
366           ],
367           'sources': [
368             'gpu_export.h',
369           ],
370           'dependencies': [
371             '../base/base.gyp:base',
372             'command_buffer/command_buffer.gyp:gles2_utils',
373           ],
374         },
375         {
376           'target_name': 'command_buffer_common',
377           'type': 'none',
378           'dependencies': [
379             'gpu',
380           ],
381         },
382         {
383           # Library helps make GLES2 command buffers.
384           'target_name': 'gles2_cmd_helper',
385           'type': 'none',
386           'dependencies': [
387             'gpu',
388           ],
389         },
390         {
391           'target_name': 'command_buffer_client',
392           'type': 'none',
393           'dependencies': [
394             'gpu',
395           ],
396         },
397         {
398           'target_name': 'command_buffer_service',
399           'type': 'none',
400           'dependencies': [
401             'gpu',
402           ],
403         },
404         {
405           'target_name': 'gpu_ipc',
406           'type': 'none',
407           'dependencies': [
408             'gpu',
409           ],
410         },
411       ],
412     }],
413     ['disable_nacl!=1 and OS=="win"', {
414       'targets': [
415         {
416           'target_name': 'gpu_ipc_win64',
417           'type': 'static_library',
418           'variables': {
419             'nacl_win64_target': 1,
420           },
421           'includes': [
422             'gpu_ipc.gypi',
423           ],
424           'dependencies': [
425             '../base/base.gyp:base_nacl_win64',
426             '../ipc/ipc.gyp:ipc_win64',
427           ],
428           'defines': [
429             '<@(nacl_win64_defines)',
430             'GPU_IMPLEMENTATION',
431           ],
432           'configurations': {
433             'Common_Base': {
434               'msvs_target_platform': 'x64',
435             },
436           },
437         },
438       ],
439     }],
440   ],