Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / shared_impl / BUILD.gn
blob25ad904387c771cc96df1c8db3d20c084d42acc3
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 component("shared_impl") {
6   output_name = "ppapi_shared"
8   sources = [
9     "array_var.cc",
10     "array_var.h",
11     "array_writer.cc",
12     "array_writer.h",
13     "callback_tracker.cc",
14     "callback_tracker.h",
15     "compositor_layer_data.cc",
16     "compositor_layer_data.h",
17     "dictionary_var.cc",
18     "dictionary_var.h",
19     "file_growth.cc",
20     "file_growth.h",
21     "file_io_state_manager.cc",
22     "file_io_state_manager.h",
23     "file_path.cc",
24     "file_path.h",
25     "file_ref_create_info.cc",
26     "file_ref_create_info.h",
27     "file_ref_util.cc",
28     "file_ref_util.h",
29     "file_system_util.cc",
30     "file_system_util.h",
31     "file_type_conversion.cc",
32     "file_type_conversion.h",
33     "host_resource.cc",
34     "host_resource.h",
35     "id_assignment.cc",
36     "id_assignment.h",
37     "media_stream_audio_track_shared.cc",
38     "media_stream_audio_track_shared.h",
39     "media_stream_buffer.h",
40     "media_stream_buffer_manager.cc",
41     "media_stream_buffer_manager.h",
42     "media_stream_video_track_shared.cc",
43     "media_stream_video_track_shared.h",
44     "platform_file.cc",
45     "platform_file.h",
46     "ppapi_constants.h",
47     "ppapi_globals.cc",
48     "ppapi_globals.h",
49     "ppapi_nacl_plugin_args.cc",
50     "ppapi_nacl_plugin_args.h",
51     "ppapi_permissions.cc",
52     "ppapi_permissions.h",
53     "ppapi_preferences.cc",
54     "ppapi_preferences.h",
55     "ppapi_switches.cc",
56     "ppapi_switches.h",
57     "ppb_audio_config_shared.cc",
58     "ppb_audio_config_shared.h",
59     "ppb_audio_shared.cc",
60     "ppb_audio_shared.h",
61     "ppb_crypto_shared.cc",
62     "ppb_device_ref_shared.cc",
63     "ppb_device_ref_shared.h",
64     "ppb_gamepad_shared.cc",
65     "ppb_gamepad_shared.h",
66     "ppb_graphics_3d_shared.cc",
67     "ppb_graphics_3d_shared.h",
68     "ppb_image_data_shared.cc",
69     "ppb_image_data_shared.h",
70     "ppb_input_event_shared.cc",
71     "ppb_input_event_shared.h",
72     "ppb_instance_shared.cc",
73     "ppb_instance_shared.h",
74     "ppb_memory_shared.cc",
75     "ppb_message_loop_shared.cc",
76     "ppb_message_loop_shared.h",
77     "ppb_opengles2_shared.cc",
78     "ppb_opengles2_shared.h",
79     "ppb_tcp_socket_shared.cc",
80     "ppb_tcp_socket_shared.h",
81     "ppb_trace_event_impl.cc",
82     "ppb_trace_event_impl.h",
83     "ppb_var_shared.cc",
84     "ppb_var_shared.h",
85     "ppb_view_shared.cc",
86     "ppb_view_shared.h",
87     "ppp_flash_browser_operations_shared.h",
88     "ppp_instance_combined.cc",
89     "ppp_instance_combined.h",
90     "proxy_lock.cc",
91     "proxy_lock.h",
92     "resource.cc",
93     "resource.h",
94     "resource_tracker.cc",
95     "resource_tracker.h",
96     "resource_var.cc",
97     "resource_var.h",
98     "scoped_pp_resource.cc",
99     "scoped_pp_resource.h",
100     "scoped_pp_var.cc",
101     "scoped_pp_var.h",
102     "socket_option_data.cc",
103     "socket_option_data.h",
104     "thread_aware_callback.cc",
105     "thread_aware_callback.h",
106     "time_conversion.cc",
107     "time_conversion.h",
108     "tracked_callback.cc",
109     "tracked_callback.h",
110     "url_request_info_data.cc",
111     "url_request_info_data.h",
112     "url_response_info_data.cc",
113     "url_response_info_data.h",
114     "var.cc",
115     "var.h",
116     "var_tracker.cc",
117     "var_tracker.h",
119     # TODO(viettrungluu): Split these out; it won"t be used in NaCl.
120     "private/net_address_private_impl.cc",
121     "private/net_address_private_impl.h",
122     "private/net_address_private_impl_constants.cc",
123     "private/ppb_x509_certificate_private_shared.cc",
124     "private/ppb_x509_certificate_private_shared.h",
125   ]
127   if (!is_nacl) {
128     sources += [
129       "flash_clipboard_format_registry.cc",
130       "flash_clipboard_format_registry.h",
131       "ppb_url_util_shared.cc",
132       "ppb_url_util_shared.h",
133       "ppb_video_decoder_shared.cc",
134       "ppb_video_decoder_shared.h",
135       "private/ppb_char_set_shared.cc",
136       "private/ppb_char_set_shared.h",
137     ]
138   }
140   # TODO(GYP) this isn't correct. This should only be specifically for the
141   # nacl_win64 build (cross-compiled for a 32-bit Chrome), rather than the
142   # native 64-bit Chrome build.
143   # See also //ppapi/thunk
144   if (is_win && current_cpu == "x64" && current_toolchain != default_toolchain) {
145     sources -= [
146       "ppb_audio_shared.cc",
147       "ppb_graphics_3d_shared.cc",
148       "ppb_opengles2_shared.cc",
149       "private/net_address_private_impl.cc",
150       "private/ppb_host_resolver_shared.cc",
151     ]
152   }
154   configs += [ "//build/config:precompiled_headers" ]
155   defines = [
156     "PPAPI_SHARED_IMPLEMENTATION",
158     # This target goes in the same library as thunk (in GYP they are the same).
159     "PPAPI_THUNK_IMPLEMENTATION",
160   ]
162   deps = [
163     "//base",
164     "//base:i18n",
165     "//base/third_party/dynamic_annotations",
166     "//gpu/command_buffer/client",
167     "//gpu/command_buffer/client:gles2_cmd_helper",
168     "//gpu/command_buffer/client:gles2_implementation",
169     "//gpu/command_buffer/common",
170     "//ipc",
171     "//media:shared_memory_support",
172     "//ppapi/c",
173     "//ppapi/thunk",
174     "//third_party/icu:icuuc",
175     "//url",
176   ]
178   if (!is_nacl) {
179     deps += [
180       "//skia",
181       "//ui/events:events_base",
182       "//ui/surface",
183     ]
184   }
186   if (is_mac) {
187     libs = [ "QuartzCore.framework" ]
188   }
191 source_set("test_support") {
192   testonly = true
194   sources = [
195     "test_globals.cc",
196     "test_globals.h",
197     "test_utils.cc",
198     "test_utils.h",
199   ]
201   deps = [
202     "//base/test:test_support",
203     "//ipc",
204     "//ipc:test_support",
205     "//ppapi/proxy",
206     "//ppapi/shared_impl",
207     "//testing/gmock",
208     "//testing/gtest",
209   ]