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.
4
5{
6  'target_defaults': {
7    'variables': {
8      'ppapi_shared_target': 0,
9    },
10    'target_conditions': [
11      # This part is shared between the targets defined below.
12      ['ppapi_shared_target==1', {
13        'sources': [
14          # Note: sources list duplicated in GN build.
15          'shared_impl/array_var.cc',
16          'shared_impl/array_var.h',
17          'shared_impl/array_writer.cc',
18          'shared_impl/array_writer.h',
19          'shared_impl/callback_tracker.cc',
20          'shared_impl/callback_tracker.h',
21          'shared_impl/compositor_layer_data.cc',
22          'shared_impl/compositor_layer_data.h',
23          'shared_impl/dictionary_var.cc',
24          'shared_impl/dictionary_var.h',
25          'shared_impl/file_io_state_manager.cc',
26          'shared_impl/file_io_state_manager.h',
27          'shared_impl/file_growth.cc',
28          'shared_impl/file_growth.h',
29          'shared_impl/file_path.cc',
30          'shared_impl/file_path.h',
31          'shared_impl/file_ref_create_info.cc',
32          'shared_impl/file_ref_create_info.h',
33          'shared_impl/file_ref_util.cc',
34          'shared_impl/file_ref_util.h',
35          'shared_impl/file_system_util.cc',
36          'shared_impl/file_system_util.h',
37          'shared_impl/file_type_conversion.cc',
38          'shared_impl/file_type_conversion.h',
39          'shared_impl/flash_clipboard_format_registry.cc',
40          'shared_impl/flash_clipboard_format_registry.h',
41          'shared_impl/host_resource.cc',
42          'shared_impl/host_resource.h',
43          'shared_impl/id_assignment.cc',
44          'shared_impl/id_assignment.h',
45          'shared_impl/media_stream_buffer.h',
46          'shared_impl/media_stream_buffer_manager.cc',
47          'shared_impl/media_stream_buffer_manager.h',
48          'shared_impl/media_stream_audio_track_shared.cc',
49          'shared_impl/media_stream_audio_track_shared.h',
50          'shared_impl/media_stream_video_track_shared.cc',
51          'shared_impl/media_stream_video_track_shared.h',
52          'shared_impl/platform_file.cc',
53          'shared_impl/platform_file.h',
54          'shared_impl/ppapi_constants.h',
55          'shared_impl/ppapi_globals.cc',
56          'shared_impl/ppapi_globals.h',
57          'shared_impl/ppapi_nacl_plugin_args.cc',
58          'shared_impl/ppapi_nacl_plugin_args.h',
59          'shared_impl/ppapi_permissions.cc',
60          'shared_impl/ppapi_permissions.h',
61          'shared_impl/ppapi_preferences.cc',
62          'shared_impl/ppapi_preferences.h',
63          'shared_impl/ppapi_switches.cc',
64          'shared_impl/ppapi_switches.h',
65          'shared_impl/ppb_audio_config_shared.cc',
66          'shared_impl/ppb_audio_config_shared.h',
67          'shared_impl/ppb_audio_shared.cc',
68          'shared_impl/ppb_audio_shared.h',
69          'shared_impl/ppb_crypto_shared.cc',
70          'shared_impl/ppb_device_ref_shared.cc',
71          'shared_impl/ppb_device_ref_shared.h',
72          'shared_impl/ppb_gamepad_shared.cc',
73          'shared_impl/ppb_gamepad_shared.h',
74          'shared_impl/ppb_graphics_3d_shared.cc',
75          'shared_impl/ppb_graphics_3d_shared.h',
76          'shared_impl/ppb_image_data_shared.cc',
77          'shared_impl/ppb_image_data_shared.h',
78          'shared_impl/ppb_input_event_shared.cc',
79          'shared_impl/ppb_input_event_shared.h',
80          'shared_impl/ppb_instance_shared.cc',
81          'shared_impl/ppb_instance_shared.h',
82          'shared_impl/ppb_memory_shared.cc',
83          'shared_impl/ppb_message_loop_shared.cc',
84          'shared_impl/ppb_message_loop_shared.h',
85          'shared_impl/ppb_opengles2_shared.cc',
86          'shared_impl/ppb_opengles2_shared.h',
87          'shared_impl/ppb_tcp_socket_shared.cc',
88          'shared_impl/ppb_tcp_socket_shared.h',
89          'shared_impl/ppb_trace_event_impl.cc',
90          'shared_impl/ppb_trace_event_impl.h',
91          'shared_impl/ppb_url_util_shared.cc',
92          'shared_impl/ppb_url_util_shared.h',
93          'shared_impl/ppb_var_shared.cc',
94          'shared_impl/ppb_var_shared.h',
95          'shared_impl/ppb_video_decoder_shared.cc',
96          'shared_impl/ppb_video_decoder_shared.h',
97          'shared_impl/ppb_view_shared.cc',
98          'shared_impl/ppb_view_shared.h',
99          'shared_impl/ppp_flash_browser_operations_shared.h',
100          'shared_impl/ppp_instance_combined.cc',
101          'shared_impl/ppp_instance_combined.h',
102          'shared_impl/proxy_lock.cc',
103          'shared_impl/proxy_lock.h',
104          'shared_impl/resource.cc',
105          'shared_impl/resource.h',
106          'shared_impl/resource_tracker.cc',
107          'shared_impl/resource_tracker.h',
108          'shared_impl/resource_var.cc',
109          'shared_impl/resource_var.h',
110          'shared_impl/scoped_pp_resource.cc',
111          'shared_impl/scoped_pp_resource.h',
112          'shared_impl/scoped_pp_var.cc',
113          'shared_impl/scoped_pp_var.h',
114          'shared_impl/socket_option_data.cc',
115          'shared_impl/socket_option_data.h',
116          'shared_impl/test_harness_utils.cc',
117          'shared_impl/test_harness_utils.h',
118          'shared_impl/thread_aware_callback.cc',
119          'shared_impl/thread_aware_callback.h',
120          'shared_impl/time_conversion.cc',
121          'shared_impl/time_conversion.h',
122          'shared_impl/tracked_callback.cc',
123          'shared_impl/tracked_callback.h',
124          'shared_impl/url_request_info_data.cc',
125          'shared_impl/url_request_info_data.h',
126          'shared_impl/url_response_info_data.cc',
127          'shared_impl/url_response_info_data.h',
128          'shared_impl/var.cc',
129          'shared_impl/var.h',
130          'shared_impl/var_tracker.cc',
131          'shared_impl/var_tracker.h',
132          # TODO(viettrungluu): Split these out; it won't be used in NaCl.
133          'shared_impl/private/net_address_private_impl.cc',
134          'shared_impl/private/net_address_private_impl_constants.cc',
135          'shared_impl/private/net_address_private_impl.h',
136
137          'shared_impl/private/ppb_char_set_shared.cc',
138          'shared_impl/private/ppb_char_set_shared.h',
139          'shared_impl/private/ppb_x509_certificate_private_shared.cc',
140          'shared_impl/private/ppb_x509_certificate_private_shared.h',
141
142          'thunk/enter.cc',
143          'thunk/enter.h',
144          'thunk/ppb_audio_api.h',
145          'thunk/ppb_audio_config_api.h',
146          'thunk/ppb_audio_config_thunk.cc',
147          'thunk/ppb_audio_buffer_api.h',
148          'thunk/ppb_audio_buffer_thunk.cc',
149          'thunk/ppb_audio_input_api.h',
150          'thunk/ppb_audio_input_dev_thunk.cc',
151          'thunk/ppb_audio_thunk.cc',
152          'thunk/ppb_broker_api.h',
153          'thunk/ppb_broker_thunk.cc',
154          'thunk/ppb_browser_font_trusted_api.h',
155          'thunk/ppb_browser_font_trusted_thunk.cc',
156          'thunk/ppb_buffer_api.h',
157          'thunk/ppb_buffer_thunk.cc',
158          'thunk/ppb_char_set_thunk.cc',
159          'thunk/ppb_compositor_api.h',
160          'thunk/ppb_compositor_layer_api.h',
161          'thunk/ppb_compositor_layer_thunk.cc',
162          'thunk/ppb_compositor_thunk.cc',
163          'thunk/ppb_console_thunk.cc',
164          'thunk/ppb_content_decryptor_private_thunk.cc',
165          'thunk/ppb_cursor_control_thunk.cc',
166          'thunk/ppb_device_ref_api.h',
167          'thunk/ppb_device_ref_dev_thunk.cc',
168          'thunk/ppb_ext_crx_file_system_private_thunk.cc',
169          'thunk/ppb_file_chooser_api.h',
170          'thunk/ppb_file_chooser_dev_thunk.cc',
171          'thunk/ppb_file_chooser_trusted_thunk.cc',
172          'thunk/ppb_file_io_api.h',
173          'thunk/ppb_file_io_private_thunk.cc',
174          'thunk/ppb_file_io_thunk.cc',
175          'thunk/ppb_file_mapping_thunk.cc',
176          'thunk/ppb_file_ref_api.h',
177          'thunk/ppb_file_ref_thunk.cc',
178          'thunk/ppb_file_system_api.h',
179          'thunk/ppb_file_system_thunk.cc',
180          'thunk/ppb_find_private_thunk.cc',
181          'thunk/ppb_flash_clipboard_api.h',
182          'thunk/ppb_flash_clipboard_thunk.cc',
183          'thunk/ppb_flash_device_id_thunk.cc',
184          'thunk/ppb_flash_drm_api.h',
185          'thunk/ppb_flash_drm_thunk.cc',
186          'thunk/ppb_flash_file_fileref_thunk.cc',
187          'thunk/ppb_flash_file_modulelocal_thunk.cc',
188          'thunk/ppb_flash_font_file_api.h',
189          'thunk/ppb_flash_font_file_thunk.cc',
190          'thunk/ppb_flash_fullscreen_api.h',
191          'thunk/ppb_flash_fullscreen_thunk.cc',
192          'thunk/ppb_flash_functions_api.h',
193          'thunk/ppb_flash_menu_api.h',
194          'thunk/ppb_flash_menu_thunk.cc',
195          'thunk/ppb_flash_message_loop_api.h',
196          'thunk/ppb_flash_message_loop_thunk.cc',
197          'thunk/ppb_flash_print_thunk.cc',
198          'thunk/ppb_flash_thunk.cc',
199          'thunk/ppb_fullscreen_thunk.cc',
200          'thunk/ppb_gamepad_api.h',
201          'thunk/ppb_gamepad_thunk.cc',
202          'thunk/ppb_gles_chromium_texture_mapping_thunk.cc',
203          'thunk/ppb_graphics_2d_api.h',
204          'thunk/ppb_graphics_2d_thunk.cc',
205          'thunk/ppb_graphics_3d_api.h',
206          'thunk/ppb_graphics_3d_thunk.cc',
207          'thunk/ppb_host_resolver_api.h',
208          'thunk/ppb_host_resolver_thunk.cc',
209          'thunk/ppb_host_resolver_private_api.h',
210          'thunk/ppb_host_resolver_private_thunk.cc',
211          'thunk/ppb_image_data_api.h',
212          'thunk/ppb_image_data_thunk.cc',
213          'thunk/ppb_input_event_api.h',
214          'thunk/ppb_input_event_thunk.cc',
215          'thunk/ppb_input_event_private_thunk.cc',
216          'thunk/ppb_instance_api.h',
217          'thunk/ppb_instance_private_thunk.cc',
218          'thunk/ppb_instance_thunk.cc',
219          'thunk/ppb_isolated_file_system_private_api.h',
220          'thunk/ppb_isolated_file_system_private_thunk.cc',
221          'thunk/ppb_media_stream_audio_track_api.h',
222          'thunk/ppb_media_stream_audio_track_thunk.cc',
223          'thunk/ppb_media_stream_video_track_api.h',
224          'thunk/ppb_media_stream_video_track_thunk.cc',
225          'thunk/ppb_message_loop_api.h',
226          'thunk/ppb_messaging_thunk.cc',
227          'thunk/ppb_mouse_cursor_thunk.cc',
228          'thunk/ppb_mouse_lock_thunk.cc',
229          'thunk/ppb_net_address_api.h',
230          'thunk/ppb_net_address_thunk.cc',
231          'thunk/ppb_network_list_api.h',
232          'thunk/ppb_network_list_thunk.cc',
233          'thunk/ppb_network_monitor_api.h',
234          'thunk/ppb_network_monitor_thunk.cc',
235          'thunk/ppb_network_proxy_api.h',
236          'thunk/ppb_network_proxy_thunk.cc',
237          'thunk/ppb_output_protection_api.h',
238          'thunk/ppb_output_protection_private_thunk.cc',
239          'thunk/ppb_pdf_api.h',
240          'thunk/ppb_pdf_thunk.cc',
241          'thunk/ppb_platform_verification_api.h',
242          'thunk/ppb_platform_verification_private_thunk.cc',
243          'thunk/ppb_printing_api.h',
244          'thunk/ppb_printing_dev_thunk.cc',
245          'thunk/ppb_scrollbar_api.h',
246          'thunk/ppb_scrollbar_thunk.cc',
247          'thunk/ppb_talk_private_api.h',
248          'thunk/ppb_talk_private_thunk.cc',
249          'thunk/ppb_tcp_server_socket_private_api.h',
250          'thunk/ppb_tcp_server_socket_private_thunk.cc',
251          'thunk/ppb_tcp_socket_api.h',
252          'thunk/ppb_tcp_socket_private_api.h',
253          'thunk/ppb_tcp_socket_private_thunk.cc',
254          'thunk/ppb_tcp_socket_thunk.cc',
255          'thunk/ppb_text_input_thunk.cc',
256          'thunk/ppb_truetype_font_api.h',
257          'thunk/ppb_truetype_font_singleton_api.h',
258          'thunk/ppb_truetype_font_dev_thunk.cc',
259          'thunk/ppb_udp_socket_api.h',
260          'thunk/ppb_udp_socket_thunk.cc',
261          'thunk/ppb_udp_socket_private_api.h',
262          'thunk/ppb_udp_socket_private_thunk.cc',
263          'thunk/ppb_uma_private_thunk.cc',
264          'thunk/ppb_uma_singleton_api.h',
265          'thunk/ppb_url_loader_api.h',
266          'thunk/ppb_url_loader_thunk.cc',
267          'thunk/ppb_url_loader_trusted_thunk.cc',
268          'thunk/ppb_url_request_info_api.h',
269          'thunk/ppb_url_request_info_thunk.cc',
270          'thunk/ppb_url_response_info_api.h',
271          'thunk/ppb_url_response_info_thunk.cc',
272          'thunk/ppb_url_util_thunk.cc',
273          'thunk/ppb_var_array_thunk.cc',
274          'thunk/ppb_var_dictionary_thunk.cc',
275          'thunk/ppb_video_capture_api.h',
276          'thunk/ppb_video_capture_thunk.cc',
277          'thunk/ppb_video_decoder_api.h',
278          'thunk/ppb_video_decoder_dev_api.h',
279          'thunk/ppb_video_decoder_dev_thunk.cc',
280          'thunk/ppb_video_decoder_thunk.cc',
281          'thunk/ppb_video_destination_private_api.h',
282          'thunk/ppb_video_destination_private_thunk.cc',
283          'thunk/ppb_video_frame_api.h',
284          'thunk/ppb_video_frame_thunk.cc',
285          'thunk/ppb_video_source_private_api.h',
286          'thunk/ppb_video_source_private_thunk.cc',
287          'thunk/ppb_view_api.h',
288          'thunk/ppb_view_dev_thunk.cc',
289          'thunk/ppb_view_thunk.cc',
290          'thunk/ppb_websocket_api.h',
291          'thunk/ppb_websocket_thunk.cc',
292          'thunk/ppb_widget_api.h',
293          'thunk/ppb_widget_dev_thunk.cc',
294          'thunk/ppb_x509_certificate_private_api.h',
295          'thunk/ppb_x509_certificate_private_thunk.cc',
296          'thunk/ppb_zoom_dev_thunk.cc',
297          'thunk/thunk.h',
298        ],
299        'defines': [
300          'PPAPI_SHARED_IMPLEMENTATION',
301          'PPAPI_THUNK_IMPLEMENTATION',
302        ],
303        'include_dirs': [
304          '..',
305        ],
306        'target_conditions': [
307          ['>(nacl_untrusted_build)==1 or >(nacl_win64_target)==1', {
308            'sources!': [
309              'shared_impl/flash_clipboard_format_registry.cc',
310              'shared_impl/ppb_url_util_shared.cc',
311              'shared_impl/ppb_video_decoder_shared.cc',
312              'shared_impl/ppb_video_capture_shared.cc',
313              'shared_impl/private/ppb_browser_font_trusted_shared.cc',
314              'shared_impl/private/ppb_char_set_shared.cc',
315              'thunk/ppb_audio_input_dev_thunk.cc',
316              'thunk/ppb_broker_thunk.cc',
317              'thunk/ppb_browser_font_trusted_thunk.cc',
318              'thunk/ppb_buffer_thunk.cc',
319              'thunk/ppb_content_decryptor_private_thunk.cc',
320              'thunk/ppb_char_set_thunk.cc',
321              'thunk/ppb_flash_clipboard_thunk.cc',
322              'thunk/ppb_flash_device_id_thunk.cc',
323              'thunk/ppb_flash_drm_thunk.cc',
324              'thunk/ppb_flash_file_fileref_thunk.cc',
325              'thunk/ppb_flash_file_modulelocal_thunk.cc',
326              'thunk/ppb_flash_font_file_thunk.cc',
327              'thunk/ppb_flash_fullscreen_thunk.cc',
328              'thunk/ppb_flash_menu_thunk.cc',
329              'thunk/ppb_flash_message_loop_thunk.cc',
330              'thunk/ppb_flash_thunk.cc',
331              'thunk/ppb_flash_message_loop_thunk.cc',
332              'thunk/ppb_gles_chromium_texture_mapping_thunk.cc',
333              'thunk/ppb_pdf_thunk.cc',
334              'thunk/ppb_platform_verification_private_thunk.cc',
335              'thunk/ppb_scrollbar_thunk.cc',
336              'thunk/ppb_talk_private_thunk.cc',
337              'thunk/ppb_transport_thunk.cc',
338              'thunk/ppb_url_util_thunk.cc',
339              'thunk/ppb_video_capture_thunk.cc',
340              'thunk/ppb_video_decoder_dev_thunk.cc',
341            ],
342          }],
343          # We exclude a few more things for nacl_win64, to avoid pulling in
344          # more dependencies.
345          ['>(nacl_win64_target)==1', {
346            'sources!': [
347              'shared_impl/ppb_audio_shared.cc',
348              'shared_impl/ppb_graphics_3d_shared.cc',
349              'shared_impl/ppb_opengles2_shared.cc',
350              'shared_impl/private/ppb_host_resolver_shared.cc',
351              'shared_impl/private/net_address_private_impl.cc',
352              'thunk/ppb_graphics_3d_thunk.cc',
353              'thunk/ppb_host_resolver_private_thunk.cc',
354              'thunk/ppb_tcp_server_socket_private_thunk.cc',
355              'thunk/ppb_tcp_socket_private_thunk.cc',
356              'thunk/ppb_udp_socket_private_thunk.cc',
357              'thunk/ppb_x509_certificate_private_thunk.cc',
358            ],
359          }],
360        ],
361      }],
362    ],
363  },
364}
365