Work on Windows GN component build.
[chromium-blink-merge.git] / ppapi / thunk / BUILD.gn
blob18096a4fbda303ae6b49c308590020e01617f4c3
1 # Copyright 2015 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.
5 source_set("thunk") {
6   # In GYP this is the same target as shared_impl. In GN these are split apart
7   # for clarity but to get component builds correct, targets must only depend
8   # on these via the shared_impl component.
9   # TODO(brettw) separate these when GYP compat is no longer required.
10   visibility = [ "//ppapi/shared_impl" ]
12   sources = [
13     "enter.cc",
14     "enter.h",
15     "ppb_audio_api.h",
16     "ppb_audio_buffer_api.h",
17     "ppb_audio_buffer_thunk.cc",
18     "ppb_audio_config_api.h",
19     "ppb_audio_config_thunk.cc",
20     "ppb_audio_input_api.h",
21     "ppb_audio_thunk.cc",
22     "ppb_broker_api.h",
23     "ppb_browser_font_trusted_api.h",
24     "ppb_buffer_api.h",
25     "ppb_camera_capabilities_api.h",
26     "ppb_camera_capabilities_private_thunk.cc",
27     "ppb_camera_device_api.h",
28     "ppb_camera_device_private_thunk.cc",
29     "ppb_compositor_api.h",
30     "ppb_compositor_layer_api.h",
31     "ppb_compositor_layer_thunk.cc",
32     "ppb_compositor_thunk.cc",
33     "ppb_console_thunk.cc",
34     "ppb_cursor_control_thunk.cc",
35     "ppb_device_ref_api.h",
36     "ppb_device_ref_dev_thunk.cc",
37     "ppb_ext_crx_file_system_private_thunk.cc",
38     "ppb_file_chooser_api.h",
39     "ppb_file_chooser_dev_thunk.cc",
40     "ppb_file_chooser_trusted_thunk.cc",
41     "ppb_file_io_api.h",
42     "ppb_file_io_private_thunk.cc",
43     "ppb_file_io_thunk.cc",
44     "ppb_file_ref_api.h",
45     "ppb_file_ref_thunk.cc",
46     "ppb_file_system_api.h",
47     "ppb_file_system_thunk.cc",
48     "ppb_find_private_thunk.cc",
49     "ppb_flash_clipboard_api.h",
50     "ppb_flash_drm_api.h",
51     "ppb_flash_font_file_api.h",
52     "ppb_flash_fullscreen_api.h",
53     "ppb_flash_functions_api.h",
54     "ppb_flash_menu_api.h",
55     "ppb_flash_message_loop_api.h",
56     "ppb_flash_print_thunk.cc",
57     "ppb_fullscreen_thunk.cc",
58     "ppb_gamepad_api.h",
59     "ppb_gamepad_thunk.cc",
60     "ppb_graphics_2d_api.h",
61     "ppb_graphics_2d_thunk.cc",
62     "ppb_graphics_3d_api.h",
63     "ppb_graphics_3d_thunk.cc",
64     "ppb_host_resolver_api.h",
65     "ppb_host_resolver_private_api.h",
66     "ppb_host_resolver_private_thunk.cc",
67     "ppb_host_resolver_thunk.cc",
68     "ppb_image_data_api.h",
69     "ppb_image_data_thunk.cc",
70     "ppb_input_event_api.h",
71     "ppb_input_event_private_thunk.cc",
72     "ppb_input_event_thunk.cc",
73     "ppb_instance_api.h",
74     "ppb_instance_private_thunk.cc",
75     "ppb_instance_thunk.cc",
76     "ppb_isolated_file_system_private_api.h",
77     "ppb_isolated_file_system_private_thunk.cc",
78     "ppb_media_stream_audio_track_api.h",
79     "ppb_media_stream_audio_track_thunk.cc",
80     "ppb_media_stream_video_track_api.h",
81     "ppb_media_stream_video_track_thunk.cc",
82     "ppb_message_loop_api.h",
83     "ppb_messaging_thunk.cc",
84     "ppb_mouse_cursor_thunk.cc",
85     "ppb_mouse_lock_thunk.cc",
86     "ppb_net_address_api.h",
87     "ppb_net_address_thunk.cc",
88     "ppb_network_list_api.h",
89     "ppb_network_list_thunk.cc",
90     "ppb_network_monitor_api.h",
91     "ppb_network_monitor_thunk.cc",
92     "ppb_network_proxy_api.h",
93     "ppb_network_proxy_thunk.cc",
94     "ppb_output_protection_api.h",
95     "ppb_output_protection_private_thunk.cc",
96     "ppb_pdf_api.h",
97     "ppb_platform_verification_api.h",
98     "ppb_printing_api.h",
99     "ppb_printing_dev_thunk.cc",
100     "ppb_scrollbar_api.h",
101     "ppb_talk_private_api.h",
102     "ppb_tcp_server_socket_private_api.h",
103     "ppb_tcp_server_socket_private_thunk.cc",
104     "ppb_tcp_socket_api.h",
105     "ppb_tcp_socket_private_api.h",
106     "ppb_tcp_socket_private_thunk.cc",
107     "ppb_tcp_socket_thunk.cc",
108     "ppb_text_input_thunk.cc",
109     "ppb_truetype_font_api.h",
110     "ppb_truetype_font_dev_thunk.cc",
111     "ppb_truetype_font_singleton_api.h",
112     "ppb_udp_socket_api.h",
113     "ppb_udp_socket_private_api.h",
114     "ppb_udp_socket_private_thunk.cc",
115     "ppb_udp_socket_thunk.cc",
116     "ppb_uma_private_thunk.cc",
117     "ppb_uma_singleton_api.h",
118     "ppb_url_loader_api.h",
119     "ppb_url_loader_thunk.cc",
120     "ppb_url_loader_trusted_thunk.cc",
121     "ppb_url_request_info_api.h",
122     "ppb_url_request_info_thunk.cc",
123     "ppb_url_response_info_api.h",
124     "ppb_url_response_info_thunk.cc",
125     "ppb_var_array_thunk.cc",
126     "ppb_var_dictionary_thunk.cc",
127     "ppb_video_capture_api.h",
128     "ppb_video_decoder_api.h",
129     "ppb_video_decoder_dev_api.h",
130     "ppb_video_decoder_thunk.cc",
131     "ppb_video_destination_private_api.h",
132     "ppb_video_destination_private_thunk.cc",
133     "ppb_video_encoder_api.h",
134     "ppb_video_encoder_thunk.cc",
135     "ppb_video_frame_api.h",
136     "ppb_video_frame_thunk.cc",
137     "ppb_video_source_private_api.h",
138     "ppb_video_source_private_thunk.cc",
139     "ppb_view_api.h",
140     "ppb_view_dev_thunk.cc",
141     "ppb_view_thunk.cc",
142     "ppb_websocket_api.h",
143     "ppb_websocket_thunk.cc",
144     "ppb_widget_api.h",
145     "ppb_widget_dev_thunk.cc",
146     "ppb_x509_certificate_private_api.h",
147     "ppb_x509_certificate_private_thunk.cc",
148     "ppb_zoom_dev_thunk.cc",
149     "thunk.h",
150   ]
152   if (!is_nacl) {
153     sources += [
154       "ppb_audio_input_dev_thunk.cc",
155       "ppb_broker_thunk.cc",
156       "ppb_browser_font_trusted_thunk.cc",
157       "ppb_buffer_thunk.cc",
158       "ppb_char_set_thunk.cc",
159       "ppb_content_decryptor_private_thunk.cc",
160       "ppb_flash_clipboard_thunk.cc",
161       "ppb_flash_device_id_thunk.cc",
162       "ppb_flash_drm_thunk.cc",
163       "ppb_flash_file_fileref_thunk.cc",
164       "ppb_flash_file_modulelocal_thunk.cc",
165       "ppb_flash_font_file_thunk.cc",
166       "ppb_flash_fullscreen_thunk.cc",
167       "ppb_flash_menu_thunk.cc",
168       "ppb_flash_message_loop_thunk.cc",
169       "ppb_flash_thunk.cc",
170       "ppb_gles_chromium_texture_mapping_thunk.cc",
171       "ppb_pdf_thunk.cc",
172       "ppb_platform_verification_private_thunk.cc",
173       "ppb_scrollbar_thunk.cc",
174       "ppb_talk_private_thunk.cc",
175       "ppb_url_util_thunk.cc",
176       "ppb_video_capture_thunk.cc",
177       "ppb_video_decoder_dev_thunk.cc",
178     ]
179   }
181   # We exclude a few more things for nacl_win64, to avoid pulling in more
182   # dependencies.
183   # TODO(GYP) this isn't correct. This should only be specifically for the
184   # nacl_win64 build (cross-compiled for a 32-bit Chrome), rather than all
185   # 64-bit builds.
186   # See also //ppapi/shared_impl
187   if (is_win && current_cpu == "x64" && current_toolchain != default_toolchain) {
188     sources += [
189       "ppb_graphics_3d_thunk.cc",
190       "ppb_host_resolver_private_thunk.cc",
191       "ppb_tcp_server_socket_private_thunk.cc",
192       "ppb_tcp_socket_private_thunk.cc",
193       "ppb_udp_socket_private_thunk.cc",
194       "ppb_x509_certificate_private_thunk.cc",
195     ]
196   }
198   defines = [
199     # This target goes in the same library as shared_impl (in GYP they are the
200     # same).
201     "PPAPI_SHARED_IMPLEMENTATION",
203     "PPAPI_THUNK_IMPLEMENTATION",
204   ]