blob: 48bcf44b54537bb7d33e046a51536eb66bb9cd25 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001# 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 'variables': {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00007 'chromium_code': 1,
8
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00009 'variables': {
10 'conditions': [
11 # Enable the multi-process host on Windows by default.
12 ['OS=="win"', {
13 'remoting_multi_process%': 1,
14 }, {
15 'remoting_multi_process%': 0,
16 }],
17 ],
18 },
19
20 'remoting_multi_process%': '<(remoting_multi_process)',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010021 'remoting_rdp_session%': 1,
Torne (Richard Coles)58218062012-11-14 11:43:16 +000022
Ben Murdoch7dbb3d52013-07-17 14:55:54 +010023 'remoting_localize_path': 'tools/build/remoting_localize.py',
24
Torne (Richard Coles)58218062012-11-14 11:43:16 +000025 # The |major|, |build| and |patch| versions are inherited from Chrome.
26 # Since Chrome's |minor| version is always '0', we replace it with a
27 # Chromoting-specific patch version.
28 # Note that we check both the |chrome_version_path| file and the
29 # |remoting_version_path| so that we can override the Chrome version
30 # numbers if needed.
31 'version_py_path': '../chrome/tools/build/version.py',
32 'remoting_version_path': '../remoting/VERSION',
33 'chrome_version_path': '../chrome/VERSION',
34 'version_major':
35 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@MAJOR@")',
36 'version_minor':
37 '<!(python <(version_py_path) -f <(remoting_version_path) -t "@REMOTING_PATCH@")',
38 'version_short':
39 '<(version_major).<(version_minor).'
40 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@BUILD@")',
41 'version_full':
42 '<(version_short).'
43 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@PATCH@")',
44
45 'branding_path': '../remoting/branding_<(branding)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000046
47 'webapp_locale_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/webapp/_locales',
48
Torne (Richard Coles)58218062012-11-14 11:43:16 +000049 'host_plugin_mime_type': 'application/vnd.chromium.remoting-host',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000050
51 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000052 # Remoting host is supported only on Windows, OSX and Linux (with X11).
53 ['OS=="win" or OS=="mac" or (OS=="linux" and chromeos==0 and use_x11==1)', {
54 'enable_remoting_host': 1,
55 }, {
56 'enable_remoting_host': 0,
57 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000058 ['OS=="mac"', {
59 'mac_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_BUNDLE_ID@")',
60 'mac_creator': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_CREATOR@")',
61 'host_plugin_extension': 'plugin',
62 'host_plugin_prefix': '',
63 }],
64 ['os_posix == 1 and OS != "mac" and target_arch == "ia32"', {
65 # linux 32 bit
66 'host_plugin_extension': 'ia32.so',
67 'host_plugin_prefix': 'lib',
68 }],
69 ['os_posix == 1 and OS != "mac" and target_arch == "x64"', {
70 # linux 64 bit
71 'host_plugin_extension': 'x64.so',
72 'host_plugin_prefix': 'lib',
73 }],
74 ['os_posix == 1 and OS != "mac" and target_arch == "arm"', {
75 'host_plugin_extension': 'arm.so',
76 'host_plugin_prefix': 'lib',
77 }],
78 ['os_posix == 1 and OS != "mac" and target_arch == "mipsel"', {
79 'host_plugin_extension': 'mipsel.so',
80 'host_plugin_prefix': 'lib',
81 }],
82 ['OS=="win"', {
83 'host_plugin_extension': 'dll',
84 'host_plugin_prefix': '',
85 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000086 ['OS=="win"', {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000087 # Use auto-generated CLSIDs to make sure that the newly installed COM
88 # classes will be used during/after upgrade even if there are old
89 # instances running already.
90 # The parameter passed to uuidgen.py is ignored, but needed to make sure
91 # that the script will be invoked separately for each CLSID. Otherwise
92 # GYP will reuse the value returned by the first invocation of
93 # the script.
94 'daemon_controller_clsid': '<!(python tools/uuidgen.py 1)',
95 'rdp_desktop_session_clsid': '<!(python tools/uuidgen.py 2)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000096 }],
97 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010098
Ben Murdoch7dbb3d52013-07-17 14:55:54 +010099 'remoting_locales': [
100 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'en-GB', 'es',
101 'es-419', 'et', 'fi', 'fil', 'fr', 'he', 'hi', 'hr', 'hu', 'id',
102 'it', 'ja', 'ko', 'lt', 'lv', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT',
103 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi',
104 'zh-CN', 'zh-TW',
105 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100106 'remoting_locale_files': [
107 # Build the list of .pak files generated from remoting_strings.grd.
108 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x '
109 '<(PRODUCT_DIR) <(remoting_locales))',
110 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000111 'remoting_webapp_locale_files': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100112 # Build the list of .json files generated from remoting_strings.grd.
113 '<!@pymod_do_main(remoting_localize --locale_output '
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100114 '"<(webapp_locale_dir)/@{json_suffix}/messages.json" '
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100115 '--print_only <(remoting_locales))',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000116 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000117 'remoting_webapp_files': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000118 'resources/chromoting16.webp',
119 'resources/chromoting48.webp',
120 'resources/chromoting128.webp',
121 'resources/disclosure_arrow_down.webp',
122 'resources/disclosure_arrow_right.webp',
123 'resources/host_setup_instructions.webp',
124 'resources/icon_cross.webp',
125 'resources/icon_host.webp',
126 'resources/icon_pencil.webp',
127 'resources/icon_warning.webp',
128 'resources/infographic_my_computers.webp',
129 'resources/infographic_remote_assistance.webp',
130 'resources/tick.webp',
131 'webapp/connection_history.css',
132 'webapp/connection_stats.css',
133 'webapp/main.css',
134 'webapp/main.html',
135 'webapp/manifest.json',
136 'webapp/menu_button.css',
137 'webapp/oauth2_callback.html',
138 'webapp/open_sans.css',
139 'webapp/open_sans.woff',
140 'webapp/scale-to-fit.webp',
141 'webapp/spinner.gif',
142 'webapp/toolbar.css',
143 'webapp/wcs_sandbox.html',
144 ],
145 'remoting_webapp_js_files': [
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100146 'webapp/butter_bar.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000147 'webapp/client_plugin.js',
148 'webapp/client_plugin_async.js',
149 'webapp/client_screen.js',
150 'webapp/client_session.js',
151 'webapp/clipboard.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000152 'webapp/connection_history.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000153 'webapp/connection_stats.js',
154 'webapp/cs_oauth2_trampoline.js',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100155 'webapp/cs_third_party_auth_trampoline.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000156 'webapp/error.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000157 'webapp/event_handlers.js',
158 'webapp/format_iq.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000159 'webapp/host.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000160 'webapp/host_controller.js',
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +0100161 'webapp/host_dispatcher.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000162 'webapp/host_list.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000163 'webapp/host_native_messaging.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000164 'webapp/host_screen.js',
165 'webapp/host_session.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000166 'webapp/host_settings.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000167 'webapp/host_setup_dialog.js',
168 'webapp/host_table_entry.js',
Ben Murdoch58e6fbe2013-07-26 10:20:38 +0100169 'webapp/identity.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000170 'webapp/l10n.js',
171 'webapp/log_to_server.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000172 'webapp/menu_button.js',
173 'webapp/oauth2.js',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100174 'webapp/oauth2_api.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000175 'webapp/oauth2_callback.js',
Ben Murdoch9ab55632013-07-18 11:57:30 +0100176 'webapp/paired_client_manager.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000177 'webapp/plugin_settings.js',
178 'webapp/remoting.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000179 'webapp/server_log_entry.js',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100180 'webapp/session_connector.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000181 'webapp/stats_accumulator.js',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100182 'webapp/third_party_host_permissions.js',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100183 'webapp/xhr_proxy.js',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100184 'webapp/third_party_token_fetcher.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000185 'webapp/toolbar.js',
186 'webapp/ui_mode.js',
187 'webapp/wcs.js',
188 'webapp/wcs_loader.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000189 'webapp/wcs_sandbox_container.js',
190 'webapp/wcs_sandbox_content.js',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000191 'webapp/xhr.js',
192 ],
193 'remoting_host_installer_mac_roots': [
194 'host/installer/mac/',
195 '<(DEPTH)/chrome/installer/mac/',
196 ],
197 'remoting_host_installer_mac_files': [
198 'host/installer/mac/do_signing.sh',
199 'host/installer/mac/do_signing.props',
200 'host/installer/mac/ChromotingHost.pkgproj',
201 'host/installer/mac/ChromotingHostService.pkgproj',
202 'host/installer/mac/ChromotingHostUninstaller.pkgproj',
203 'host/installer/mac/LaunchAgents/org.chromium.chromoting.plist',
204 'host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000205 'host/installer/mac/Config/org.chromium.chromoting.conf',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000206 'host/installer/mac/Scripts/keystone_install.sh',
207 'host/installer/mac/Scripts/remoting_postflight.sh',
208 'host/installer/mac/Scripts/remoting_preflight.sh',
209 'host/installer/mac/Keystone/GoogleSoftwareUpdate.pkg',
210 '<(DEPTH)/chrome/installer/mac/pkg-dmg',
211 ],
212 'remoting_host_installer_win_roots': [
213 'host/installer/win/',
214 ],
215 'remoting_host_installer_win_files': [
216 'host/installer/win/chromoting.wxs',
217 'host/installer/win/parameters.json',
218 ],
219 },
220
221 'includes': [
222 '../chrome/js_unittest_vars.gypi',
223 ],
224
225 'target_defaults': {
226 'defines': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100227 'BINARY_CORE=1',
228 'BINARY_DESKTOP=2',
229 'BINARY_HOST_ME2ME=3',
230 'BINARY_HOST_PLUGIN=4',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000231 ],
232 'include_dirs': [
233 '..', # Root of Chrome checkout
234 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000235 'variables': {
236 'win_debug_RuntimeChecks': '0',
237 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000238 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000239 ['OS=="mac" and mac_breakpad==1', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000240 'defines': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000241 'REMOTING_ENABLE_BREAKPAD'
242 ],
243 }],
244 ['OS=="win" and buildtype == "Official"', {
245 'defines': [
246 'REMOTING_ENABLE_BREAKPAD'
247 ],
248 }],
249 ['OS=="win" and remoting_multi_process != 0 and \
250 remoting_rdp_session != 0', {
251 'defines': [
252 'REMOTING_RDP_SESSION',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000253 ],
254 }],
255 ['remoting_multi_process != 0', {
256 'defines': [
257 'REMOTING_MULTI_PROCESS',
258 ],
259 }],
260 ],
261 },
262
263 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000264 ['enable_remoting_host==1', {
265 'targets': [
266 {
267 'target_name': 'remoting_host',
268 'type': 'static_library',
269 'variables': { 'enable_wexit_time_destructors': 1, },
270 'dependencies': [
271 'remoting_base',
272 'remoting_jingle_glue',
273 'remoting_protocol',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100274 'remoting_resources',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000275 '../crypto/crypto.gyp:crypto',
276 '../google_apis/google_apis.gyp:google_apis',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000277 '../ipc/ipc.gyp:ipc',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100278 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000279 ],
280 'defines': [
281 'VERSION=<(version_full)',
282 ],
283 'sources': [
284 'host/audio_capturer.cc',
285 'host/audio_capturer.h',
286 'host/audio_capturer_linux.cc',
287 'host/audio_capturer_linux.h',
288 'host/audio_capturer_mac.cc',
289 'host/audio_capturer_win.cc',
290 'host/audio_capturer_win.h',
291 'host/audio_scheduler.cc',
292 'host/audio_scheduler.h',
293 'host/audio_silence_detector.cc',
294 'host/audio_silence_detector.h',
295 'host/basic_desktop_environment.cc',
296 'host/basic_desktop_environment.h',
297 'host/capture_scheduler.cc',
298 'host/capture_scheduler.h',
299 'host/chromoting_host.cc',
300 'host/chromoting_host.h',
301 'host/chromoting_host_context.cc',
302 'host/chromoting_host_context.h',
303 'host/chromoting_messages.cc',
304 'host/chromoting_messages.h',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100305 'host/chromoting_param_traits.cc',
306 'host/chromoting_param_traits.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000307 'host/client_session.cc',
308 'host/client_session.h',
309 'host/client_session_control.h',
310 'host/clipboard.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000311 'host/clipboard_mac.mm',
312 'host/clipboard_win.cc',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100313 'host/clipboard_x11.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000314 'host/config_file_watcher.cc',
315 'host/config_file_watcher.h',
316 'host/constants_mac.cc',
317 'host/constants_mac.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100318 'host/continue_window.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000319 'host/continue_window.h',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100320 'host/continue_window_aura.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000321 'host/continue_window_gtk.cc',
322 'host/continue_window_mac.mm',
323 'host/continue_window_win.cc',
324 'host/desktop_environment.h',
325 'host/desktop_resizer.h',
326 'host/desktop_resizer_linux.cc',
327 'host/desktop_resizer_mac.cc',
328 'host/desktop_resizer_win.cc',
329 'host/desktop_session_connector.h',
330 'host/desktop_session_proxy.cc',
331 'host/desktop_session_proxy.h',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100332 'host/disconnect_window_aura.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000333 'host/disconnect_window_gtk.cc',
334 'host/disconnect_window_mac.h',
335 'host/disconnect_window_mac.mm',
336 'host/disconnect_window_win.cc',
337 'host/dns_blackhole_checker.cc',
338 'host/dns_blackhole_checker.h',
339 'host/heartbeat_sender.cc',
340 'host/heartbeat_sender.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100341 'host/host_status_sender.cc',
342 'host/host_status_sender.h',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100343 'host/host_change_notification_listener.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000344 'host/host_change_notification_listener.h',
345 'host/host_config.cc',
346 'host/host_config.h',
347 'host/host_exit_codes.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100348 'host/host_exit_codes.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000349 'host/host_secret.cc',
350 'host/host_secret.h',
351 'host/host_status_monitor.h',
352 'host/host_status_observer.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100353 'host/host_window.h',
354 'host/host_window_proxy.cc',
355 'host/host_window_proxy.h',
356 'host/in_memory_host_config.cc',
357 'host/in_memory_host_config.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000358 'host/input_injector.h',
359 'host/input_injector_linux.cc',
360 'host/input_injector_mac.cc',
361 'host/input_injector_win.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000362 'host/ipc_audio_capturer.cc',
363 'host/ipc_audio_capturer.h',
364 'host/ipc_constants.cc',
365 'host/ipc_constants.h',
366 'host/ipc_desktop_environment.cc',
367 'host/ipc_desktop_environment.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000368 'host/ipc_host_event_logger.cc',
369 'host/ipc_host_event_logger.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100370 'host/ipc_input_injector.cc',
371 'host/ipc_input_injector.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000372 'host/ipc_screen_controls.cc',
373 'host/ipc_screen_controls.h',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100374 'host/ipc_util.h',
375 'host/ipc_util_posix.cc',
376 'host/ipc_util_win.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000377 'host/ipc_video_frame_capturer.cc',
378 'host/ipc_video_frame_capturer.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100379 'host/it2me_desktop_environment.cc',
380 'host/it2me_desktop_environment.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000381 'host/json_host_config.cc',
382 'host/json_host_config.h',
383 'host/linux/audio_pipe_reader.cc',
384 'host/linux/audio_pipe_reader.h',
385 'host/linux/x11_util.cc',
386 'host/linux/x11_util.h',
387 'host/linux/x_server_clipboard.cc',
388 'host/linux/x_server_clipboard.h',
389 'host/local_input_monitor.h',
390 'host/local_input_monitor_linux.cc',
391 'host/local_input_monitor_mac.mm',
392 'host/local_input_monitor_win.cc',
393 'host/log_to_server.cc',
394 'host/log_to_server.h',
395 'host/me2me_desktop_environment.cc',
396 'host/me2me_desktop_environment.h',
397 'host/mouse_clamping_filter.cc',
398 'host/mouse_clamping_filter.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100399 'host/pairing_registry_delegate.cc',
Ben Murdocheb525c52013-07-10 11:40:50 +0100400 'host/pairing_registry_delegate.h',
401 'host/pairing_registry_delegate_linux.cc',
402 'host/pairing_registry_delegate_linux.h',
403 'host/pairing_registry_delegate_mac.cc',
404 'host/pairing_registry_delegate_win.cc',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100405 'host/pairing_registry_delegate_win.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000406 'host/pam_authorization_factory_posix.cc',
407 'host/pam_authorization_factory_posix.h',
408 'host/pin_hash.cc',
409 'host/pin_hash.h',
410 'host/policy_hack/policy_watcher.cc',
411 'host/policy_hack/policy_watcher.h',
412 'host/policy_hack/policy_watcher_linux.cc',
413 'host/policy_hack/policy_watcher_mac.mm',
414 'host/policy_hack/policy_watcher_win.cc',
415 'host/register_support_host_request.cc',
416 'host/register_support_host_request.h',
417 'host/remote_input_filter.cc',
418 'host/remote_input_filter.h',
419 'host/resizing_host_observer.cc',
420 'host/resizing_host_observer.h',
421 'host/sas_injector.h',
422 'host/sas_injector_win.cc',
423 'host/screen_controls.h',
424 'host/screen_resolution.cc',
425 'host/screen_resolution.h',
426 'host/server_log_entry.cc',
427 'host/server_log_entry.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000428 'host/service_urls.cc',
429 'host/service_urls.h',
430 'host/session_manager_factory.cc',
431 'host/session_manager_factory.h',
432 'host/signaling_connector.cc',
433 'host/signaling_connector.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100434 'host/token_validator_factory_impl.cc',
435 'host/token_validator_factory_impl.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000436 'host/usage_stats_consent.h',
437 'host/usage_stats_consent_mac.cc',
438 'host/usage_stats_consent_win.cc',
439 'host/video_scheduler.cc',
440 'host/video_scheduler.h',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100441 'host/win/com_security.cc',
442 'host/win/com_security.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000443 'host/win/launch_process_with_token.cc',
444 'host/win/launch_process_with_token.h',
445 'host/win/omaha.cc',
446 'host/win/omaha.h',
447 'host/win/rdp_client.cc',
448 'host/win/rdp_client.h',
449 'host/win/rdp_client_window.cc',
450 'host/win/rdp_client_window.h',
451 'host/win/security_descriptor.cc',
452 'host/win/security_descriptor.h',
453 'host/win/session_desktop_environment.cc',
454 'host/win/session_desktop_environment.h',
455 'host/win/session_input_injector.cc',
456 'host/win/session_input_injector.h',
457 'host/win/window_station_and_desktop.cc',
458 'host/win/window_station_and_desktop.h',
459 'host/win/wts_terminal_monitor.cc',
460 'host/win/wts_terminal_monitor.h',
461 'host/win/wts_terminal_observer.h',
462 ],
463 'conditions': [
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100464 ['OS=="linux"', {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000465 'dependencies': [
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100466 # Always use GTK on Linux, even for Aura builds.
467 #
468 # TODO(lambroslambrou): Once the DisconnectWindow and
469 # ContinueWindow classes have been implemented for Aura,
470 # remove this dependency.
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000471 '../build/linux/system.gyp:gtk',
472 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000473 'link_settings': {
474 'libraries': [
475 '-lX11',
476 '-lXext',
477 '-lXfixes',
478 '-lXtst',
479 '-lXi',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100480 '-lXrandr',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000481 '-lpam',
482 ],
483 },
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100484 }, { # else OS != "linux"
485 'sources!': [
486 'host/continue_window_aura.cc',
487 'host/disconnect_window_aura.cc',
488 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000489 }],
490 ['OS=="mac"', {
491 'sources': [
492 '../third_party/GTM/AppKit/GTMCarbonEvent.h',
493 '../third_party/GTM/AppKit/GTMCarbonEvent.m',
494 '../third_party/GTM/DebugUtils/GTMDebugSelectorValidation.h',
495 '../third_party/GTM/DebugUtils/GTMTypeCasting.h',
496 '../third_party/GTM/Foundation/GTMObjectSingleton.h',
497 '../third_party/GTM/GTMDefines.h',
498 ],
499 'include_dirs': [
500 '../third_party/GTM',
501 '../third_party/GTM/AppKit',
502 '../third_party/GTM/DebugUtils',
503 '../third_party/GTM/Foundation',
504 ],
505 'link_settings': {
506 'libraries': [
507 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
508 'libpam.a',
509 ],
510 },
511 }],
512 ['OS=="win"', {
513 'defines': [
514 '_ATL_NO_EXCEPTIONS',
515 'ISOLATION_AWARE_ENABLED=1',
516 ],
517 'dependencies': [
518 '../sandbox/sandbox.gyp:sandbox',
519 ],
520 'msvs_settings': {
521 'VCCLCompilerTool': {
522 # /MP conflicts with #import directive so we limit the number
523 # of processes to spawn to 1.
524 'AdditionalOptions': ['/MP1'],
525 },
526 },
527 }],
528 ],
529 }, # end of target 'remoting_host'
530
531 {
532 'target_name': 'remoting_me2me_host_static',
533 'type': 'static_library',
534 'variables': { 'enable_wexit_time_destructors': 1, },
535 'dependencies': [
536 '../base/base.gyp:base',
537 '../base/base.gyp:base_i18n',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000538 '../net/net.gyp:net',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100539 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000540 'remoting_base',
541 'remoting_breakpad',
542 'remoting_host',
543 'remoting_host_event_logger',
544 'remoting_host_logging',
545 'remoting_jingle_glue',
546 ],
547 'defines': [
548 'VERSION=<(version_full)',
549 ],
550 'sources': [
551 'host/curtain_mode.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000552 'host/curtain_mode_linux.cc',
553 'host/curtain_mode_mac.cc',
554 'host/curtain_mode_win.cc',
555 'host/posix/signal_handler.cc',
556 'host/posix/signal_handler.h',
557 ],
558 'conditions': [
559 ['os_posix != 1', {
560 'sources/': [
561 ['exclude', '^host/posix/'],
562 ],
563 }],
564 ], # end of 'conditions'
565 }, # end of target 'remoting_me2me_host_static'
566
567 {
568 'target_name': 'remoting_host_keygen',
569 'type': 'executable',
570 'dependencies': [
571 'remoting_base',
572 '../base/base.gyp:base',
573 '../base/base.gyp:base_i18n',
574 '../crypto/crypto.gyp:crypto',
575 ],
576 'sources': [
577 'host/keygen_main.cc',
578 ],
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100579 'conditions': [
580 ['OS=="linux" and linux_use_tcmalloc==1', {
581 'dependencies': [
582 '../base/allocator/allocator.gyp:allocator',
583 ],
584 }],
585 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000586 }, # end of target 'remoting_host_keygen'
587
588 {
589 'target_name': 'remoting_host_setup_base',
590 'type': 'static_library',
591 'variables': { 'enable_wexit_time_destructors': 1, },
592 'dependencies': [
593 '../base/base.gyp:base',
594 '../google_apis/google_apis.gyp:google_apis',
595 'remoting_host',
596 ],
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100597 'defines': [
598 'VERSION=<(version_full)',
599 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000600 'sources': [
601 'host/setup/daemon_controller.h',
602 'host/setup/daemon_controller_linux.cc',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +0100603 'host/setup/daemon_controller_mac.mm',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000604 'host/setup/daemon_controller_win.cc',
605 'host/setup/daemon_installer_win.cc',
606 'host/setup/daemon_installer_win.h',
607 'host/setup/host_starter.cc',
608 'host/setup/host_starter.h',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100609 'host/setup/native_messaging_host.cc',
610 'host/setup/native_messaging_host.h',
611 'host/setup/native_messaging_reader.cc',
612 'host/setup/native_messaging_reader.h',
613 'host/setup/native_messaging_writer.cc',
614 'host/setup/native_messaging_writer.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000615 'host/setup/oauth_helper.cc',
616 'host/setup/oauth_helper.h',
617 'host/setup/pin_validator.cc',
618 'host/setup/pin_validator.h',
Ben Murdoch558790d2013-07-30 15:19:42 +0100619 'host/setup/service_client.cc',
620 'host/setup/service_client.h',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100621 'host/setup/test_util.cc',
622 'host/setup/test_util.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000623 'host/setup/win/auth_code_getter.cc',
624 'host/setup/win/auth_code_getter.h',
625 ],
626 'conditions': [
627 ['OS=="win"', {
628 'dependencies': [
629 '../google_update/google_update.gyp:google_update',
630 'remoting_lib_idl',
631 ],
632 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
633 'msvs_disabled_warnings': [4267, ],
634 }],
635 ],
636 }, # end of target 'remoting_host_setup_base'
637
638 {
639 'target_name': 'remoting_host_plugin',
640 'type': 'loadable_module',
641 'variables': { 'enable_wexit_time_destructors': 1, },
642 'product_extension': '<(host_plugin_extension)',
643 'product_prefix': '<(host_plugin_prefix)',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100644 'defines': [
645 'HOST_PLUGIN_MIME_TYPE=<(host_plugin_mime_type)',
646 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000647 'dependencies': [
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100648 '../base/base.gyp:base_i18n',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100649 '../net/net.gyp:net',
650 '../third_party/npapi/npapi.gyp:npapi',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000651 'remoting_base',
652 'remoting_host',
653 'remoting_host_event_logger',
654 'remoting_host_logging',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100655 'remoting_infoplist_strings',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000656 'remoting_host_setup_base',
657 'remoting_jingle_glue',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100658 'remoting_resources',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000659 ],
660 'sources': [
661 'base/dispatch_win.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000662 'host/plugin/host_log_handler.cc',
663 'host/plugin/host_log_handler.h',
664 'host/plugin/host_plugin.cc',
665 'host/plugin/host_plugin_utils.cc',
666 'host/plugin/host_plugin_utils.h',
667 'host/plugin/host_script_object.cc',
668 'host/plugin/host_script_object.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100669 'host/win/core_resource.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000670 ],
671 'conditions': [
672 ['OS=="mac"', {
673 'mac_bundle': 1,
674 'xcode_settings': {
675 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
676 'INFOPLIST_FILE': 'host/plugin/host_plugin-Info.plist',
677 'INFOPLIST_PREPROCESS': 'YES',
678 # TODO(maruel): Use INFOPLIST_PREFIX_HEADER to remove the need to
679 # duplicate string once
680 # http://code.google.com/p/gyp/issues/detail?id=243 is fixed.
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100681 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'HOST_PLUGIN_MIME_TYPE="<(host_plugin_mime_type)" VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)"',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000682 },
683 # TODO(mark): Come up with a fancier way to do this. It should
684 # only be necessary to list host_plugin-Info.plist once, not the
685 # three times it is listed here.
686 'mac_bundle_resources': [
687 'host/disconnect_window.xib',
688 'host/plugin/host_plugin-Info.plist',
689 'resources/chromoting16.png',
690 'resources/chromoting48.png',
691 'resources/chromoting128.png',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100692 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
693
694 # Localized strings for 'Info.plist'
695 '<!@pymod_do_main(remoting_localize --locale_output '
696 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings" '
697 '--print_only <(remoting_locales))',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000698 ],
699 'mac_bundle_resources!': [
700 'host/plugin/host_plugin-Info.plist',
701 ],
702 'conditions': [
703 ['mac_breakpad==1', {
704 'variables': {
705 # A real .dSYM is needed for dump_syms to operate on.
706 'mac_real_dsym': 1,
707 },
708 }],
709 ], # conditions
710 }], # OS=="mac"
711 [ 'OS=="win"', {
712 'defines': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100713 'BINARY=BINARY_HOST_PLUGIN',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000714 'ISOLATION_AWARE_ENABLED=1',
715 ],
716 'dependencies': [
717 'remoting_lib_idl',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +0100718 'remoting_core_resources',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000719 'remoting_version_resources',
720 ],
721 'include_dirs': [
722 '<(INTERMEDIATE_DIR)',
723 ],
724 'sources': [
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100725 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
726 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000727 'host/plugin/host_plugin.def',
728 ],
Ben Murdoch9ab55632013-07-18 11:57:30 +0100729 'msvs_settings': {
730 'VCManifestTool': {
731 'EmbedManifest': 'true',
732 },
733 'VCLinkerTool': {
734 'AdditionalOptions': [
735 "\"/manifestdependency:type='win32' "
736 "name='Microsoft.Windows.Common-Controls' "
737 "version='6.0.0.0' "
738 "processorArchitecture='*' "
739 "publicKeyToken='6595b64144ccf1df' language='*'\"",
740 ],
741 },
742 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000743 }],
744 ],
745 }, # end of target 'remoting_host_plugin'
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100746 {
747 'target_name': 'remoting_infoplist_strings',
748 'type': 'none',
749 'dependencies': [
750 'remoting_resources',
751 ],
752 'actions': [
753 {
754 'action_name': 'generate_host_plugin_strings',
755 'inputs': [
756 '<(remoting_localize_path)',
757 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
758 ],
759 'outputs': [
760 '<!@pymod_do_main(remoting_localize --locale_output '
761 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings" '
762 '--print_only <(remoting_locales))',
763 ],
764 'action': [
765 'python',
766 '<(remoting_localize_path)',
767 '--locale_dir', '<(webapp_locale_dir)',
768 '--template', 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
769 '--locale_output',
770 '<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings',
771 '--encoding', 'utf-8',
772 '<@(remoting_locales)',
773 ],
774 },
775 {
776 'action_name': 'generate_host_strings',
777 'inputs': [
778 '<(remoting_localize_path)',
779 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
780 ],
781 'outputs': [
782 '<!@pymod_do_main(remoting_localize --locale_output '
783 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings" '
784 '--print_only <(remoting_locales))',
785 ],
786 'action': [
787 'python',
788 '<(remoting_localize_path)',
789 '--locale_dir', '<(webapp_locale_dir)',
790 '--template', 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
791 '--locale_output',
792 '<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings',
793 '--encoding', 'utf-8',
794 '<@(remoting_locales)',
795 ],
796 },
797 {
798 'action_name': 'generate_preference_pane_strings',
799 'inputs': [
800 '<(remoting_localize_path)',
801 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
802 ],
803 'outputs': [
804 '<!@pymod_do_main(remoting_localize --locale_output '
805 '"<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings" '
806 '--print_only <(remoting_locales))',
807 ],
808 'action': [
809 'python',
810 '<(remoting_localize_path)',
811 '--locale_dir', '<(webapp_locale_dir)',
812 '--template', 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
813 '--locale_output',
814 '<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings',
815 '--encoding', 'utf-8',
816 '<@(remoting_locales)',
817 ],
818 },
819 {
820 'action_name': 'generate_uninstaller_strings',
821 'inputs': [
822 '<(remoting_localize_path)',
823 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
824 ],
825 'outputs': [
826 '<!@pymod_do_main(remoting_localize --locale_output '
827 '"<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings" '
828 '--print_only <(remoting_locales))',
829 ],
830 'action': [
831 'python',
832 '<(remoting_localize_path)',
833 '--locale_dir', '<(webapp_locale_dir)',
834 '--template', 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
835 '--locale_output',
836 '<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings',
837 '--encoding', 'utf-8',
838 '<@(remoting_locales)',
839 ],
840 },
841 ],
842 }, # end of target 'remoting_infoplist_strings'
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000843
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100844 {
845 'target_name': 'remoting_native_messaging_host',
846 'type': 'executable',
847 'variables': { 'enable_wexit_time_destructors': 1, },
848 'dependencies': [
849 '../base/base.gyp:base',
850 'remoting_host',
851 'remoting_host_logging',
852 'remoting_host_setup_base',
853 ],
854 'defines': [
855 'VERSION=<(version_full)',
856 ],
857 'sources': [
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100858 'host/setup/native_messaging_host_main.cc',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100859 ],
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +0100860 'conditions': [
861 ['OS=="linux" and linux_use_tcmalloc==1', {
862 'dependencies': [
863 '../base/allocator/allocator.gyp:allocator',
864 ],
865 }],
866 ],
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +0100867 }, # end of target 'remoting_native_messaging_host'
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000868 ], # end of 'targets'
869 }], # 'enable_remoting_host==1'
870
871 ['OS!="win" and enable_remoting_host==1', {
872 'conditions': [
873 ['OS=="linux" and branding=="Chrome" and chromeos==0', {
874 'variables': {
875 'deb_cmd': 'host/installer/linux/build-deb.sh',
876 'deb_filename': 'host/installer/<!(["<(deb_cmd)", "-p", "-s", "<(DEPTH)"])',
877 'packaging_outputs': [
878 '<(deb_filename)',
879 '<!(echo <(deb_filename) | sed -e "s/.deb$/.changes/")',
880 '<(PRODUCT_DIR)/remoting_me2me_host.debug',
881 '<(PRODUCT_DIR)/remoting_start_host.debug',
Ben Murdocheb525c52013-07-10 11:40:50 +0100882 '<(PRODUCT_DIR)/remoting_native_messaging_host.debug',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000883 ]
884 },
885 'targets': [
886 {
887 # Store the installer package(s) into a zip file so there is a
888 # consistent filename to reference for build archiving (i.e. in
889 # FILES.cfg). This also avoids possible conflicts with "wildcard"
890 # package handling in other build/signing scripts.
891 'target_name': 'remoting_me2me_host_archive',
892 'type': 'none',
893 'dependencies': [
894 'remoting_me2me_host_deb_installer',
895 ],
896 'actions': [
897 {
898 #'variables': {
899 # 'deb_cmd': 'host/installer/linux/build-deb.sh',
900 #},
901 'action_name': 'build_linux_installer_zip',
902 'inputs': [
903 '<@(packaging_outputs)',
904 ],
905 'outputs': [
906 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
907 ],
908 'action': [ 'zip', '-j', '-0', '<@(_outputs)', '<@(_inputs)' ],
909 },
910 ],
911 },
912 {
913 'target_name': 'remoting_me2me_host_deb_installer',
914 'type': 'none',
915 'dependencies': [
916 'remoting_me2me_host',
917 'remoting_start_host',
Ben Murdocheb525c52013-07-10 11:40:50 +0100918 'remoting_native_messaging_host',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000919 ],
920 'actions': [
921 {
922 'action_name': 'build_debian_package',
923 'inputs': [
924 '<(deb_cmd)',
925 'host/installer/linux/Makefile',
926 'host/installer/linux/debian/chrome-remote-desktop.init',
927 'host/installer/linux/debian/chrome-remote-desktop.pam',
928 'host/installer/linux/debian/compat',
929 'host/installer/linux/debian/control',
930 'host/installer/linux/debian/copyright',
931 'host/installer/linux/debian/postinst',
932 'host/installer/linux/debian/preinst',
933 'host/installer/linux/debian/rules',
934 ],
935 'outputs': [
936 '<@(packaging_outputs)',
937 ],
938 'action': [ '<(deb_cmd)', '-s', '<(DEPTH)' ],
939 },
940 ],
941 },
942 ],
943 }],
944 ],
945 'targets': [
946 {
947 'target_name': 'remoting_me2me_host',
948 'type': 'executable',
949 'variables': { 'enable_wexit_time_destructors': 1, },
950 'dependencies': [
951 '../base/base.gyp:base',
952 '../base/base.gyp:base_i18n',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000953 '../net/net.gyp:net',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +0100954 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000955 'remoting_base',
956 'remoting_breakpad',
957 'remoting_host',
958 'remoting_host_event_logger',
959 'remoting_host_logging',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100960 'remoting_infoplist_strings',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000961 'remoting_jingle_glue',
962 'remoting_me2me_host_static',
963 ],
964 'defines': [
965 'VERSION=<(version_full)',
966 ],
967 'sources': [
968 'host/host_main.cc',
969 'host/host_main.h',
970 'host/remoting_me2me_host.cc',
971 ],
972 'conditions': [
973 ['OS=="mac"', {
974 'mac_bundle': 1,
975 'variables': {
976 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
977 },
978 'xcode_settings': {
979 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
980 'INFOPLIST_PREPROCESS': 'YES',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100981 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000982 },
983 'mac_bundle_resources': [
984 'host/disconnect_window.xib',
985 'host/remoting_me2me_host.icns',
986 'host/remoting_me2me_host-Info.plist',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +0100987 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
988
989 # Localized strings for 'Info.plist'
990 '<!@pymod_do_main(remoting_localize --locale_output '
991 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings" '
992 '--print_only <(remoting_locales))',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000993 ],
994 'mac_bundle_resources!': [
995 'host/remoting_me2me_host-Info.plist',
996 ],
997 'conditions': [
998 ['mac_breakpad==1', {
999 'variables': {
1000 # A real .dSYM is needed for dump_syms to operate on.
1001 'mac_real_dsym': 1,
1002 },
1003 'copies': [
1004 {
1005 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
1006 'files': [
1007 '<(PRODUCT_DIR)/crash_inspector',
1008 '<(PRODUCT_DIR)/crash_report_sender.app'
1009 ],
1010 },
1011 ],
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +01001012 'dependencies': [
1013 '../breakpad/breakpad.gyp:dump_syms',
1014 ],
1015 'postbuilds': [
1016 {
1017 'postbuild_name': 'Dump Symbols',
1018 'variables': {
1019 'dump_product_syms_path':
1020 'scripts/mac/dump_product_syms',
1021 },
1022 'action': [
1023 '<(dump_product_syms_path)',
1024 '<(version_full)',
1025 ],
1026 }, # end of postbuild 'dump_symbols'
1027 ], # end of 'postbuilds'
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001028 }], # mac_breakpad==1
1029 ], # conditions
1030 }], # OS=mac
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01001031 ['OS=="linux" and linux_use_tcmalloc==1', {
1032 'dependencies': [
1033 '../base/allocator/allocator.gyp:allocator',
1034 ],
1035 }], # OS=linux
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001036 ], # end of 'conditions'
1037 }, # end of target 'remoting_me2me_host'
1038
1039 ], # end of 'targets'
1040 }], # 'OS!="win" and enable_remoting_host==1'
1041
1042
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01001043 ['OS=="linux" and chromeos==0 and enable_remoting_host==1', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001044 'targets': [
1045 # Linux breakpad processing
1046 {
1047 'target_name': 'remoting_linux_symbols',
1048 'type': 'none',
1049 'conditions': [
1050 ['linux_dump_symbols==1', {
1051 'actions': [
1052 {
1053 'action_name': 'dump_symbols',
1054 'variables': {
1055 'plugin_file': '<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
1056 },
1057 'inputs': [
1058 '<(DEPTH)/build/linux/dump_app_syms',
1059 '<(PRODUCT_DIR)/dump_syms',
1060 '<(PRODUCT_DIR)/<(plugin_file)',
1061 ],
1062 'outputs': [
1063 '<(PRODUCT_DIR)/<(plugin_file).breakpad.<(target_arch)',
1064 ],
1065 'action': ['<(DEPTH)/build/linux/dump_app_syms',
1066 '<(PRODUCT_DIR)/dump_syms',
1067 '<(linux_strip_binary)',
1068 '<(PRODUCT_DIR)/<(plugin_file)',
1069 '<@(_outputs)'],
1070 'message': 'Dumping breakpad symbols to <(_outputs)',
1071 'process_outputs_as_sources': 1,
1072 },
1073 ],
1074 'dependencies': [
1075 'remoting_host_plugin',
1076 '../breakpad/breakpad.gyp:dump_syms',
1077 ],
1078 }], # 'linux_dump_symbols==1'
1079 ], # end of 'conditions'
1080 }, # end of target 'linux_symbols'
1081 {
1082 'target_name': 'remoting_start_host',
1083 'type': 'executable',
1084 'dependencies': [
1085 'remoting_host_setup_base',
1086 ],
1087 'sources': [
1088 'host/setup/start_host.cc',
1089 ],
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01001090 'conditions': [
1091 ['linux_use_tcmalloc==1', {
1092 'dependencies': [
1093 '../base/allocator/allocator.gyp:allocator',
1094 ],
1095 }],
1096 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001097 }, # end of target 'remoting_start_host'
1098 ], # end of 'targets'
1099 }], # 'OS=="linux"'
1100
1101 ['OS=="mac"', {
1102 'targets': [
1103 {
1104 'target_name': 'remoting_host_uninstaller',
1105 'type': 'executable',
1106 'mac_bundle': 1,
1107 'variables': {
1108 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_ID@")',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001109 },
1110 'dependencies': [
1111 '<(DEPTH)/base/base.gyp:base',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001112 'remoting_infoplist_strings',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001113 ],
1114 'sources': [
1115 'host/constants_mac.cc',
1116 'host/constants_mac.h',
1117 'host/installer/mac/uninstaller/remoting_uninstaller.h',
1118 'host/installer/mac/uninstaller/remoting_uninstaller.mm',
1119 'host/installer/mac/uninstaller/remoting_uninstaller_app.h',
1120 'host/installer/mac/uninstaller/remoting_uninstaller_app.mm',
1121 ],
1122 'xcode_settings': {
1123 'INFOPLIST_FILE': 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1124 'INFOPLIST_PREPROCESS': 'YES',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001125 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001126 },
1127 'mac_bundle_resources': [
1128 'host/installer/mac/uninstaller/remoting_uninstaller.icns',
1129 'host/installer/mac/uninstaller/remoting_uninstaller.xib',
1130 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001131
1132 # Localized strings for 'Info.plist'
1133 '<!@pymod_do_main(remoting_localize --locale_output '
1134 '"<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings" '
1135 '--print_only <(remoting_locales))',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001136 ],
1137 'mac_bundle_resources!': [
1138 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1139 ],
1140 }, # end of target 'remoting_host_uninstaller'
1141
1142 # This packages up the files needed for the remoting host installer so
1143 # they can be sent off to be signed.
1144 # We don't build an installer here because we don't have signed binaries.
1145 {
1146 'target_name': 'remoting_me2me_host_archive',
1147 'type': 'none',
1148 'dependencies': [
1149 'remoting_host_prefpane',
1150 'remoting_host_uninstaller',
1151 'remoting_me2me_host',
1152 ],
1153 'variables': {
1154 'host_name': '<!(python <(version_py_path) -f <(branding_path) -t "@HOST_PLUGIN_FILE_NAME@")',
1155 'host_service_name': '<!(python <(version_py_path) -f <(branding_path) -t "@DAEMON_FILE_NAME@")',
1156 'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_NAME@")',
1157 'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
1158 },
1159 'actions': [
1160 {
1161 'action_name': 'Zip installer files for signing',
1162 'temp_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting-me2me-host',
1163 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1164 'variables': {
1165 'host_name_nospace': '<!(echo <(host_name) | sed "s/ //g")',
1166 'host_service_name_nospace': '<!(echo <(host_service_name) | sed "s/ //g")',
1167 'host_uninstaller_name_nospace': '<!(echo <(host_uninstaller_name) | sed "s/ //g")',
1168 },
1169 'generated_files': [
1170 '<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
1171 '<(PRODUCT_DIR)/remoting_me2me_host.app',
1172 '<(PRODUCT_DIR)/remoting_host_uninstaller.app',
1173 ],
1174 'generated_files_dst': [
1175 'PreferencePanes/org.chromium.chromoting.prefPane',
1176 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app',
1177 'Applications/<(host_uninstaller_name).app',
1178 ],
1179 'source_files': [
1180 '<@(remoting_host_installer_mac_files)',
1181 ],
1182 'defs': [
1183 'VERSION=<(version_full)',
1184 'VERSION_SHORT=<(version_short)',
1185 'VERSION_MAJOR=<(version_major)',
1186 'VERSION_MINOR=<(version_minor)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001187 'HOST_NAME=<(host_name)',
1188 'HOST_SERVICE_NAME=<(host_service_name)',
1189 'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
1190 'HOST_PKG=<(host_name)',
1191 'HOST_SERVICE_PKG=<(host_service_name_nospace)',
1192 'HOST_UNINSTALLER_PKG=<(host_uninstaller_name_nospace)',
1193 'BUNDLE_ID_HOST=<(bundle_prefix).<(host_name_nospace)',
1194 'BUNDLE_ID_HOST_SERVICE=<(bundle_prefix).<(host_service_name_nospace)',
1195 'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_name_nospace)',
1196 'DMG_VOLUME_NAME=<(host_name) <(version_full)',
1197 'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_full)',
1198 ],
1199 'inputs': [
1200 'host/installer/build-installer-archive.py',
1201 '<@(_source_files)',
1202 ],
1203 'outputs': [
1204 '<(_zip_path)',
1205 ],
1206 'action': [
1207 'python',
1208 'host/installer/build-installer-archive.py',
1209 '<(_temp_dir)',
1210 '<(_zip_path)',
1211 '--source-file-roots',
1212 '<@(remoting_host_installer_mac_roots)',
1213 '--source-files',
1214 '<@(_source_files)',
1215 '--generated-files',
1216 '<@(_generated_files)',
1217 '--generated-files-dst',
1218 '<@(_generated_files_dst)',
1219 '--defs',
1220 '<@(_defs)',
1221 ],
1222 },
1223 ], # actions
1224 }, # end of target 'remoting_me2me_host_archive'
1225
1226 {
1227 'target_name': 'remoting_host_prefpane',
1228 'type': 'loadable_module',
1229 'mac_bundle': 1,
1230 'product_extension': 'prefPane',
1231 'defines': [
1232 'JSON_USE_EXCEPTION=0',
1233 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001234 'dependencies': [
1235 'remoting_infoplist_strings',
1236 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001237 'include_dirs': [
1238 '../third_party/jsoncpp/overrides/include/',
1239 '../third_party/jsoncpp/source/include/',
1240 '../third_party/jsoncpp/source/src/lib_json/',
1241 ],
1242
1243 # These source files are included directly, instead of adding target
1244 # dependencies, because the targets are not yet built for 64-bit on
1245 # Mac OS X - http://crbug.com/125116.
1246 #
1247 # TODO(lambroslambrou): Fix this when Chrome supports building for
1248 # Mac OS X 64-bit - http://crbug.com/128122.
1249 'sources': [
1250 '../third_party/jsoncpp/source/src/lib_json/json_reader.cpp',
1251 '../third_party/jsoncpp/overrides/src/lib_json/json_value.cpp',
1252 '../third_party/jsoncpp/source/src/lib_json/json_writer.cpp',
1253 '../third_party/modp_b64/modp_b64.cc',
1254 'host/constants_mac.cc',
1255 'host/constants_mac.h',
1256 'host/host_config.cc',
1257 'host/mac/me2me_preference_pane.h',
1258 'host/mac/me2me_preference_pane.mm',
1259 'host/mac/me2me_preference_pane_confirm_pin.h',
1260 'host/mac/me2me_preference_pane_confirm_pin.mm',
1261 'host/mac/me2me_preference_pane_disable.h',
1262 'host/mac/me2me_preference_pane_disable.mm',
1263 ],
1264 'link_settings': {
1265 'libraries': [
1266 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1267 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
1268 '$(SDKROOT)/System/Library/Frameworks/PreferencePanes.framework',
1269 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
1270 ],
1271 },
1272 'variables': {
1273 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_ID@")',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001274 },
1275 'xcode_settings': {
1276 'ARCHS': ['i386', 'x86_64'],
1277 'GCC_ENABLE_OBJC_GC': 'supported',
1278 'INFOPLIST_FILE': 'host/mac/me2me_preference_pane-Info.plist',
1279 'INFOPLIST_PREPROCESS': 'YES',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001280 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001281 },
1282 'mac_bundle_resources': [
1283 'host/mac/me2me_preference_pane.xib',
1284 'host/mac/me2me_preference_pane_confirm_pin.xib',
1285 'host/mac/me2me_preference_pane_disable.xib',
1286 'host/mac/me2me_preference_pane-Info.plist',
1287 'resources/chromoting128.png',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001288
1289 # Localized strings for 'Info.plist'
1290 '<!@pymod_do_main(remoting_localize --locale_output '
1291 '"<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings" '
1292 '--print_only <(remoting_locales))',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001293 ],
1294 'mac_bundle_resources!': [
1295 'host/mac/me2me_preference_pane-Info.plist',
1296 ],
1297 'conditions': [
1298 ['mac_breakpad==1', {
1299 'variables': {
1300 # A real .dSYM is needed for dump_syms to operate on.
1301 'mac_real_dsym': 1,
1302 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001303 }], # 'mac_breakpad==1'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001304 ], # conditions
1305 }, # end of target 'remoting_host_prefpane'
1306 ], # end of 'targets'
1307 }], # 'OS=="mac"'
1308
1309 ['OS=="win"', {
1310 'targets': [
1311 {
1312 'target_name': 'remoting_breakpad_tester',
1313 'type': 'executable',
1314 'variables': { 'enable_wexit_time_destructors': 1, },
1315 'dependencies': [
1316 '../base/base.gyp:base',
1317 'remoting_host_logging',
1318 ],
1319 'sources': [
1320 'tools/breakpad_tester_win.cc',
1321 ],
1322 }, # end of target 'remoting_breakpad_tester'
1323 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001324 'target_name': 'remoting_lib_idl',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001325 'type': 'static_library',
1326 'sources': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001327 'host/win/chromoting_lib_idl.templ',
1328 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.h',
1329 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
1330 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_i.c',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001331 ],
1332 # This target exports a hard dependency because dependent targets may
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001333 # include chromoting_lib.h, a generated header.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001334 'hard_dependency': 1,
1335 'msvs_settings': {
1336 'VCMIDLTool': {
1337 'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
1338 },
1339 },
1340 'direct_dependent_settings': {
1341 'include_dirs': [
1342 '<(SHARED_INTERMEDIATE_DIR)',
1343 ],
1344 },
1345 'rules': [
1346 {
1347 'rule_name': 'generate_idl',
1348 'extension': 'templ',
1349 'outputs': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001350 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001351 ],
1352 'action': [
1353 'python',
1354 '<(version_py_path)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001355 '-e', "DAEMON_CONTROLLER_CLSID='<(daemon_controller_clsid)'",
1356 '-e', "RDP_DESKTOP_SESSION_CLSID='<(rdp_desktop_session_clsid)'",
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001357 '<(RULE_INPUT_PATH)',
1358 '<@(_outputs)',
1359 ],
1360 'process_outputs_as_sources': 1,
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001361 'message': 'Generating <@(_outputs)',
1362 'msvs_cygwin_shell': 0,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001363 },
1364 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001365 }, # end of target 'remoting_lib_idl'
1366
1367 # remoting_lib_ps builds the proxy/stub code generated by MIDL (see
1368 # remoting_lib_idl).
1369 {
1370 'target_name': 'remoting_lib_ps',
1371 'type': 'static_library',
1372 'defines': [
1373 # Prepend 'Ps' to the MIDL-generated routines. This includes
1374 # DllGetClassObject, DllCanUnloadNow, DllRegisterServer,
1375 # DllUnregisterServer, and DllMain.
1376 'ENTRY_PREFIX=Ps',
1377 'REGISTER_PROXY_DLL',
1378 ],
1379 'dependencies': [
1380 'remoting_lib_idl',
1381 ],
1382 'sources': [
1383 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.dlldata.c',
1384 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_p.c',
1385 ],
1386 }, # end of target 'remoting_lib_ps'
1387
1388 # Regenerates 'chromoting_lib.rc' (used to embed 'chromoting_lib.tlb'
1389 # into remoting_core.dll's resources) every time
1390 # 'chromoting_lib_idl.templ' changes. Making remoting_core depend on
1391 # both this and 'remoting_lib_idl' targets ensures that the resorces
1392 # are rebuilt every time the type library is updated. GYP alone is
1393 # not smart enough to figure out this dependency on its own.
1394 {
1395 'target_name': 'remoting_lib_rc',
1396 'type': 'none',
1397 'sources': [
1398 'host/win/chromoting_lib_idl.templ',
1399 ],
1400 'hard_dependency': 1,
1401 'direct_dependent_settings': {
1402 'include_dirs': [
1403 '<(SHARED_INTERMEDIATE_DIR)',
1404 ],
1405 },
1406 'rules': [
1407 {
1408 'rule_name': 'generate_rc',
1409 'extension': 'templ',
1410 'outputs': [
1411 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1412 ],
1413 'action': [
1414 'echo 1 typelib "remoting/host/chromoting_lib.tlb" > <@(_outputs)',
1415 ],
1416 'message': 'Generating <@(_outputs)',
1417 'msvs_cygwin_shell': 0,
1418 },
1419 ],
1420 }, # end of target 'remoting_lib_rc'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001421 {
1422 'target_name': 'remoting_configurer',
1423 'type': 'executable',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001424 'defines': [
1425 '_ATL_NO_EXCEPTIONS',
1426 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001427 'dependencies': [
1428 '../base/base.gyp:base',
1429 '../crypto/crypto.gyp:crypto',
1430 'remoting_host',
1431 'remoting_host_setup_base',
1432 ],
1433 'sources': [
1434 'host/branding.cc',
1435 'host/setup/win/host_configurer.cc',
1436 'host/setup/win/host_configurer.rc',
1437 'host/setup/win/host_configurer_window.cc',
1438 'host/setup/win/host_configurer_window.h',
1439 'host/setup/win/host_configurer_resource.h',
1440 'host/setup/win/load_string_from_resource.cc',
1441 'host/setup/win/load_string_from_resource.h',
1442 'host/setup/win/start_host_window.cc',
1443 'host/setup/win/start_host_window.h',
1444 ],
1445 'msvs_settings': {
1446 'VCLinkerTool': {
1447 'AdditionalOptions': [
1448 "\"/manifestdependency:type='win32' "
1449 "name='Microsoft.Windows.Common-Controls' "
1450 "version='6.0.0.0' "
1451 "processorArchitecture='*' "
1452 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1453 ],
1454 # 2 == /SUBSYSTEM:WINDOWS
1455 'SubSystem': '2',
1456 },
1457 },
1458 }, # end of target 'remoting_configurer'
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001459 # The only difference between |remoting_console.exe| and
1460 # |remoting_host.exe| is that the former is a console application.
1461 # |remoting_console.exe| is used for debugging purposes.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001462 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001463 'target_name': 'remoting_console',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001464 'type': 'executable',
1465 'variables': { 'enable_wexit_time_destructors': 1, },
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001466 'defines': [
1467 'BINARY=BINARY_HOST_ME2ME',
1468 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001469 'dependencies': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001470 'remoting_core',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001471 'remoting_version_resources',
1472 ],
1473 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001474 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001475 'host/win/entry_point.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001476 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001477 'msvs_settings': {
Ben Murdoch9ab55632013-07-18 11:57:30 +01001478 'VCManifestTool': {
Ben Murdochfb250652013-07-31 11:42:55 +01001479 'AdditionalManifestFiles': [
1480 'host/win/dpi_aware.manifest',
1481 ],
Ben Murdoch9ab55632013-07-18 11:57:30 +01001482 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001483 'VCLinkerTool': {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001484 'EntryPointSymbol': 'HostEntryPoint',
1485 'IgnoreAllDefaultLibraries': 'true',
1486 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001487 },
1488 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001489 }, # end of target 'remoting_console'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001490 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001491 'target_name': 'remoting_core',
1492 'type': 'shared_library',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001493 'variables': { 'enable_wexit_time_destructors': 1, },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001494 'defines' : [
1495 '_ATL_APARTMENT_THREADED',
1496 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
1497 '_ATL_NO_AUTOMATIC_NAMESPACE',
1498 '_ATL_NO_EXCEPTIONS',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001499 'BINARY=BINARY_CORE',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001500 'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
1501 'RDP_DESKTOP_SESSION_CLSID="{<(rdp_desktop_session_clsid)}"',
1502 'HOST_IMPLEMENTATION',
1503 'ISOLATION_AWARE_ENABLED=1',
1504 'STRICT',
1505 'VERSION=<(version_full)',
1506 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001507 'dependencies': [
1508 '../base/base.gyp:base',
1509 '../base/base.gyp:base_static',
1510 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
1511 '../ipc/ipc.gyp:ipc',
1512 '../net/net.gyp:net',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001513 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001514 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001515 'remoting_base',
1516 'remoting_breakpad',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001517 'remoting_core_resources',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001518 'remoting_host',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001519 'remoting_host_event_logger',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001520 'remoting_host_logging',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001521 'remoting_lib_idl',
1522 'remoting_lib_ps',
1523 'remoting_lib_rc',
1524 'remoting_me2me_host_static',
1525 'remoting_protocol',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001526 'remoting_version_resources',
1527 ],
1528 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001529 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001530 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1531 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001532 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001533 'host/chromoting_messages.cc',
1534 'host/chromoting_messages.h',
1535 'host/config_file_watcher.cc',
1536 'host/config_file_watcher.h',
1537 'host/daemon_process.cc',
1538 'host/daemon_process.h',
1539 'host/daemon_process_win.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001540 'host/desktop_process.cc',
1541 'host/desktop_process.h',
1542 'host/desktop_process_main.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001543 'host/desktop_session.cc',
1544 'host/desktop_session.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001545 'host/desktop_session_agent.cc',
1546 'host/desktop_session_agent.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001547 'host/desktop_session_win.cc',
1548 'host/desktop_session_win.h',
1549 'host/host_exit_codes.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001550 'host/host_exit_codes.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001551 'host/host_export.h',
1552 'host/host_main.cc',
1553 'host/host_main.h',
1554 'host/ipc_constants.cc',
1555 'host/ipc_constants.h',
1556 'host/remoting_me2me_host.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001557 'host/sas_injector.h',
1558 'host/sas_injector_win.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001559 'host/verify_config_window_win.cc',
1560 'host/verify_config_window_win.h',
1561 'host/win/chromoting_module.cc',
1562 'host/win/chromoting_module.h',
1563 'host/win/core.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001564 'host/win/core_resource.h',
1565 'host/win/elevated_controller.cc',
1566 'host/win/elevated_controller.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001567 'host/win/host_service.cc',
1568 'host/win/host_service.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001569 'host/win/omaha.cc',
1570 'host/win/omaha.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001571 'host/win/rdp_desktop_session.cc',
1572 'host/win/rdp_desktop_session.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001573 'host/win/unprivileged_process_delegate.cc',
1574 'host/win/unprivileged_process_delegate.h',
1575 'host/win/worker_process_launcher.cc',
1576 'host/win/worker_process_launcher.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001577 'host/win/wts_session_process_delegate.cc',
1578 'host/win/wts_session_process_delegate.h',
1579 'host/worker_process_ipc_delegate.h',
1580 ],
1581 'msvs_settings': {
Ben Murdoch9ab55632013-07-18 11:57:30 +01001582 'VCManifestTool': {
1583 'EmbedManifest': 'true',
1584 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001585 'VCLinkerTool': {
1586 'AdditionalDependencies': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001587 'comctl32.lib',
1588 'rpcns4.lib',
1589 'rpcrt4.lib',
1590 'uuid.lib',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001591 'wtsapi32.lib',
1592 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001593 'AdditionalOptions': [
Ben Murdoch9ab55632013-07-18 11:57:30 +01001594 "\"/manifestdependency:type='win32' "
1595 "name='Microsoft.Windows.Common-Controls' "
1596 "version='6.0.0.0' "
1597 "processorArchitecture='*' "
1598 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1599
1600 # Export the proxy/stub entry points. Note that the generated
1601 # routines have 'Ps' prefix to avoid conflicts with our own
1602 # DllMain().
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001603 '/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE',
1604 '/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE',
1605 '/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE',
1606 '/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE',
1607 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001608 },
1609 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001610 }, # end of target 'remoting_core'
1611 {
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001612 'target_name': 'remoting_core_resources',
1613 'type': 'none',
1614 'dependencies': [
1615 'remoting_resources',
1616 ],
1617 'hard_dependency': 1,
1618 'direct_dependent_settings': {
1619 'include_dirs': [
1620 '<(SHARED_INTERMEDIATE_DIR)',
1621 ],
1622 },
1623 'sources': [
1624 'host/win/core.rc.jinja2'
1625 ],
1626 'rules': [
1627 {
1628 'rule_name': 'version',
1629 'extension': 'jinja2',
1630 'outputs': [
1631 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc'
1632 ],
1633 'action': [
1634 'python',
1635 '<(remoting_localize_path)',
1636 '--locale_dir', '<(webapp_locale_dir)',
1637 '--template', '<(RULE_INPUT_PATH)',
1638 '--output', '<@(_outputs)',
1639 '<@(remoting_locales)',
1640 ],
1641 'message': 'Localizing the dialogs and strings'
1642 },
1643 ],
1644 }, # end of target 'remoting_core_resources'
1645 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001646 'target_name': 'remoting_desktop',
1647 'type': 'executable',
1648 'variables': { 'enable_wexit_time_destructors': 1, },
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001649 'defines': [
1650 'BINARY=BINARY_DESKTOP',
1651 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001652 'dependencies': [
1653 'remoting_core',
1654 'remoting_version_resources',
1655 ],
1656 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001657 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001658 'host/win/entry_point.cc',
1659 ],
1660 'msvs_settings': {
Ben Murdoch9ab55632013-07-18 11:57:30 +01001661 'VCManifestTool': {
Ben Murdochfb250652013-07-31 11:42:55 +01001662 'AdditionalManifestFiles': [
1663 'host/win/dpi_aware.manifest',
1664 ],
Ben Murdoch9ab55632013-07-18 11:57:30 +01001665 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001666 'VCLinkerTool': {
Ben Murdoch9ab55632013-07-18 11:57:30 +01001667 'EnableUAC': 'true',
1668 # Add 'level="requireAdministrator" uiAccess="true"' to
1669 # the manifest only for the official builds because it requires
1670 # the binary to be signed to work.
1671 'conditions': [
1672 ['buildtype == "Official"', {
1673 'UACExecutionLevel': 2,
1674 'UACUIAccess': 'true',
1675 }],
1676 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001677 'EntryPointSymbol': 'HostEntryPoint',
1678 'IgnoreAllDefaultLibraries': 'true',
1679 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1680 },
1681 },
1682 }, # end of target 'remoting_desktop'
1683 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001684 'target_name': 'remoting_host_exe',
1685 'product_name': 'remoting_host',
1686 'type': 'executable',
1687 'variables': { 'enable_wexit_time_destructors': 1, },
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001688 'defines': [
1689 'BINARY=BINARY_HOST_ME2ME',
1690 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001691 'dependencies': [
1692 'remoting_core',
1693 'remoting_version_resources',
1694 ],
1695 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001696 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001697 'host/win/entry_point.cc',
1698 ],
1699 'msvs_settings': {
Ben Murdoch9ab55632013-07-18 11:57:30 +01001700 'VCManifestTool': {
Ben Murdochfb250652013-07-31 11:42:55 +01001701 'AdditionalManifestFiles': [
1702 'host/win/dpi_aware.manifest',
1703 ],
Ben Murdoch9ab55632013-07-18 11:57:30 +01001704 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001705 'VCLinkerTool': {
1706 'EntryPointSymbol': 'HostEntryPoint',
1707 'IgnoreAllDefaultLibraries': 'true',
1708 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
1709 'OutputFile': '$(OutDir)\\remoting_host.exe',
1710 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1711 },
1712 },
1713 }, # end of target 'remoting_host_exe'
1714 {
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001715 'target_name': 'remoting_host_messages',
1716 'type': 'none',
1717 'dependencies': [
1718 'remoting_resources',
1719 ],
1720 'hard_dependency': 1,
1721 'direct_dependent_settings': {
1722 'include_dirs': [
1723 '<(SHARED_INTERMEDIATE_DIR)',
1724 ],
1725 },
1726 'sources': [
1727 'host/win/host_messages.mc.jinja2'
1728 ],
1729 'rules': [
1730 {
1731 'rule_name': 'localize',
1732 'extension': 'jinja2',
1733 'outputs': [
1734 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.mc',
1735 ],
1736 'action': [
1737 'python',
1738 '<(remoting_localize_path)',
1739 '--locale_dir', '<(webapp_locale_dir)',
1740 '--template', '<(RULE_INPUT_PATH)',
1741 '--output', '<@(_outputs)',
1742 '<@(remoting_locales)',
1743 ],
1744 'message': 'Localizing the event log messages'
1745 },
1746 ],
1747 }, # end of target 'remoting_host_messages'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001748
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001749 # Generates localized the version information resources for the Windows
1750 # binaries.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001751 # The substitution strings are taken from:
1752 # - build/util/LASTCHANGE - the last source code revision.
1753 # - chrome/VERSION - the major, build & patch versions.
1754 # - remoting/VERSION - the chromoting patch version (and overrides
1755 # for chrome/VERSION).
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001756 # - translated webapp strings
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001757 {
1758 'target_name': 'remoting_version_resources',
1759 'type': 'none',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001760 'dependencies': [
1761 'remoting_resources',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001762 ],
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001763 'hard_dependency': 1,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001764 'direct_dependent_settings': {
1765 'include_dirs': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001766 '<(SHARED_INTERMEDIATE_DIR)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001767 ],
1768 },
1769 'sources': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001770 'host/win/version.rc.jinja2'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001771 ],
1772 'rules': [
1773 {
1774 'rule_name': 'version',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001775 'extension': 'jinja2',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001776 'variables': {
1777 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001778 },
1779 'inputs': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001780 '<(chrome_version_path)',
1781 '<(lastchange_path)',
1782 '<(remoting_version_path)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001783 ],
1784 'outputs': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001785 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001786 ],
1787 'action': [
1788 'python',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001789 '<(remoting_localize_path)',
1790 '--variables', '<(chrome_version_path)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001791 # |remoting_version_path| must be after |chrome_version_path|
1792 # because it can contain overrides for the version numbers.
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001793 '--variables', '<(remoting_version_path)',
1794 '--variables', '<(lastchange_path)',
1795 '--locale_dir', '<(webapp_locale_dir)',
1796 '--template', '<(RULE_INPUT_PATH)',
1797 '--output', '<@(_outputs)',
1798 '<@(remoting_locales)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001799 ],
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001800 'message': 'Localizing the version information'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001801 },
1802 ],
1803 }, # end of target 'remoting_version_resources'
1804 ], # end of 'targets'
1805 }], # 'OS=="win"'
1806
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001807 ['OS=="android"', {
1808 'targets': [
1809 {
1810 'target_name': 'remoting_client_jni',
1811 'type': 'shared_library',
1812 'dependencies': [
1813 'remoting_base',
1814 'remoting_client',
1815 'remoting_jingle_glue',
1816 'remoting_protocol',
1817 '../google_apis/google_apis.gyp:google_apis',
1818 ],
1819 'sources': [
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001820 'client/jni/android_keymap.cc',
1821 'client/jni/android_keymap.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001822 'client/jni/chromoting_jni_instance.cc',
1823 'client/jni/chromoting_jni_instance.h',
Ben Murdochbbcdd452013-07-25 10:06:34 +01001824 'client/jni/chromoting_jni_runtime.cc',
1825 'client/jni/chromoting_jni_runtime.h',
Ben Murdoch9ab55632013-07-18 11:57:30 +01001826 'client/jni/jni_frame_consumer.cc',
1827 'client/jni/jni_frame_consumer.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001828 'client/jni/jni_interface.cc',
1829 ],
1830 }, # end of target 'remoting_client_jni'
Ben Murdochca12bfa2013-07-23 11:17:05 +01001831 {
1832 'target_name': 'remoting_android_resources',
1833 'type': 'none',
1834 'copies': [
1835 {
1836 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/drawable',
1837 'files': [
1838 'resources/chromoting128.png',
1839 'resources/icon_host.png',
1840 ],
1841 },
1842 {
1843 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/layout',
1844 'files': [
1845 'resources/layout/main.xml',
1846 'resources/layout/host.xml',
Ben Murdochbb1529c2013-08-08 10:24:53 +01001847 'resources/layout/pin_dialog.xml',
Ben Murdochca12bfa2013-07-23 11:17:05 +01001848 ],
1849 },
1850 {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001851 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/menu',
1852 'files': [
1853 'resources/menu/chromoting_actionbar.xml',
1854 'resources/menu/desktop_actionbar.xml',
1855 ],
1856 },
1857 {
Ben Murdochca12bfa2013-07-23 11:17:05 +01001858 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/values',
1859 'files': [
1860 'resources/strings.xml',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001861 'resources/styles.xml',
Ben Murdochca12bfa2013-07-23 11:17:05 +01001862 ],
1863 },
1864 ],
1865 }, # end of target 'remoting_android_resources'
1866 {
1867 'target_name': 'remoting_apk',
1868 'type': 'none',
1869 'dependencies': [
1870 'remoting_client_jni',
1871 'remoting_android_resources',
1872 ],
1873 'variables': {
1874 'apk_name': 'Chromoting',
1875 'manifest_package_name': 'org.chromium.chromoting',
1876 'native_lib_target': 'libremoting_client_jni',
1877 'java_in_dir': 'android/java',
1878 'additional_res_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ],
1879 'additional_input_paths': [
1880 'android/java/src/org/chromium/chromoting/Chromoting.java',
1881 'android/java/src/org/chromium/chromoting/Desktop.java',
1882 'android/java/src/org/chromium/chromoting/DesktopView.java',
1883 'android/java/src/org/chromium/chromoting/jni/JniInterface.java',
1884 '<(PRODUCT_DIR)/obj/remoting/remoting_android_resources.actions_rules_copies.stamp',
1885 ],
1886 },
1887 'includes': [ '../build/java_apk.gypi' ],
1888 }, # end of target 'remoting_apk'
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01001889 ], # end of 'targets'
1890 }], # 'OS=="android"'
1891
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001892 # The host installation is generated only if WiX is available. If
1893 # component build is used the produced installation will not work due to
1894 # missing DLLs. We build it anyway to make sure the GYP scripts are executed
1895 # by the bots.
1896 ['OS == "win" and wix_exists == "True" and sas_dll_exists == "True"', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001897 'targets': [
1898 {
1899 'target_name': 'remoting_host_installation',
1900 'type': 'none',
1901 'dependencies': [
1902 'remoting_me2me_host_archive',
1903 ],
1904 'sources': [
1905 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1906 ],
1907 'outputs': [
1908 '<(PRODUCT_DIR)/chromoting.msi',
1909 ],
1910 'rules': [
1911 {
1912 'rule_name': 'zip2msi',
1913 'extension': 'zip',
1914 'inputs': [
1915 'tools/zip2msi.py',
1916 ],
1917 'outputs': [
1918 '<(PRODUCT_DIR)/chromoting.msi',
1919 ],
1920 'msvs_cygwin_shell': 0,
1921 'action': [
1922 'python', 'tools/zip2msi.py',
1923 '--wix_path', '<(wix_path)',
1924 '--intermediate_dir', '<(INTERMEDIATE_DIR)/installation',
1925 '<(RULE_INPUT_PATH)',
1926 '<@(_outputs)',
1927 ],
1928 'message': 'Generating <@(_outputs)',
1929 },
1930 ],
1931 }, # end of target 'remoting_host_installation'
1932
1933 {
1934 'target_name': 'remoting_me2me_host_archive',
1935 'type': 'none',
1936 'dependencies': [
Ben Murdoch9ab55632013-07-18 11:57:30 +01001937 'remoting_core',
1938 'remoting_desktop',
1939 'remoting_host_exe',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001940 ],
1941 'compiled_inputs': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001942 '<(PRODUCT_DIR)/remoting_core.dll',
1943 '<(PRODUCT_DIR)/remoting_desktop.exe',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001944 '<(PRODUCT_DIR)/remoting_host.exe',
1945 ],
1946 'compiled_inputs_dst': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001947 'files/remoting_core.dll',
1948 'files/remoting_desktop.exe',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001949 'files/remoting_host.exe',
1950 ],
1951 'conditions': [
1952 ['buildtype == "Official"', {
1953 'defs': [
1954 'OFFICIAL_BUILD=1',
1955 ],
1956 }, { # else buildtype != "Official"
1957 'defs': [
1958 'OFFICIAL_BUILD=0',
1959 ],
1960 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001961 ],
1962 'defs': [
1963 'BRANDING=<(branding)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001964 'DAEMON_CONTROLLER_CLSID={<(daemon_controller_clsid)}',
1965 'RDP_DESKTOP_SESSION_CLSID={<(rdp_desktop_session_clsid)}',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001966 'VERSION=<(version_full)',
1967 ],
1968 'generated_files': [
1969 '<@(_compiled_inputs)',
1970 '<(sas_dll_path)/sas.dll',
1971 'resources/chromoting.ico',
1972 ],
1973 'generated_files_dst': [
1974 '<@(_compiled_inputs_dst)',
1975 'files/sas.dll',
1976 'files/chromoting.ico',
1977 ],
1978 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1979 'outputs': [
1980 '<(_zip_path)',
1981 ],
1982 'actions': [
1983 {
1984 'action_name': 'Zip installer files for signing',
1985 'temp_dir': '<(INTERMEDIATE_DIR)/installation',
1986 'source_files': [
1987 '<@(remoting_host_installer_win_files)',
1988 ],
1989 'inputs': [
1990 '<@(_compiled_inputs)',
1991 '<(sas_dll_path)/sas.dll',
1992 '<@(_source_files)',
1993 'host/installer/build-installer-archive.py',
1994 'resources/chromoting.ico',
1995 ],
1996 'outputs': [
1997 '<(_zip_path)',
1998 ],
1999 'action': [
2000 'python',
2001 'host/installer/build-installer-archive.py',
2002 '<(_temp_dir)',
2003 '<(_zip_path)',
2004 '--source-file-roots',
2005 '<@(remoting_host_installer_win_roots)',
2006 '--source-files',
2007 '<@(_source_files)',
2008 '--generated-files',
2009 '<@(_generated_files)',
2010 '--generated-files-dst',
2011 '<@(_generated_files_dst)',
2012 '--defs',
2013 '<@(_defs)',
2014 ],
2015 },
2016 ], # actions
2017 }, # end of target 'remoting_me2me_host_archive'
2018 ], # end of 'targets'
2019 }], # '<(wix_path) != ""'
2020
2021 ], # end of 'conditions'
2022
2023 'targets': [
2024 {
2025 'target_name': 'remoting_breakpad',
2026 'type': 'static_library',
2027 'variables': { 'enable_wexit_time_destructors': 1, },
2028 'dependencies': [
2029 '../base/base.gyp:base',
2030 ],
2031 'sources': [
2032 'base/breakpad.h',
2033 'base/breakpad_linux.cc',
2034 'base/breakpad_mac.mm',
2035 'base/breakpad_win.cc',
2036 ],
2037 'conditions': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002038 ['OS=="mac"', {
2039 'dependencies': [
2040 '../breakpad/breakpad.gyp:breakpad',
2041 ],
2042 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002043 ['OS=="win"', {
2044 'dependencies': [
2045 '../breakpad/breakpad.gyp:breakpad_handler',
2046 ],
2047 }],
2048 ],
2049 }, # end of target 'remoting_breakpad'
2050
2051 {
2052 'target_name': 'remoting_client_plugin',
2053 'type': 'static_library',
2054 'variables': { 'enable_wexit_time_destructors': 1, },
2055 'defines': [
2056 'HAVE_STDINT_H', # Required by on2_integer.h
2057 ],
2058 'dependencies': [
2059 'remoting_base',
2060 'remoting_client',
2061 'remoting_jingle_glue',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002062 '../net/net.gyp:net',
2063 '../ppapi/ppapi.gyp:ppapi_cpp_objects',
2064 '../skia/skia.gyp:skia',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002065 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002066 ],
2067 'sources': [
2068 'client/plugin/chromoting_instance.cc',
2069 'client/plugin/chromoting_instance.h',
2070 'client/plugin/mac_key_event_processor.cc',
2071 'client/plugin/mac_key_event_processor.h',
2072 'client/plugin/pepper_audio_player.cc',
2073 'client/plugin/pepper_audio_player.h',
2074 'client/plugin/pepper_entrypoints.cc',
2075 'client/plugin/pepper_entrypoints.h',
2076 'client/plugin/pepper_input_handler.cc',
2077 'client/plugin/pepper_input_handler.h',
2078 'client/plugin/pepper_network_manager.cc',
2079 'client/plugin/pepper_network_manager.h',
2080 'client/plugin/pepper_packet_socket_factory.cc',
2081 'client/plugin/pepper_packet_socket_factory.h',
2082 'client/plugin/pepper_plugin_thread_delegate.cc',
2083 'client/plugin/pepper_plugin_thread_delegate.h',
2084 'client/plugin/pepper_port_allocator.cc',
2085 'client/plugin/pepper_port_allocator.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002086 'client/plugin/pepper_token_fetcher.cc',
2087 'client/plugin/pepper_token_fetcher.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002088 'client/plugin/pepper_view.cc',
2089 'client/plugin/pepper_view.h',
2090 'client/plugin/pepper_util.cc',
2091 'client/plugin/pepper_util.h',
Torne (Richard Coles)7d4cd472013-06-19 11:58:07 +01002092 'client/plugin/pepper_signal_strategy.cc',
2093 'client/plugin/pepper_signal_strategy.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002094 ],
2095 }, # end of target 'remoting_client_plugin'
2096
2097 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002098 'target_name': 'remoting_host_event_logger',
2099 'type': 'static_library',
2100 'variables': { 'enable_wexit_time_destructors': 1, },
2101 'dependencies': [
2102 'remoting_base',
2103 ],
2104 'sources': [
2105 'host/host_event_logger.h',
2106 'host/host_event_logger_posix.cc',
2107 'host/host_event_logger_win.cc',
2108 ],
2109 'conditions': [
2110 ['OS=="win"', {
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002111 'dependencies': [
2112 'remoting_host_messages',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002113 ],
2114 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002115 'sources': [
2116 '<(_output_dir)/remoting_host_messages.mc',
2117 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002118 'include_dirs': [
2119 '<(_output_dir)',
2120 ],
2121 'direct_dependent_settings': {
2122 'include_dirs': [
2123 '<(_output_dir)',
2124 ],
2125 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002126 'rules': [
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002127 # Rule to run the message compiler.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002128 {
2129 'rule_name': 'message_compiler',
2130 'extension': 'mc',
2131 'inputs': [ ],
2132 'outputs': [
2133 '<(_output_dir)/remoting_host_messages.h',
2134 '<(_output_dir)/remoting_host_messages.rc',
2135 ],
2136 'msvs_cygwin_shell': 0,
2137 'action': [
2138 'mc.exe',
2139 '-h', '<(_output_dir)',
2140 '-r', '<(_output_dir)/.',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002141 '-u',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002142 '<(RULE_INPUT_PATH)',
2143 ],
2144 'process_outputs_as_sources': 1,
2145 'message': 'Running message compiler on <(RULE_INPUT_PATH).',
2146 },
2147 ],
2148 }],
2149 ], # end of 'conditions'
2150 }, # end of target 'remoting_host_event_logger'
2151
2152 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002153 'target_name': 'remoting_webapp',
2154 'type': 'none',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002155 'variables': {
2156 'remoting_webapp_patch_files': [
2157 'webapp/appsv2.patch',
2158 ],
2159 'remoting_webapp_apps_v2_js_files': [
2160 'webapp/background.js',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002161 ],
2162 },
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002163 'dependencies': [
2164 'remoting_resources',
2165 'remoting_host_plugin',
2166 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002167 'locale_files': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002168 '<@(remoting_webapp_locale_files)',
2169 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002170 'conditions': [
2171 ['enable_remoting_host==1', {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002172 'locale_files': [
2173 '<@(remoting_locale_files)',
2174 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002175 'variables': {
2176 'plugin_path': '<(PRODUCT_DIR)/<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
2177 },
2178 }, {
2179 'variables': {
2180 'plugin_path': '',
2181 },
2182 'dependencies!': [
2183 'remoting_host_plugin',
2184 ],
2185 }],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002186 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002187 'actions': [
2188 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002189 'action_name': 'Build Remoting WebApp',
2190 'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002191 'zip_path': '<(PRODUCT_DIR)/remoting-webapp.zip',
2192 'inputs': [
2193 'webapp/build-webapp.py',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002194 '<(chrome_version_path)',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002195 '<(remoting_version_path)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002196 '<@(remoting_webapp_files)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002197 '<@(remoting_webapp_js_files)',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002198 '<@(_locale_files)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002199 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002200 'conditions': [
2201 ['enable_remoting_host==1', {
2202 'inputs': [
2203 '<(plugin_path)',
2204 ],
2205 }],
2206 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002207 'outputs': [
2208 '<(_output_dir)',
2209 '<(_zip_path)',
2210 ],
2211 'action': [
2212 'python', 'webapp/build-webapp.py',
2213 '<(buildtype)',
2214 '<(version_full)',
2215 '<(host_plugin_mime_type)',
2216 '<(_output_dir)',
2217 '<(_zip_path)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002218 '<(plugin_path)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002219 '<@(remoting_webapp_files)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002220 '<@(remoting_webapp_js_files)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002221 '--locales',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002222 '<@(_locale_files)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002223 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002224 'msvs_cygwin_shell': 0,
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002225 },
2226 ],
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002227 'target_conditions': [
2228 # We cannot currently build the appsv2 version of WebApp on Windows as
2229 # there isn't a version of the "patch" tool available on windows. We
2230 # should remove this condition when we remove the reliance on the 'patch'.
2231
2232 # We define this in a 'target_conditions' section because 'plugin_path'
2233 # is defined in a 'conditions' section so its value is not available
2234 # when gyp processes the 'actions' in a 'conditions" section.
2235 ['OS != "win"', {
2236 'actions': [
2237 {
2238 'action_name': 'Build Remoting WebApp V2',
2239 'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp.v2',
2240 'zip_path': '<(PRODUCT_DIR)/remoting-webapp.v2.zip',
2241 'inputs': [
2242 'webapp/build-webapp.py',
2243 '<(chrome_version_path)',
2244 '<(remoting_version_path)',
2245 '<@(remoting_webapp_apps_v2_js_files)',
2246 '<@(remoting_webapp_files)',
2247 '<@(remoting_webapp_js_files)',
2248 '<@(remoting_webapp_locale_files)',
2249 '<@(remoting_webapp_patch_files)',
2250 ],
2251 'conditions': [
2252 ['enable_remoting_host==1', {
2253 'inputs': [
2254 '<(plugin_path)',
2255 ],
2256 }],
2257 ],
2258 'outputs': [
2259 '<(_output_dir)',
2260 '<(_zip_path)',
2261 ],
2262 'action': [
2263 'python', 'webapp/build-webapp.py',
2264 '<(buildtype)',
2265 '<(version_full)',
2266 '<(host_plugin_mime_type)',
2267 '<(_output_dir)',
2268 '<(_zip_path)',
2269 '<(plugin_path)',
2270 '<@(remoting_webapp_apps_v2_js_files)',
2271 '<@(remoting_webapp_files)',
2272 '<@(remoting_webapp_js_files)',
2273 '--locales',
2274 '<@(remoting_webapp_locale_files)',
2275 '--patches',
2276 '<@(remoting_webapp_patch_files)',
2277 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002278 'msvs_cygwin_shell': 0,
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002279 },
2280 ],
2281 }],
2282 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002283 }, # end of target 'remoting_webapp'
2284
2285 {
2286 'target_name': 'remoting_resources',
2287 'type': 'none',
2288 'variables': {
2289 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002290 'grit_resource_ids': 'resources/resource_ids',
2291 'sources': [
2292 'base/resources_unittest.cc',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002293 'host/continue_window_mac.mm',
2294 'host/disconnect_window_mac.mm',
2295 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
2296 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
2297 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002298 'host/win/core.rc.jinja2',
2299 'host/win/host_messages.mc.jinja2',
2300 'host/win/version.rc.jinja2',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002301 'webapp/butter_bar.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002302 'webapp/client_screen.js',
2303 'webapp/error.js',
2304 'webapp/host_list.js',
Ben Murdochfb250652013-07-31 11:42:55 +01002305 'webapp/host_setup_dialog.js',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002306 'webapp/host_table_entry.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002307 'webapp/main.html',
2308 'webapp/manifest.json',
Ben Murdocha3f7b4e2013-07-24 10:36:34 +01002309 'webapp/paired_client_manager.js',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002310 'webapp/remoting.js',
2311 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002312 },
2313 'actions': [
2314 {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002315 'action_name': 'verify_resources',
2316 'inputs': [
2317 'resources/remoting_strings.grd',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002318 'tools/verify_resources.py',
2319 '<@(sources)'
2320 ],
2321 'outputs': [
2322 '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
2323 ],
2324 'action': [
2325 'python',
2326 'tools/verify_resources.py',
2327 '-t', '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
2328 '-r', 'resources/remoting_strings.grd',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002329 '<@(sources)',
2330 ],
2331 },
2332 {
2333 'action_name': 'remoting_strings',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002334 'variables': {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002335 'grit_grd_file': 'resources/remoting_strings.grd',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002336 },
2337 'includes': [ '../build/grit_action.gypi' ],
2338 },
2339 {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002340 'action_name': 'copy_locales',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002341 'variables': {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002342 'copy_output_dir%': '<(PRODUCT_DIR)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002343 },
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002344 'inputs': [
2345 'tools/build/remoting_copy_locales.py',
2346 '<!@pymod_do_main(remoting_copy_locales -i -p <(OS) -g <(grit_out_dir) <(remoting_locales))'
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002347 ],
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002348 'outputs': [
2349 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(copy_output_dir) <(remoting_locales))'
2350 ],
2351 'action': [
2352 'python',
2353 'tools/build/remoting_copy_locales.py',
2354 '-p', '<(OS)',
2355 '-g', '<(grit_out_dir)',
2356 '-x', '<(copy_output_dir)/.',
2357 '<@(remoting_locales)',
2358 ],
2359 }
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002360 ],
2361 'includes': [ '../build/grit_target.gypi' ],
2362 }, # end of target 'remoting_resources'
2363
2364 {
2365 'target_name': 'remoting_base',
2366 'type': 'static_library',
2367 'variables': { 'enable_wexit_time_destructors': 1, },
2368 'dependencies': [
2369 '../base/base.gyp:base',
2370 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
2371 '../ui/ui.gyp:ui',
2372 '../net/net.gyp:net',
2373 '../skia/skia.gyp:skia',
2374 '../third_party/libvpx/libvpx.gyp:libvpx',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002375 '../third_party/libyuv/libyuv.gyp:libyuv',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002376 '../third_party/opus/opus.gyp:opus',
2377 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
2378 '../third_party/speex/speex.gyp:libspeex',
2379 '../media/media.gyp:media',
2380 '../media/media.gyp:shared_memory_support',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002381 'remoting_jingle_glue',
2382 'remoting_resources',
2383 'proto/chromotocol.gyp:chromotocol_proto_lib',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01002384 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002385 ],
2386 'export_dependent_settings': [
2387 '../base/base.gyp:base',
2388 '../net/net.gyp:net',
2389 '../skia/skia.gyp:skia',
2390 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
2391 'proto/chromotocol.gyp:chromotocol_proto_lib',
2392 ],
2393 # This target needs a hard dependency because dependent targets
2394 # depend on chromotocol_proto_lib for headers.
2395 'hard_dependency': 1,
2396 'sources': [
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002397 'base/auth_token_util.cc',
2398 'base/auth_token_util.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002399 'base/auto_thread.cc',
2400 'base/auto_thread.h',
2401 'base/auto_thread_task_runner.cc',
2402 'base/auto_thread_task_runner.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002403 'base/capabilities.cc',
2404 'base/capabilities.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002405 'base/compound_buffer.cc',
2406 'base/compound_buffer.h',
2407 'base/constants.cc',
2408 'base/constants.h',
2409 'base/plugin_thread_task_runner.cc',
2410 'base/plugin_thread_task_runner.h',
2411 'base/rate_counter.cc',
2412 'base/rate_counter.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002413 'base/resources.h',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002414 'base/resources_linux.cc',
2415 'base/resources_mac.cc',
2416 'base/resources_win.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002417 'base/rsa_key_pair.cc',
2418 'base/rsa_key_pair.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002419 'base/running_average.cc',
2420 'base/running_average.h',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002421 'base/scoped_reg_key_win.h',
2422 'base/scoped_sc_handle_win.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002423 'base/socket_reader.cc',
2424 'base/socket_reader.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002425 'base/typed_buffer.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002426 'base/url_request_context.cc',
2427 'base/url_request_context.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002428 'base/util.cc',
2429 'base/util.h',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002430 'base/vlog_net_log.cc',
2431 'base/vlog_net_log.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002432 'codec/audio_decoder.cc',
2433 'codec/audio_decoder.h',
2434 'codec/audio_decoder_opus.cc',
2435 'codec/audio_decoder_opus.h',
2436 'codec/audio_decoder_speex.cc',
2437 'codec/audio_decoder_speex.h',
2438 'codec/audio_decoder_verbatim.cc',
2439 'codec/audio_decoder_verbatim.h',
2440 'codec/audio_encoder.h',
2441 'codec/audio_encoder_opus.cc',
2442 'codec/audio_encoder_opus.h',
2443 'codec/audio_encoder_speex.cc',
2444 'codec/audio_encoder_speex.h',
2445 'codec/audio_encoder_verbatim.cc',
2446 'codec/audio_encoder_verbatim.h',
2447 'codec/video_decoder.h',
2448 'codec/video_decoder_verbatim.cc',
2449 'codec/video_decoder_verbatim.h',
2450 'codec/video_decoder_vp8.cc',
2451 'codec/video_decoder_vp8.h',
2452 'codec/video_encoder.h',
2453 'codec/video_encoder_verbatim.cc',
2454 'codec/video_encoder_verbatim.h',
2455 'codec/video_encoder_vp8.cc',
2456 'codec/video_encoder_vp8.h',
2457 ],
2458 }, # end of target 'remoting_base'
2459
2460 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002461 'target_name': 'remoting_host_logging',
2462 'type': 'static_library',
2463 'variables': { 'enable_wexit_time_destructors': 1, },
2464 'dependencies': [
2465 '../base/base.gyp:base',
2466 ],
2467 'sources': [
2468 'host/branding.cc',
2469 'host/branding.h',
2470 'host/logging.h',
2471 'host/logging_posix.cc',
2472 'host/logging_win.cc',
2473 ],
2474 }, # end of target 'remoting_host_logging'
2475
2476 {
2477 'target_name': 'remoting_client',
2478 'type': 'static_library',
2479 'variables': { 'enable_wexit_time_destructors': 1, },
2480 'dependencies': [
2481 'remoting_base',
2482 'remoting_jingle_glue',
2483 'remoting_protocol',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002484 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002485 ],
2486 'sources': [
2487 'client/audio_decode_scheduler.cc',
2488 'client/audio_decode_scheduler.h',
2489 'client/audio_player.cc',
2490 'client/audio_player.h',
2491 'client/chromoting_client.cc',
2492 'client/chromoting_client.h',
2493 'client/chromoting_stats.cc',
2494 'client/chromoting_stats.h',
2495 'client/client_config.cc',
2496 'client/client_config.h',
2497 'client/client_context.cc',
2498 'client/client_context.h',
2499 'client/client_user_interface.h',
2500 'client/frame_consumer.h',
2501 'client/frame_consumer_proxy.cc',
2502 'client/frame_consumer_proxy.h',
2503 'client/frame_producer.h',
2504 'client/key_event_mapper.cc',
2505 'client/key_event_mapper.h',
2506 'client/rectangle_update_decoder.cc',
2507 'client/rectangle_update_decoder.h',
2508 ],
2509 }, # end of target 'remoting_client'
2510
2511 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002512 'target_name': 'remoting_jingle_glue',
2513 'type': 'static_library',
2514 'variables': { 'enable_wexit_time_destructors': 1, },
2515 'dependencies': [
2516 '../base/base.gyp:base',
2517 '../jingle/jingle.gyp:jingle_glue',
2518 '../jingle/jingle.gyp:notifier',
2519 '../third_party/libjingle/libjingle.gyp:libjingle',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002520 ],
2521 'export_dependent_settings': [
2522 '../third_party/libjingle/libjingle.gyp:libjingle',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002523 ],
2524 'sources': [
Ben Murdocheb525c52013-07-10 11:40:50 +01002525 'jingle_glue/chromium_port_allocator.cc',
2526 'jingle_glue/chromium_port_allocator.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002527 'jingle_glue/chromium_socket_factory.cc',
2528 'jingle_glue/chromium_socket_factory.h',
2529 'jingle_glue/iq_sender.cc',
2530 'jingle_glue/iq_sender.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002531 'jingle_glue/jingle_info_request.cc',
2532 'jingle_glue/jingle_info_request.h',
Ben Murdocheb525c52013-07-10 11:40:50 +01002533 'jingle_glue/network_settings.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002534 'jingle_glue/signal_strategy.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002535 'jingle_glue/xmpp_signal_strategy.cc',
2536 'jingle_glue/xmpp_signal_strategy.h',
2537 ],
2538 }, # end of target 'remoting_jingle_glue'
2539
2540 {
2541 'target_name': 'remoting_protocol',
2542 'type': 'static_library',
2543 'variables': { 'enable_wexit_time_destructors': 1, },
2544 'dependencies': [
2545 'remoting_base',
2546 'remoting_jingle_glue',
2547 '../crypto/crypto.gyp:crypto',
2548 '../jingle/jingle.gyp:jingle_glue',
2549 '../net/net.gyp:net',
2550 ],
2551 'export_dependent_settings': [
2552 'remoting_jingle_glue',
2553 ],
2554 'sources': [
2555 'protocol/audio_reader.cc',
2556 'protocol/audio_reader.h',
2557 'protocol/audio_stub.h',
2558 'protocol/audio_writer.cc',
2559 'protocol/audio_writer.h',
2560 'protocol/auth_util.cc',
2561 'protocol/auth_util.h',
2562 'protocol/authentication_method.cc',
2563 'protocol/authentication_method.h',
2564 'protocol/authenticator.cc',
2565 'protocol/authenticator.h',
2566 'protocol/buffered_socket_writer.cc',
2567 'protocol/buffered_socket_writer.h',
2568 'protocol/channel_authenticator.h',
2569 'protocol/channel_dispatcher_base.cc',
2570 'protocol/channel_dispatcher_base.h',
2571 'protocol/channel_multiplexer.cc',
2572 'protocol/channel_multiplexer.h',
2573 'protocol/client_control_dispatcher.cc',
2574 'protocol/client_control_dispatcher.h',
2575 'protocol/client_event_dispatcher.cc',
2576 'protocol/client_event_dispatcher.h',
2577 'protocol/client_stub.h',
2578 'protocol/clipboard_echo_filter.cc',
2579 'protocol/clipboard_echo_filter.h',
2580 'protocol/clipboard_filter.cc',
2581 'protocol/clipboard_filter.h',
2582 'protocol/clipboard_stub.h',
2583 'protocol/clipboard_thread_proxy.cc',
2584 'protocol/clipboard_thread_proxy.h',
2585 'protocol/connection_to_client.cc',
2586 'protocol/connection_to_client.h',
2587 'protocol/connection_to_host.cc',
2588 'protocol/connection_to_host.h',
2589 'protocol/content_description.cc',
2590 'protocol/content_description.h',
2591 'protocol/errors.h',
2592 'protocol/host_control_dispatcher.cc',
2593 'protocol/host_control_dispatcher.h',
2594 'protocol/host_event_dispatcher.cc',
2595 'protocol/host_event_dispatcher.h',
2596 'protocol/host_stub.h',
2597 'protocol/input_event_tracker.cc',
2598 'protocol/input_event_tracker.h',
2599 'protocol/input_filter.cc',
2600 'protocol/input_filter.h',
2601 'protocol/input_stub.h',
2602 'protocol/it2me_host_authenticator_factory.cc',
2603 'protocol/it2me_host_authenticator_factory.h',
2604 'protocol/jingle_messages.cc',
2605 'protocol/jingle_messages.h',
2606 'protocol/jingle_session.cc',
2607 'protocol/jingle_session.h',
2608 'protocol/jingle_session_manager.cc',
2609 'protocol/jingle_session_manager.h',
2610 'protocol/libjingle_transport_factory.cc',
2611 'protocol/libjingle_transport_factory.h',
2612 'protocol/me2me_host_authenticator_factory.cc',
2613 'protocol/me2me_host_authenticator_factory.h',
2614 'protocol/message_decoder.cc',
2615 'protocol/message_decoder.h',
2616 'protocol/message_reader.cc',
2617 'protocol/message_reader.h',
2618 'protocol/mouse_input_filter.cc',
2619 'protocol/mouse_input_filter.h',
2620 'protocol/name_value_map.h',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002621 'protocol/negotiating_authenticator_base.cc',
2622 'protocol/negotiating_authenticator_base.h',
2623 'protocol/negotiating_client_authenticator.cc',
2624 'protocol/negotiating_client_authenticator.h',
2625 'protocol/negotiating_host_authenticator.cc',
2626 'protocol/negotiating_host_authenticator.h',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01002627 'protocol/pairing_authenticator_base.cc',
2628 'protocol/pairing_authenticator_base.h',
2629 'protocol/pairing_client_authenticator.cc',
2630 'protocol/pairing_client_authenticator.h',
2631 'protocol/pairing_host_authenticator.cc',
2632 'protocol/pairing_host_authenticator.h',
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +01002633 'protocol/pairing_registry.cc',
2634 'protocol/pairing_registry.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002635 'protocol/protobuf_video_reader.cc',
2636 'protocol/protobuf_video_reader.h',
2637 'protocol/protobuf_video_writer.cc',
2638 'protocol/protobuf_video_writer.h',
2639 'protocol/session.h',
2640 'protocol/session_config.cc',
2641 'protocol/session_config.h',
2642 'protocol/session_manager.h',
2643 'protocol/ssl_hmac_channel_authenticator.cc',
2644 'protocol/ssl_hmac_channel_authenticator.h',
2645 'protocol/transport.cc',
2646 'protocol/transport.h',
2647 'protocol/transport_config.cc',
2648 'protocol/transport_config.h',
2649 'protocol/util.cc',
2650 'protocol/util.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002651 'protocol/third_party_authenticator_base.cc',
2652 'protocol/third_party_authenticator_base.h',
2653 'protocol/third_party_client_authenticator.cc',
2654 'protocol/third_party_client_authenticator.h',
2655 'protocol/third_party_host_authenticator.cc',
2656 'protocol/third_party_host_authenticator.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002657 'protocol/v2_authenticator.cc',
2658 'protocol/v2_authenticator.h',
2659 'protocol/video_reader.cc',
2660 'protocol/video_reader.h',
2661 'protocol/video_stub.h',
2662 'protocol/video_writer.cc',
2663 'protocol/video_writer.h',
2664 ],
2665 }, # end of target 'remoting_protocol'
2666
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002667 # Remoting unit tests
2668 {
2669 'target_name': 'remoting_unittests',
2670 'type': 'executable',
2671 'dependencies': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002672 '../base/base.gyp:base',
2673 '../base/base.gyp:base_i18n',
2674 '../base/base.gyp:test_support_base',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002675 '../ipc/ipc.gyp:ipc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002676 '../net/net.gyp:net_test_support',
2677 '../ppapi/ppapi.gyp:ppapi_cpp',
2678 '../testing/gmock.gyp:gmock',
2679 '../testing/gtest.gyp:gtest',
2680 '../ui/ui.gyp:ui',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002681 'remoting_base',
2682 'remoting_breakpad',
2683 'remoting_client',
2684 'remoting_client_plugin',
2685 'remoting_host',
2686 'remoting_host_event_logger',
2687 'remoting_host_setup_base',
2688 'remoting_jingle_glue',
2689 'remoting_protocol',
2690 'remoting_resources',
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01002691 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002692 ],
2693 'defines': [
2694 'VERSION=<(version_full)',
2695 ],
2696 'include_dirs': [
2697 '../testing/gmock/include',
2698 ],
2699 'sources': [
2700 '../chrome/test/base/run_all_remoting_unittests.cc',
2701 'base/auth_token_util_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002702 'base/auto_thread_task_runner_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002703 'base/auto_thread_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002704 'base/breakpad_win_unittest.cc',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002705 'base/capabilities_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002706 'base/compound_buffer_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002707 'base/rate_counter_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002708 'base/resources_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002709 'base/rsa_key_pair_unittest.cc',
2710 'base/running_average_unittest.cc',
2711 'base/test_rsa_key_pair.h',
2712 'base/typed_buffer_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002713 'base/util_unittest.cc',
2714 'client/audio_player_unittest.cc',
2715 'client/key_event_mapper_unittest.cc',
2716 'client/plugin/mac_key_event_processor_unittest.cc',
2717 'codec/audio_encoder_opus_unittest.cc',
2718 'codec/codec_test.cc',
2719 'codec/codec_test.h',
2720 'codec/video_decoder_vp8_unittest.cc',
2721 'codec/video_encoder_verbatim_unittest.cc',
2722 'codec/video_encoder_vp8_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002723 'host/audio_silence_detector_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002724 'host/branding.cc',
2725 'host/branding.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002726 'host/capture_scheduler_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002727 'host/chromoting_host_context_unittest.cc',
2728 'host/chromoting_host_unittest.cc',
2729 'host/client_session_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002730 'host/config_file_watcher_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002731 'host/daemon_process.cc',
2732 'host/daemon_process.h',
2733 'host/daemon_process_unittest.cc',
2734 'host/desktop_process.cc',
2735 'host/desktop_process.h',
2736 'host/desktop_process_unittest.cc',
2737 'host/desktop_session.cc',
2738 'host/desktop_session.h',
2739 'host/desktop_session_agent.cc',
2740 'host/desktop_session_agent.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002741 'host/heartbeat_sender_unittest.cc',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002742 'host/host_status_sender_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002743 'host/host_change_notification_listener_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002744 'host/host_mock_objects.cc',
2745 'host/host_mock_objects.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002746 'host/host_status_monitor_fake.h',
2747 'host/ipc_desktop_environment_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002748 'host/json_host_config_unittest.cc',
2749 'host/linux/x_server_clipboard_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002750 'host/local_input_monitor_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002751 'host/log_to_server_unittest.cc',
Ben Murdocheb525c52013-07-10 11:40:50 +01002752 'host/pairing_registry_delegate_linux_unittest.cc',
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01002753 'host/pairing_registry_delegate_win_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002754 'host/pin_hash_unittest.cc',
2755 'host/policy_hack/fake_policy_watcher.cc',
2756 'host/policy_hack/fake_policy_watcher.h',
2757 'host/policy_hack/mock_policy_callback.cc',
2758 'host/policy_hack/mock_policy_callback.h',
2759 'host/policy_hack/policy_watcher_unittest.cc',
2760 'host/register_support_host_request_unittest.cc',
2761 'host/remote_input_filter_unittest.cc',
2762 'host/resizing_host_observer_unittest.cc',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002763 'host/screen_capturer_fake.cc',
2764 'host/screen_capturer_fake.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002765 'host/screen_resolution_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002766 'host/server_log_entry_unittest.cc',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01002767 'host/setup/native_messaging_host_unittest.cc',
2768 'host/setup/native_messaging_reader_unittest.cc',
2769 'host/setup/native_messaging_writer_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002770 'host/setup/oauth_helper_unittest.cc',
2771 'host/setup/pin_validator_unittest.cc',
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +01002772 'host/token_validator_factory_impl_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002773 'host/video_scheduler_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002774 'host/win/rdp_client_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002775 'host/win/worker_process_launcher.cc',
2776 'host/win/worker_process_launcher.h',
2777 'host/win/worker_process_launcher_unittest.cc',
2778 'jingle_glue/chromium_socket_factory_unittest.cc',
2779 'jingle_glue/fake_signal_strategy.cc',
2780 'jingle_glue/fake_signal_strategy.h',
2781 'jingle_glue/iq_sender_unittest.cc',
2782 'jingle_glue/mock_objects.cc',
2783 'jingle_glue/mock_objects.h',
2784 'protocol/authenticator_test_base.cc',
2785 'protocol/authenticator_test_base.h',
2786 'protocol/buffered_socket_writer_unittest.cc',
2787 'protocol/channel_multiplexer_unittest.cc',
2788 'protocol/clipboard_echo_filter_unittest.cc',
2789 'protocol/clipboard_filter_unittest.cc',
2790 'protocol/connection_tester.cc',
2791 'protocol/connection_tester.h',
2792 'protocol/connection_to_client_unittest.cc',
2793 'protocol/content_description_unittest.cc',
2794 'protocol/fake_authenticator.cc',
2795 'protocol/fake_authenticator.h',
2796 'protocol/fake_session.cc',
2797 'protocol/fake_session.h',
2798 'protocol/input_event_tracker_unittest.cc',
2799 'protocol/input_filter_unittest.cc',
2800 'protocol/jingle_messages_unittest.cc',
2801 'protocol/jingle_session_unittest.cc',
2802 'protocol/message_decoder_unittest.cc',
2803 'protocol/message_reader_unittest.cc',
2804 'protocol/mouse_input_filter_unittest.cc',
2805 'protocol/negotiating_authenticator_unittest.cc',
Torne (Richard Coles)b2df76e2013-05-13 16:52:09 +01002806 'protocol/pairing_registry_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002807 'protocol/ppapi_module_stub.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002808 'protocol/protocol_mock_objects.cc',
2809 'protocol/protocol_mock_objects.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002810 'protocol/ssl_hmac_channel_authenticator_unittest.cc',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002811 'protocol/third_party_authenticator_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002812 'protocol/v2_authenticator_unittest.cc',
2813 ],
2814 'conditions': [
2815 [ 'OS=="win"', {
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002816 'defines': [
2817 '_ATL_NO_EXCEPTIONS',
2818 ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002819 'include_dirs': [
2820 '../breakpad/src',
2821 ],
2822 'link_settings': {
2823 'libraries': [
2824 '-lrpcrt4.lib',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002825 '-lwtsapi32.lib',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002826 ],
2827 },
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002828 }],
2829 ['OS=="mac" or (OS=="linux" and chromeos==0)', {
2830 # Javascript unittests are disabled on CrOS because they cause
2831 # valgrind and test errors.
2832 #
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002833 # Javascript unittests are disabled on Windows because they add a
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002834 # dependency on 'common_constants' which (only on Windows) requires
2835 # additional dependencies:
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002836 # '../content/content.gyp:content_common',
2837 # 'installer_util',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002838 # These targets are defined in .gypi files that would need to be
2839 # included here:
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002840 # '../chrome/chrome_common.gypi',
2841 # '../chrome/chrome_installer.gypi',
2842 # '../chrome/chrome_installer_util.gypi',
Ben Murdoch7dbb3d52013-07-17 14:55:54 +01002843 # But we can't do that because ninja will complain about multiple
2844 # target definitions.
2845 # TODO(garykac): Move installer_util into a proper .gyp file so that
2846 # it can be included in multiple .gyp files.
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002847 'includes': [
2848 '../chrome/js_unittest_rules.gypi',
2849 ],
2850 'dependencies': [
2851 '../chrome/common_constants.gyp:common_constants',
2852 '../v8/tools/gyp/v8.gyp:v8',
2853 ],
2854 'sources': [
2855 '../chrome/test/base/v8_unit_test.cc',
2856 '../chrome/test/base/v8_unit_test.h',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002857 'webapp/browser_globals.gtestjs',
2858 'webapp/all_js_load.gtestjs',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002859 'webapp/format_iq.gtestjs',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002860 '<@(remoting_webapp_js_files)',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002861 ],
2862 }],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002863 ['enable_remoting_host == 0', {
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002864 'dependencies!': [
2865 'remoting_host',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002866 'remoting_host_setup_base',
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002867 ],
2868 'sources/': [
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00002869 ['exclude', 'codec/*'],
Torne (Richard Coles)58218062012-11-14 11:43:16 +00002870 ['exclude', 'host/*'],
2871 ]
2872 }],
2873 ['toolkit_uses_gtk == 1', {
2874 'dependencies': [
2875 # Needed for the following #include chain:
2876 # base/run_all_unittests.cc
2877 # ../base/test_suite.h
2878 # gtk/gtk.h
2879 '../build/linux/system.gyp:gtk',
2880 '../build/linux/system.gyp:ssl',
2881 ],
2882 'conditions': [
2883 [ 'linux_use_tcmalloc==1', {
2884 'dependencies': [
2885 '../base/allocator/allocator.gyp:allocator',
2886 ],
2887 },
2888 ],
2889 ],
2890 }], # end of 'toolkit_uses_gtk == 1'
2891 ], # end of 'conditions'
2892 }, # end of target 'remoting_unittests'
2893 ], # end of targets
2894}