1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
11 # Enable the multi-process host on Windows by default.
13 'remoting_multi_process%': 1,
15 'remoting_multi_process%': 0,
20 'remoting_multi_process%': '<(remoting_multi_process)',
21 'remoting_rdp_session%': 1,
23 'remoting_localize_path': 'tools/build/remoting_localize.py',
25 # 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
31 'version_py_path': '../chrome/tools/build/version.py',
32 'remoting_version_path': '../remoting/VERSION',
33 'chrome_version_path': '../chrome/VERSION',
35 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@MAJOR@")',
37 '<!(python <(version_py_path) -f <(remoting_version_path) -t "@REMOTING_PATCH@")',
39 '<(version_major).<(version_minor).'
40 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@BUILD@")',
43 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@PATCH@")',
45 'branding_path': '../remoting/branding_<(branding)',
47 'webapp_locale_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/webapp/_locales',
49 'host_plugin_mime_type': 'application/vnd.chromium.remoting-host',
52 # 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,
56 'enable_remoting_host': 0,
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': '',
64 ['os_posix == 1 and OS != "mac" and target_arch == "ia32"', {
66 'host_plugin_extension': 'ia32.so',
67 'host_plugin_prefix': 'lib',
69 ['os_posix == 1 and OS != "mac" and target_arch == "x64"', {
71 'host_plugin_extension': 'x64.so',
72 'host_plugin_prefix': 'lib',
74 ['os_posix == 1 and OS != "mac" and target_arch == "arm"', {
75 'host_plugin_extension': 'arm.so',
76 'host_plugin_prefix': 'lib',
78 ['os_posix == 1 and OS != "mac" and target_arch == "mipsel"', {
79 'host_plugin_extension': 'mipsel.so',
80 'host_plugin_prefix': 'lib',
83 'host_plugin_extension': 'dll',
84 'host_plugin_prefix': '',
85 # Use auto-generated CLSIDs to make sure that the newly installed COM
86 # classes will be used during/after upgrade even if there are old
87 # instances running already.
88 # The parameter at the end is ignored, but needed to make sure that the
89 # script will be invoked separately for each CLSID. Otherwise GYP will
90 # reuse the value returned by the first invocation of the script.
91 'daemon_controller_clsid':
92 '<!(python -c "import uuid; print uuid.uuid4()" 1)',
93 'rdp_desktop_session_clsid':
94 '<!(python -c "import uuid; print uuid.uuid4()" 2)',
99 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'en-GB', 'es',
100 'es-419', 'et', 'fi', 'fil', 'fr', 'he', 'hi', 'hr', 'hu', 'id',
101 'it', 'ja', 'ko', 'lt', 'lv', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT',
102 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi',
105 'remoting_locale_files': [
106 # Build the list of .pak files generated from remoting_strings.grd.
107 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x '
108 '<(PRODUCT_DIR) <(remoting_locales))',
110 'remoting_webapp_locale_files': [
111 # Build the list of .json files generated from remoting_strings.grd.
112 '<!@pymod_do_main(remoting_localize --locale_output '
113 '"<(webapp_locale_dir)/@{json_suffix}/messages.json" '
114 '--print_only <(remoting_locales))',
116 'remoting_webapp_files': [
117 'resources/chromoting16.webp',
118 'resources/chromoting48.webp',
119 'resources/chromoting128.webp',
120 'resources/disclosure_arrow_down.webp',
121 'resources/disclosure_arrow_right.webp',
122 'resources/host_setup_instructions.webp',
123 'resources/icon_cross.webp',
124 'resources/icon_host.webp',
125 'resources/icon_pencil.webp',
126 'resources/icon_warning.webp',
127 'resources/infographic_my_computers.webp',
128 'resources/infographic_remote_assistance.webp',
129 'resources/plus.webp',
130 'resources/reload.webp',
131 'resources/tick.webp',
132 'webapp/connection_history.css',
133 'webapp/connection_stats.css',
136 'webapp/manifest.json',
137 'webapp/menu_button.css',
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',
145 'remoting_webapp_js_files': [
146 'webapp/butter_bar.js',
147 'webapp/client_plugin.js',
148 'webapp/client_plugin_async.js',
149 'webapp/client_screen.js',
150 'webapp/client_session.js',
151 'webapp/clipboard.js',
152 'webapp/connection_history.js',
153 'webapp/connection_stats.js',
154 'webapp/cs_oauth2_trampoline.js',
155 'webapp/cs_third_party_auth_trampoline.js',
157 'webapp/event_handlers.js',
158 'webapp/format_iq.js',
160 'webapp/host_controller.js',
161 'webapp/host_dispatcher.js',
162 'webapp/host_list.js',
163 'webapp/host_native_messaging.js',
164 'webapp/host_screen.js',
165 'webapp/host_session.js',
166 'webapp/host_settings.js',
167 'webapp/host_setup_dialog.js',
168 'webapp/host_table_entry.js',
169 'webapp/identity.js',
171 'webapp/log_to_server.js',
172 'webapp/menu_button.js',
174 'webapp/oauth2_api.js',
175 'webapp/paired_client_manager.js',
176 'webapp/plugin_settings.js',
177 'webapp/remoting.js',
178 'webapp/server_log_entry.js',
179 'webapp/session_connector.js',
180 'webapp/stats_accumulator.js',
181 'webapp/third_party_host_permissions.js',
182 'webapp/xhr_proxy.js',
183 'webapp/third_party_token_fetcher.js',
187 'webapp/wcs_loader.js',
188 'webapp/wcs_sandbox_container.js',
189 'webapp/wcs_sandbox_content.js',
192 'remoting_host_installer_mac_roots': [
193 'host/installer/mac/',
194 '<(DEPTH)/chrome/installer/mac/',
196 'remoting_host_installer_mac_files': [
197 'host/installer/mac/do_signing.sh',
198 'host/installer/mac/do_signing.props',
199 'host/installer/mac/ChromotingHost.pkgproj',
200 'host/installer/mac/ChromotingHostService.pkgproj',
201 'host/installer/mac/ChromotingHostUninstaller.pkgproj',
202 'host/installer/mac/LaunchAgents/org.chromium.chromoting.plist',
203 'host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh',
204 'host/installer/mac/Config/org.chromium.chromoting.conf',
205 'host/installer/mac/Scripts/keystone_install.sh',
206 'host/installer/mac/Scripts/remoting_postflight.sh',
207 'host/installer/mac/Scripts/remoting_preflight.sh',
208 'host/installer/mac/Keystone/GoogleSoftwareUpdate.pkg',
209 '<(DEPTH)/chrome/installer/mac/pkg-dmg',
211 'remoting_host_installer_win_roots': [
212 'host/installer/win/',
214 'remoting_host_installer_win_files': [
215 'host/installer/win/chromoting.wxs',
216 'host/installer/win/parameters.json',
221 '../chrome/js_unittest_vars.gypi',
228 'BINARY_HOST_ME2ME=3',
229 'BINARY_HOST_PLUGIN=4',
232 '..', # Root of Chrome checkout
235 'win_debug_RuntimeChecks': '0',
238 ['OS=="mac" and mac_breakpad==1', {
240 'REMOTING_ENABLE_BREAKPAD'
243 ['OS=="win" and buildtype == "Official"', {
245 'REMOTING_ENABLE_BREAKPAD'
248 ['OS=="win" and remoting_multi_process != 0 and \
249 remoting_rdp_session != 0', {
251 'REMOTING_RDP_SESSION',
254 ['remoting_multi_process != 0', {
256 'REMOTING_MULTI_PROCESS',
263 ['enable_remoting_host==1', {
266 'target_name': 'remoting_host',
267 'type': 'static_library',
268 'variables': { 'enable_wexit_time_destructors': 1, },
271 'remoting_jingle_glue',
273 'remoting_resources',
274 '../crypto/crypto.gyp:crypto',
275 '../google_apis/google_apis.gyp:google_apis',
276 '../ipc/ipc.gyp:ipc',
277 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
278 '../ui/events/events.gyp:dom4_keycode_converter',
281 'VERSION=<(version_full)',
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',
305 'host/chromoting_param_traits.cc',
306 'host/chromoting_param_traits.h',
307 'host/client_session.cc',
308 'host/client_session.h',
309 'host/client_session_control.h',
311 'host/clipboard_mac.mm',
312 'host/clipboard_win.cc',
313 'host/clipboard_x11.cc',
314 'host/config_file_watcher.cc',
315 'host/config_file_watcher.h',
316 'host/config_watcher.h',
317 'host/constants_mac.cc',
318 'host/constants_mac.h',
319 'host/continue_window.cc',
320 'host/continue_window.h',
321 'host/continue_window_aura.cc',
322 'host/continue_window_gtk.cc',
323 'host/continue_window_mac.mm',
324 'host/continue_window_win.cc',
325 'host/desktop_environment.h',
326 'host/desktop_resizer.h',
327 'host/desktop_resizer_linux.cc',
328 'host/desktop_resizer_mac.cc',
329 'host/desktop_resizer_win.cc',
330 'host/desktop_session_connector.h',
331 'host/desktop_session_proxy.cc',
332 'host/desktop_session_proxy.h',
333 'host/desktop_shape_tracker.h',
334 'host/desktop_shape_tracker_mac.cc',
335 'host/desktop_shape_tracker_win.cc',
336 'host/desktop_shape_tracker_x11.cc',
337 'host/disconnect_window_aura.cc',
338 'host/disconnect_window_gtk.cc',
339 'host/disconnect_window_mac.h',
340 'host/disconnect_window_mac.mm',
341 'host/disconnect_window_win.cc',
342 'host/dns_blackhole_checker.cc',
343 'host/dns_blackhole_checker.h',
344 'host/heartbeat_sender.cc',
345 'host/heartbeat_sender.h',
346 'host/host_status_sender.cc',
347 'host/host_status_sender.h',
348 'host/host_change_notification_listener.cc',
349 'host/host_change_notification_listener.h',
350 'host/host_config.cc',
351 'host/host_config.h',
352 'host/host_exit_codes.h',
353 'host/host_exit_codes.cc',
354 'host/host_secret.cc',
355 'host/host_secret.h',
356 'host/host_status_monitor.h',
357 'host/host_status_observer.h',
358 'host/host_window.h',
359 'host/host_window_proxy.cc',
360 'host/host_window_proxy.h',
361 'host/in_memory_host_config.cc',
362 'host/in_memory_host_config.h',
363 'host/input_injector.h',
364 'host/input_injector_linux.cc',
365 'host/input_injector_mac.cc',
366 'host/input_injector_win.cc',
367 'host/ipc_audio_capturer.cc',
368 'host/ipc_audio_capturer.h',
369 'host/ipc_constants.cc',
370 'host/ipc_constants.h',
371 'host/ipc_desktop_environment.cc',
372 'host/ipc_desktop_environment.h',
373 'host/ipc_host_event_logger.cc',
374 'host/ipc_host_event_logger.h',
375 'host/ipc_input_injector.cc',
376 'host/ipc_input_injector.h',
377 'host/ipc_screen_controls.cc',
378 'host/ipc_screen_controls.h',
380 'host/ipc_util_posix.cc',
381 'host/ipc_util_win.cc',
382 'host/ipc_video_frame_capturer.cc',
383 'host/ipc_video_frame_capturer.h',
384 'host/it2me_desktop_environment.cc',
385 'host/it2me_desktop_environment.h',
386 'host/json_host_config.cc',
387 'host/json_host_config.h',
388 'host/linux/audio_pipe_reader.cc',
389 'host/linux/audio_pipe_reader.h',
390 'host/linux/x11_util.cc',
391 'host/linux/x11_util.h',
392 'host/linux/x_server_clipboard.cc',
393 'host/linux/x_server_clipboard.h',
394 'host/local_input_monitor.h',
395 'host/local_input_monitor_linux.cc',
396 'host/local_input_monitor_mac.mm',
397 'host/local_input_monitor_win.cc',
398 'host/log_to_server.cc',
399 'host/log_to_server.h',
400 'host/me2me_desktop_environment.cc',
401 'host/me2me_desktop_environment.h',
402 'host/mouse_clamping_filter.cc',
403 'host/mouse_clamping_filter.h',
404 'host/pairing_registry_delegate.cc',
405 'host/pairing_registry_delegate.h',
406 'host/pairing_registry_delegate_linux.cc',
407 'host/pairing_registry_delegate_linux.h',
408 'host/pairing_registry_delegate_mac.cc',
409 'host/pairing_registry_delegate_win.cc',
410 'host/pairing_registry_delegate_win.h',
411 'host/pam_authorization_factory_posix.cc',
412 'host/pam_authorization_factory_posix.h',
415 'host/policy_hack/policy_watcher.cc',
416 'host/policy_hack/policy_watcher.h',
417 'host/policy_hack/policy_watcher_linux.cc',
418 'host/policy_hack/policy_watcher_mac.mm',
419 'host/policy_hack/policy_watcher_win.cc',
420 'host/register_support_host_request.cc',
421 'host/register_support_host_request.h',
422 'host/remote_input_filter.cc',
423 'host/remote_input_filter.h',
424 'host/resizing_host_observer.cc',
425 'host/resizing_host_observer.h',
426 'host/sas_injector.h',
427 'host/sas_injector_win.cc',
428 'host/screen_controls.h',
429 'host/screen_resolution.cc',
430 'host/screen_resolution.h',
431 'host/server_log_entry.cc',
432 'host/server_log_entry.h',
433 'host/service_urls.cc',
434 'host/service_urls.h',
435 'host/session_manager_factory.cc',
436 'host/session_manager_factory.h',
437 'host/signaling_connector.cc',
438 'host/signaling_connector.h',
439 'host/token_validator_factory_impl.cc',
440 'host/token_validator_factory_impl.h',
441 'host/usage_stats_consent.h',
442 'host/usage_stats_consent_mac.cc',
443 'host/usage_stats_consent_win.cc',
444 'host/video_scheduler.cc',
445 'host/video_scheduler.h',
446 'host/win/com_security.cc',
447 'host/win/com_security.h',
448 'host/win/launch_process_with_token.cc',
449 'host/win/launch_process_with_token.h',
452 'host/win/rdp_client.cc',
453 'host/win/rdp_client.h',
454 'host/win/rdp_client_window.cc',
455 'host/win/rdp_client_window.h',
456 'host/win/security_descriptor.cc',
457 'host/win/security_descriptor.h',
458 'host/win/session_desktop_environment.cc',
459 'host/win/session_desktop_environment.h',
460 'host/win/session_input_injector.cc',
461 'host/win/session_input_injector.h',
462 'host/win/window_station_and_desktop.cc',
463 'host/win/window_station_and_desktop.h',
464 'host/win/wts_terminal_monitor.cc',
465 'host/win/wts_terminal_monitor.h',
466 'host/win/wts_terminal_observer.h',
471 # Always use GTK on Linux, even for Aura builds.
473 # TODO(lambroslambrou): Once the DisconnectWindow and
474 # ContinueWindow classes have been implemented for Aura,
475 # remove this dependency.
476 '../build/linux/system.gyp:gtk',
489 }, { # else OS != "linux"
491 'host/continue_window_aura.cc',
492 'host/disconnect_window_aura.cc',
497 '../third_party/GTM/AppKit/GTMCarbonEvent.h',
498 '../third_party/GTM/AppKit/GTMCarbonEvent.m',
499 '../third_party/GTM/DebugUtils/GTMDebugSelectorValidation.h',
500 '../third_party/GTM/DebugUtils/GTMTypeCasting.h',
501 '../third_party/GTM/Foundation/GTMObjectSingleton.h',
502 '../third_party/GTM/GTMDefines.h',
505 '../third_party/GTM',
506 '../third_party/GTM/AppKit',
507 '../third_party/GTM/DebugUtils',
508 '../third_party/GTM/Foundation',
512 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
519 '_ATL_NO_EXCEPTIONS',
520 'ISOLATION_AWARE_ENABLED=1',
523 '../sandbox/sandbox.gyp:sandbox',
526 'VCCLCompilerTool': {
527 # /MP conflicts with #import directive so we limit the number
528 # of processes to spawn to 1.
529 'AdditionalOptions': ['/MP1'],
534 }, # end of target 'remoting_host'
537 'target_name': 'remoting_native_messaging_base',
538 'type': 'static_library',
539 'variables': { 'enable_wexit_time_destructors': 1, },
541 '../base/base.gyp:base',
544 'host/native_messaging/native_messaging_channel.cc',
545 'host/native_messaging/native_messaging_channel.h',
546 'host/native_messaging/native_messaging_reader.cc',
547 'host/native_messaging/native_messaging_reader.h',
548 'host/native_messaging/native_messaging_writer.cc',
549 'host/native_messaging/native_messaging_writer.h',
551 }, # end of target 'remoting_native_messaging_base'
554 'target_name': 'remoting_me2me_host_static',
555 'type': 'static_library',
556 'variables': { 'enable_wexit_time_destructors': 1, },
558 '../base/base.gyp:base',
559 '../base/base.gyp:base_i18n',
560 '../net/net.gyp:net',
561 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
565 'remoting_host_event_logger',
566 'remoting_host_logging',
567 'remoting_jingle_glue',
570 'VERSION=<(version_full)',
573 'host/curtain_mode.h',
574 'host/curtain_mode_linux.cc',
575 'host/curtain_mode_mac.cc',
576 'host/curtain_mode_win.cc',
577 'host/posix/signal_handler.cc',
578 'host/posix/signal_handler.h',
583 ['exclude', '^host/posix/'],
586 ], # end of 'conditions'
587 }, # end of target 'remoting_me2me_host_static'
590 'target_name': 'remoting_host_setup_base',
591 'type': 'static_library',
592 'variables': { 'enable_wexit_time_destructors': 1, },
594 '../base/base.gyp:base',
595 '../google_apis/google_apis.gyp:google_apis',
599 'VERSION=<(version_full)',
602 'host/setup/daemon_controller.cc',
603 'host/setup/daemon_controller.h',
604 'host/setup/daemon_controller_delegate_linux.cc',
605 'host/setup/daemon_controller_delegate_linux.h',
606 'host/setup/daemon_controller_delegate_mac.h',
607 'host/setup/daemon_controller_delegate_mac.mm',
608 'host/setup/daemon_controller_delegate_win.cc',
609 'host/setup/daemon_controller_delegate_win.h',
610 'host/setup/daemon_installer_win.cc',
611 'host/setup/daemon_installer_win.h',
612 'host/setup/host_starter.cc',
613 'host/setup/host_starter.h',
614 'host/setup/me2me_native_messaging_host.cc',
615 'host/setup/me2me_native_messaging_host.h',
616 'host/setup/oauth_client.cc',
617 'host/setup/oauth_client.h',
618 'host/setup/oauth_helper.cc',
619 'host/setup/oauth_helper.h',
620 'host/setup/pin_validator.cc',
621 'host/setup/pin_validator.h',
622 'host/setup/service_client.cc',
623 'host/setup/service_client.h',
624 'host/setup/test_util.cc',
625 'host/setup/test_util.h',
626 'host/setup/win/auth_code_getter.cc',
627 'host/setup/win/auth_code_getter.h',
632 '../google_update/google_update.gyp:google_update',
635 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
636 'msvs_disabled_warnings': [4267, ],
639 }, # end of target 'remoting_host_setup_base'
642 'target_name': 'remoting_host_plugin',
643 'type': 'loadable_module',
644 'variables': { 'enable_wexit_time_destructors': 1, },
645 'product_extension': '<(host_plugin_extension)',
646 'product_prefix': '<(host_plugin_prefix)',
648 'HOST_PLUGIN_MIME_TYPE=<(host_plugin_mime_type)',
651 '../base/base.gyp:base_i18n',
652 '../net/net.gyp:net',
653 '../third_party/npapi/npapi.gyp:npapi',
656 'remoting_host_event_logger',
657 'remoting_host_logging',
658 'remoting_host_setup_base',
659 'remoting_infoplist_strings',
660 'remoting_it2me_host_static',
661 'remoting_jingle_glue',
662 'remoting_resources',
665 'base/dispatch_win.h',
666 'host/plugin/host_log_handler.cc',
667 'host/plugin/host_log_handler.h',
668 'host/plugin/host_plugin.cc',
669 'host/plugin/host_plugin_utils.cc',
670 'host/plugin/host_plugin_utils.h',
671 'host/plugin/host_script_object.cc',
672 'host/plugin/host_script_object.h',
673 'host/win/core_resource.h',
679 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
680 'INFOPLIST_FILE': 'host/plugin/host_plugin-Info.plist',
681 'INFOPLIST_PREPROCESS': 'YES',
682 # TODO(maruel): Use INFOPLIST_PREFIX_HEADER to remove the need to
683 # duplicate string once
684 # http://code.google.com/p/gyp/issues/detail?id=243 is fixed.
685 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'HOST_PLUGIN_MIME_TYPE="<(host_plugin_mime_type)" VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)"',
687 # TODO(mark): Come up with a fancier way to do this. It should
688 # only be necessary to list host_plugin-Info.plist once, not the
689 # three times it is listed here.
690 'mac_bundle_resources': [
691 'host/disconnect_window.xib',
692 'host/plugin/host_plugin-Info.plist',
693 'resources/chromoting16.png',
694 'resources/chromoting48.png',
695 'resources/chromoting128.png',
696 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
698 # Localized strings for 'Info.plist'
699 '<!@pymod_do_main(remoting_localize --locale_output '
700 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings" '
701 '--print_only <(remoting_locales))',
703 'mac_bundle_resources!': [
704 'host/plugin/host_plugin-Info.plist',
707 ['mac_breakpad==1', {
709 # A real .dSYM is needed for dump_syms to operate on.
717 'BINARY=BINARY_HOST_PLUGIN',
718 'ISOLATION_AWARE_ENABLED=1',
722 'remoting_core_resources',
723 'remoting_version_resources',
726 '<(INTERMEDIATE_DIR)',
729 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
730 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
731 'host/plugin/host_plugin.def',
735 'EmbedManifest': 'true',
738 'AdditionalOptions': [
739 "\"/manifestdependency:type='win32' "
740 "name='Microsoft.Windows.Common-Controls' "
742 "processorArchitecture='*' "
743 "publicKeyToken='6595b64144ccf1df' language='*'\"",
749 }, # end of target 'remoting_host_plugin'
751 'target_name': 'remoting_it2me_host_static',
752 'type': 'static_library',
753 'variables': { 'enable_wexit_time_destructors': 1, },
755 '../base/base.gyp:base_i18n',
756 '../net/net.gyp:net',
759 'remoting_host_event_logger',
760 'remoting_host_logging',
761 'remoting_infoplist_strings',
762 'remoting_host_setup_base',
763 'remoting_jingle_glue',
764 'remoting_resources',
767 'VERSION=<(version_full)',
770 'host/it2me/it2me_host.cc',
771 'host/it2me/it2me_host.h',
772 'host/it2me/it2me_native_messaging_host.cc',
773 'host/it2me/it2me_native_messaging_host.h',
775 }, # end of target 'remoting_it2me_host_static'
777 'target_name': 'remoting_it2me_native_messaging_host',
778 'type': 'executable',
779 'variables': { 'enable_wexit_time_destructors': 1, },
781 '../base/base.gyp:base',
784 'remoting_jingle_glue',
785 'remoting_it2me_host_static',
786 'remoting_native_messaging_base',
789 'host/it2me/it2me_native_messaging_host_main.cc',
792 ['OS=="linux" and linux_use_tcmalloc==1', {
794 '../base/allocator/allocator.gyp:allocator',
798 }, # end of target 'remoting_it2me_native_messaging_host'
800 'target_name': 'remoting_infoplist_strings',
803 'remoting_resources',
807 'action_name': 'generate_host_plugin_strings',
809 '<(remoting_localize_path)',
810 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
813 '<!@pymod_do_main(remoting_localize --locale_output '
814 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings" '
815 '--print_only <(remoting_locales))',
819 '<(remoting_localize_path)',
820 '--locale_dir', '<(webapp_locale_dir)',
821 '--template', 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
823 '<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin_resources/@{json_suffix}.lproj/InfoPlist.strings',
824 '--encoding', 'utf-8',
825 '<@(remoting_locales)',
829 'action_name': 'generate_host_strings',
831 '<(remoting_localize_path)',
832 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
835 '<!@pymod_do_main(remoting_localize --locale_output '
836 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings" '
837 '--print_only <(remoting_locales))',
841 '<(remoting_localize_path)',
842 '--locale_dir', '<(webapp_locale_dir)',
843 '--template', 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
845 '<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings',
846 '--encoding', 'utf-8',
847 '<@(remoting_locales)',
851 'action_name': 'generate_preference_pane_strings',
853 '<(remoting_localize_path)',
854 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
857 '<!@pymod_do_main(remoting_localize --locale_output '
858 '"<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings" '
859 '--print_only <(remoting_locales))',
863 '<(remoting_localize_path)',
864 '--locale_dir', '<(webapp_locale_dir)',
865 '--template', 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
867 '<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings',
868 '--encoding', 'utf-8',
869 '<@(remoting_locales)',
873 'action_name': 'generate_uninstaller_strings',
875 '<(remoting_localize_path)',
876 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
879 '<!@pymod_do_main(remoting_localize --locale_output '
880 '"<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings" '
881 '--print_only <(remoting_locales))',
885 '<(remoting_localize_path)',
886 '--locale_dir', '<(webapp_locale_dir)',
887 '--template', 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
889 '<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings',
890 '--encoding', 'utf-8',
891 '<@(remoting_locales)',
895 }, # end of target 'remoting_infoplist_strings'
896 ], # end of 'targets'
897 }], # 'enable_remoting_host==1'
899 ['OS!="win" and enable_remoting_host==1', {
901 ['OS=="linux" and branding=="Chrome" and chromeos==0', {
903 'deb_cmd': 'host/installer/linux/build-deb.sh',
904 'deb_filename': 'host/installer/<!(["<(deb_cmd)", "-p", "-s", "<(DEPTH)"])',
905 'packaging_outputs': [
907 '<!(echo <(deb_filename) | sed -e "s/.deb$/.changes/")',
908 '<(PRODUCT_DIR)/remoting_me2me_host.debug',
909 '<(PRODUCT_DIR)/remoting_start_host.debug',
910 '<(PRODUCT_DIR)/remoting_native_messaging_host.debug',
915 # Store the installer package(s) into a zip file so there is a
916 # consistent filename to reference for build archiving (i.e. in
917 # FILES.cfg). This also avoids possible conflicts with "wildcard"
918 # package handling in other build/signing scripts.
919 'target_name': 'remoting_me2me_host_archive',
922 'remoting_me2me_host_deb_installer',
927 # 'deb_cmd': 'host/installer/linux/build-deb.sh',
929 'action_name': 'build_linux_installer_zip',
931 '<@(packaging_outputs)',
934 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
936 'action': [ 'zip', '-j', '-0', '<@(_outputs)', '<@(_inputs)' ],
941 'target_name': 'remoting_me2me_host_deb_installer',
944 'remoting_me2me_host',
945 'remoting_start_host',
946 'remoting_me2me_native_messaging_host',
947 'remoting_me2me_native_messaging_manifest',
951 'action_name': 'build_debian_package',
954 'host/installer/linux/Makefile',
955 'host/installer/linux/debian/chrome-remote-desktop.init',
956 'host/installer/linux/debian/chrome-remote-desktop.pam',
957 'host/installer/linux/debian/compat',
958 'host/installer/linux/debian/control',
959 'host/installer/linux/debian/copyright',
960 'host/installer/linux/debian/postinst',
961 'host/installer/linux/debian/preinst',
962 'host/installer/linux/debian/rules',
965 '<@(packaging_outputs)',
967 'action': [ '<(deb_cmd)', '-s', '<(DEPTH)' ],
976 'target_name': 'remoting_me2me_host',
977 'type': 'executable',
978 'variables': { 'enable_wexit_time_destructors': 1, },
980 '../base/base.gyp:base',
981 '../base/base.gyp:base_i18n',
982 '../net/net.gyp:net',
983 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
987 'remoting_host_event_logger',
988 'remoting_host_logging',
989 'remoting_host_setup_base',
990 'remoting_infoplist_strings',
991 'remoting_jingle_glue',
992 'remoting_me2me_host_static',
995 'VERSION=<(version_full)',
1000 'host/remoting_me2me_host.cc',
1006 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
1009 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
1010 'INFOPLIST_PREPROCESS': 'YES',
1011 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
1013 'mac_bundle_resources': [
1014 'host/disconnect_window.xib',
1015 'host/remoting_me2me_host.icns',
1016 'host/remoting_me2me_host-Info.plist',
1017 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
1019 # Localized strings for 'Info.plist'
1020 '<!@pymod_do_main(remoting_localize --locale_output '
1021 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_resources/@{json_suffix}.lproj/InfoPlist.strings" '
1022 '--print_only <(remoting_locales))',
1024 'mac_bundle_resources!': [
1025 'host/remoting_me2me_host-Info.plist',
1028 ['mac_breakpad==1', {
1030 # A real .dSYM is needed for dump_syms to operate on.
1035 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
1037 '<(PRODUCT_DIR)/crash_inspector',
1038 '<(PRODUCT_DIR)/crash_report_sender.app'
1043 '../breakpad/breakpad.gyp:dump_syms',
1047 'postbuild_name': 'Dump Symbols',
1049 'dump_product_syms_path':
1050 'scripts/mac/dump_product_syms',
1053 '<(dump_product_syms_path)',
1056 }, # end of postbuild 'dump_symbols'
1057 ], # end of 'postbuilds'
1058 }], # mac_breakpad==1
1061 ['OS=="linux" and linux_use_tcmalloc==1', {
1063 '../base/allocator/allocator.gyp:allocator',
1066 ], # end of 'conditions'
1067 }, # end of target 'remoting_me2me_host'
1069 'target_name': 'remoting_me2me_native_messaging_host',
1070 'type': 'executable',
1071 'product_name': 'remoting_native_messaging_host',
1072 'variables': { 'enable_wexit_time_destructors': 1, },
1074 '../base/base.gyp:base',
1076 'remoting_host_logging',
1077 'remoting_host_setup_base',
1078 'remoting_native_messaging_base',
1081 'host/setup/me2me_native_messaging_host_main.cc',
1084 ['OS=="linux" and linux_use_tcmalloc==1', {
1086 '../base/allocator/allocator.gyp:allocator',
1090 }, # end of target 'remoting_me2me_native_messaging_host'
1091 ], # end of 'targets'
1092 }], # 'OS!="win" and enable_remoting_host==1'
1095 ['OS=="linux" and chromeos==0 and enable_remoting_host==1', {
1097 # Linux breakpad processing
1099 'target_name': 'remoting_linux_symbols',
1102 ['linux_dump_symbols==1', {
1105 'action_name': 'dump_symbols',
1107 'plugin_file': '<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
1110 '<(DEPTH)/build/linux/dump_app_syms',
1111 '<(PRODUCT_DIR)/dump_syms',
1112 '<(PRODUCT_DIR)/<(plugin_file)',
1115 '<(PRODUCT_DIR)/<(plugin_file).breakpad.<(target_arch)',
1117 'action': ['<(DEPTH)/build/linux/dump_app_syms',
1118 '<(PRODUCT_DIR)/dump_syms',
1119 '<(linux_strip_binary)',
1120 '<(PRODUCT_DIR)/<(plugin_file)',
1122 'message': 'Dumping breakpad symbols to <(_outputs)',
1123 'process_outputs_as_sources': 1,
1127 'remoting_host_plugin',
1128 '../breakpad/breakpad.gyp:dump_syms',
1130 }], # 'linux_dump_symbols==1'
1131 ], # end of 'conditions'
1132 }, # end of target 'linux_symbols'
1134 'target_name': 'remoting_start_host',
1135 'type': 'executable',
1137 'remoting_host_setup_base',
1140 'host/setup/start_host.cc',
1143 ['linux_use_tcmalloc==1', {
1145 '../base/allocator/allocator.gyp:allocator',
1149 }, # end of target 'remoting_start_host'
1150 ], # end of 'targets'
1156 'target_name': 'remoting_host_uninstaller',
1157 'type': 'executable',
1160 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_ID@")',
1163 '<(DEPTH)/base/base.gyp:base',
1164 'remoting_infoplist_strings',
1167 'host/constants_mac.cc',
1168 'host/constants_mac.h',
1169 'host/installer/mac/uninstaller/remoting_uninstaller.h',
1170 'host/installer/mac/uninstaller/remoting_uninstaller.mm',
1171 'host/installer/mac/uninstaller/remoting_uninstaller_app.h',
1172 'host/installer/mac/uninstaller/remoting_uninstaller_app.mm',
1175 'INFOPLIST_FILE': 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1176 'INFOPLIST_PREPROCESS': 'YES',
1177 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
1179 'mac_bundle_resources': [
1180 'host/installer/mac/uninstaller/remoting_uninstaller.icns',
1181 'host/installer/mac/uninstaller/remoting_uninstaller.xib',
1182 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1184 # Localized strings for 'Info.plist'
1185 '<!@pymod_do_main(remoting_localize --locale_output '
1186 '"<(SHARED_INTERMEDIATE_DIR)/remoting/uninstaller_resources/@{json_suffix}.lproj/InfoPlist.strings" '
1187 '--print_only <(remoting_locales))',
1189 'mac_bundle_resources!': [
1190 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1192 }, # end of target 'remoting_host_uninstaller'
1194 # This packages up the files needed for the remoting host installer so
1195 # they can be sent off to be signed.
1196 # We don't build an installer here because we don't have signed binaries.
1198 'target_name': 'remoting_me2me_host_archive',
1201 'remoting_host_prefpane',
1202 'remoting_host_uninstaller',
1203 'remoting_me2me_host',
1204 'remoting_me2me_native_messaging_host',
1205 'remoting_me2me_native_messaging_manifest',
1208 'host_name': '<!(python <(version_py_path) -f <(branding_path) -t "@HOST_PLUGIN_FILE_NAME@")',
1209 'host_service_name': '<!(python <(version_py_path) -f <(branding_path) -t "@DAEMON_FILE_NAME@")',
1210 'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_NAME@")',
1211 'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
1215 'action_name': 'Zip installer files for signing',
1216 'temp_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting-me2me-host',
1217 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1219 'host_name_nospace': '<!(echo <(host_name) | sed "s/ //g")',
1220 'host_service_name_nospace': '<!(echo <(host_service_name) | sed "s/ //g")',
1221 'host_uninstaller_name_nospace': '<!(echo <(host_uninstaller_name) | sed "s/ //g")',
1223 'generated_files': [
1224 '<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
1225 '<(PRODUCT_DIR)/remoting_me2me_host.app',
1226 '<(PRODUCT_DIR)/remoting_host_uninstaller.app',
1227 '<(PRODUCT_DIR)/remoting_native_messaging_host',
1228 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
1230 'generated_files_dst': [
1231 'PreferencePanes/org.chromium.chromoting.prefPane',
1232 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app',
1233 'Applications/<(host_uninstaller_name).app',
1234 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app/Contents/MacOS/native_messaging_host',
1235 'Config/com.google.chrome.remote_desktop.json',
1238 '<@(remoting_host_installer_mac_files)',
1241 'VERSION=<(version_full)',
1242 'VERSION_SHORT=<(version_short)',
1243 'VERSION_MAJOR=<(version_major)',
1244 'VERSION_MINOR=<(version_minor)',
1245 'HOST_NAME=<(host_name)',
1246 'HOST_SERVICE_NAME=<(host_service_name)',
1247 'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
1248 'HOST_PKG=<(host_name)',
1249 'HOST_SERVICE_PKG=<(host_service_name_nospace)',
1250 'HOST_UNINSTALLER_PKG=<(host_uninstaller_name_nospace)',
1251 'BUNDLE_ID_HOST=<(bundle_prefix).<(host_name_nospace)',
1252 'BUNDLE_ID_HOST_SERVICE=<(bundle_prefix).<(host_service_name_nospace)',
1253 'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_name_nospace)',
1254 'DMG_VOLUME_NAME=<(host_name) <(version_full)',
1255 'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_full)',
1258 'host/installer/build-installer-archive.py',
1259 '<@(_source_files)',
1266 'host/installer/build-installer-archive.py',
1269 '--source-file-roots',
1270 '<@(remoting_host_installer_mac_roots)',
1272 '<@(_source_files)',
1273 '--generated-files',
1274 '<@(_generated_files)',
1275 '--generated-files-dst',
1276 '<@(_generated_files_dst)',
1282 }, # end of target 'remoting_me2me_host_archive'
1285 'target_name': 'remoting_host_prefpane',
1286 'type': 'loadable_module',
1288 'product_extension': 'prefPane',
1290 'JSON_USE_EXCEPTION=0',
1293 'remoting_infoplist_strings',
1296 '../third_party/jsoncpp/overrides/include/',
1297 '../third_party/jsoncpp/source/include/',
1298 '../third_party/jsoncpp/source/src/lib_json/',
1301 # These source files are included directly, instead of adding target
1302 # dependencies, because the targets are not yet built for 64-bit on
1303 # Mac OS X - http://crbug.com/125116.
1305 # TODO(lambroslambrou): Fix this when Chrome supports building for
1306 # Mac OS X 64-bit - http://crbug.com/128122.
1308 '../third_party/jsoncpp/source/src/lib_json/json_reader.cpp',
1309 '../third_party/jsoncpp/overrides/src/lib_json/json_value.cpp',
1310 '../third_party/jsoncpp/source/src/lib_json/json_writer.cpp',
1311 '../third_party/modp_b64/modp_b64.cc',
1312 'host/constants_mac.cc',
1313 'host/constants_mac.h',
1314 'host/host_config.cc',
1315 'host/mac/me2me_preference_pane.h',
1316 'host/mac/me2me_preference_pane.mm',
1317 'host/mac/me2me_preference_pane_confirm_pin.h',
1318 'host/mac/me2me_preference_pane_confirm_pin.mm',
1319 'host/mac/me2me_preference_pane_disable.h',
1320 'host/mac/me2me_preference_pane_disable.mm',
1324 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1325 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
1326 '$(SDKROOT)/System/Library/Frameworks/PreferencePanes.framework',
1327 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
1331 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_ID@")',
1334 'ARCHS': ['i386', 'x86_64'],
1335 'GCC_ENABLE_OBJC_GC': 'supported',
1336 'INFOPLIST_FILE': 'host/mac/me2me_preference_pane-Info.plist',
1337 'INFOPLIST_PREPROCESS': 'YES',
1338 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
1340 'mac_bundle_resources': [
1341 'host/mac/me2me_preference_pane.xib',
1342 'host/mac/me2me_preference_pane_confirm_pin.xib',
1343 'host/mac/me2me_preference_pane_disable.xib',
1344 'host/mac/me2me_preference_pane-Info.plist',
1345 'resources/chromoting128.png',
1347 # Localized strings for 'Info.plist'
1348 '<!@pymod_do_main(remoting_localize --locale_output '
1349 '"<(SHARED_INTERMEDIATE_DIR)/remoting/preference_pane_resources/@{json_suffix}.lproj/InfoPlist.strings" '
1350 '--print_only <(remoting_locales))',
1352 'mac_bundle_resources!': [
1353 'host/mac/me2me_preference_pane-Info.plist',
1356 ['mac_breakpad==1', {
1358 # A real .dSYM is needed for dump_syms to operate on.
1361 }], # 'mac_breakpad==1'
1363 }, # end of target 'remoting_host_prefpane'
1364 ], # end of 'targets'
1370 'target_name': 'remoting_breakpad_tester',
1371 'type': 'executable',
1372 'variables': { 'enable_wexit_time_destructors': 1, },
1374 '../base/base.gyp:base',
1375 'remoting_host_logging',
1378 'tools/breakpad_tester_win.cc',
1380 }, # end of target 'remoting_breakpad_tester'
1382 'target_name': 'remoting_lib_idl',
1383 'type': 'static_library',
1385 'host/win/chromoting_lib_idl.templ',
1386 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.h',
1387 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
1388 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_i.c',
1390 # This target exports a hard dependency because dependent targets may
1391 # include chromoting_lib.h, a generated header.
1392 'hard_dependency': 1,
1395 'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
1398 'direct_dependent_settings': {
1400 '<(SHARED_INTERMEDIATE_DIR)',
1405 'rule_name': 'generate_idl',
1406 'extension': 'templ',
1408 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
1412 '<(version_py_path)',
1413 '-e', "DAEMON_CONTROLLER_CLSID='<(daemon_controller_clsid)'",
1414 '-e', "RDP_DESKTOP_SESSION_CLSID='<(rdp_desktop_session_clsid)'",
1415 '<(RULE_INPUT_PATH)',
1418 'process_outputs_as_sources': 1,
1419 'message': 'Generating <@(_outputs)',
1420 'msvs_cygwin_shell': 0,
1423 }, # end of target 'remoting_lib_idl'
1425 # remoting_lib_ps builds the proxy/stub code generated by MIDL (see
1426 # remoting_lib_idl).
1428 'target_name': 'remoting_lib_ps',
1429 'type': 'static_library',
1431 # Prepend 'Ps' to the MIDL-generated routines. This includes
1432 # DllGetClassObject, DllCanUnloadNow, DllRegisterServer,
1433 # DllUnregisterServer, and DllMain.
1435 'REGISTER_PROXY_DLL',
1441 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.dlldata.c',
1442 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_p.c',
1444 }, # end of target 'remoting_lib_ps'
1446 # Regenerates 'chromoting_lib.rc' (used to embed 'chromoting_lib.tlb'
1447 # into remoting_core.dll's resources) every time
1448 # 'chromoting_lib_idl.templ' changes. Making remoting_core depend on
1449 # both this and 'remoting_lib_idl' targets ensures that the resorces
1450 # are rebuilt every time the type library is updated. GYP alone is
1451 # not smart enough to figure out this dependency on its own.
1453 'target_name': 'remoting_lib_rc',
1456 'host/win/chromoting_lib_idl.templ',
1458 'hard_dependency': 1,
1459 'direct_dependent_settings': {
1461 '<(SHARED_INTERMEDIATE_DIR)',
1466 'rule_name': 'generate_rc',
1467 'extension': 'templ',
1469 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1472 'echo 1 typelib "remoting/host/chromoting_lib.tlb" > <@(_outputs)',
1474 'message': 'Generating <@(_outputs)',
1475 'msvs_cygwin_shell': 0,
1478 }, # end of target 'remoting_lib_rc'
1480 'target_name': 'remoting_configurer',
1481 'type': 'executable',
1483 '_ATL_NO_EXCEPTIONS',
1486 '../base/base.gyp:base',
1487 '../crypto/crypto.gyp:crypto',
1489 'remoting_host_setup_base',
1493 'host/setup/win/host_configurer.cc',
1494 'host/setup/win/host_configurer.rc',
1495 'host/setup/win/host_configurer_window.cc',
1496 'host/setup/win/host_configurer_window.h',
1497 'host/setup/win/host_configurer_resource.h',
1498 'host/setup/win/load_string_from_resource.cc',
1499 'host/setup/win/load_string_from_resource.h',
1500 'host/setup/win/start_host_window.cc',
1501 'host/setup/win/start_host_window.h',
1505 'AdditionalOptions': [
1506 "\"/manifestdependency:type='win32' "
1507 "name='Microsoft.Windows.Common-Controls' "
1508 "version='6.0.0.0' "
1509 "processorArchitecture='*' "
1510 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1512 # 2 == /SUBSYSTEM:WINDOWS
1516 }, # end of target 'remoting_configurer'
1517 # The only difference between |remoting_console.exe| and
1518 # |remoting_host.exe| is that the former is a console application.
1519 # |remoting_console.exe| is used for debugging purposes.
1521 'target_name': 'remoting_console',
1522 'type': 'executable',
1523 'variables': { 'enable_wexit_time_destructors': 1, },
1525 'BINARY=BINARY_HOST_ME2ME',
1529 'remoting_version_resources',
1532 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1533 'host/win/entry_point.cc',
1537 'AdditionalManifestFiles': [
1538 'host/win/dpi_aware.manifest',
1542 'EntryPointSymbol': 'HostEntryPoint',
1543 'IgnoreAllDefaultLibraries': 'true',
1544 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
1547 }, # end of target 'remoting_console'
1549 'target_name': 'remoting_core',
1550 'type': 'shared_library',
1551 'variables': { 'enable_wexit_time_destructors': 1, },
1553 '_ATL_APARTMENT_THREADED',
1554 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
1555 '_ATL_NO_AUTOMATIC_NAMESPACE',
1556 '_ATL_NO_EXCEPTIONS',
1557 'BINARY=BINARY_CORE',
1558 'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
1559 'RDP_DESKTOP_SESSION_CLSID="{<(rdp_desktop_session_clsid)}"',
1560 'HOST_IMPLEMENTATION',
1561 'ISOLATION_AWARE_ENABLED=1',
1563 'VERSION=<(version_full)',
1566 '../base/base.gyp:base',
1567 '../base/base.gyp:base_static',
1568 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
1569 '../ipc/ipc.gyp:ipc',
1570 '../net/net.gyp:net',
1571 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
1573 'remoting_breakpad',
1574 'remoting_core_resources',
1576 'remoting_host_event_logger',
1577 'remoting_host_logging',
1578 'remoting_host_setup_base',
1582 'remoting_me2me_host_static',
1583 'remoting_native_messaging_base',
1584 'remoting_protocol',
1585 'remoting_version_resources',
1588 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
1589 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1590 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
1591 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1592 'host/chromoting_messages.cc',
1593 'host/chromoting_messages.h',
1594 'host/config_file_watcher.cc',
1595 'host/config_file_watcher.h',
1596 'host/config_watcher.h',
1597 'host/daemon_process.cc',
1598 'host/daemon_process.h',
1599 'host/daemon_process_win.cc',
1600 'host/desktop_process.cc',
1601 'host/desktop_process.h',
1602 'host/desktop_process_main.cc',
1603 'host/desktop_session.cc',
1604 'host/desktop_session.h',
1605 'host/desktop_session_agent.cc',
1606 'host/desktop_session_agent.h',
1607 'host/desktop_session_win.cc',
1608 'host/desktop_session_win.h',
1609 'host/host_exit_codes.h',
1610 'host/host_exit_codes.cc',
1611 'host/host_export.h',
1612 'host/host_main.cc',
1614 'host/ipc_constants.cc',
1615 'host/ipc_constants.h',
1616 'host/remoting_me2me_host.cc',
1617 'host/sas_injector.h',
1618 'host/sas_injector_win.cc',
1619 'host/setup/me2me_native_messaging_host_main.cc',
1620 'host/verify_config_window_win.cc',
1621 'host/verify_config_window_win.h',
1622 'host/win/chromoting_module.cc',
1623 'host/win/chromoting_module.h',
1625 'host/win/core_resource.h',
1626 'host/win/elevated_controller.cc',
1627 'host/win/elevated_controller.h',
1628 'host/win/host_service.cc',
1629 'host/win/host_service.h',
1630 'host/win/omaha.cc',
1632 'host/win/rdp_desktop_session.cc',
1633 'host/win/rdp_desktop_session.h',
1634 'host/win/unprivileged_process_delegate.cc',
1635 'host/win/unprivileged_process_delegate.h',
1636 'host/win/worker_process_launcher.cc',
1637 'host/win/worker_process_launcher.h',
1638 'host/win/wts_session_process_delegate.cc',
1639 'host/win/wts_session_process_delegate.h',
1640 'host/worker_process_ipc_delegate.h',
1644 'EmbedManifest': 'true',
1647 'AdditionalDependencies': [
1654 'AdditionalOptions': [
1655 "\"/manifestdependency:type='win32' "
1656 "name='Microsoft.Windows.Common-Controls' "
1657 "version='6.0.0.0' "
1658 "processorArchitecture='*' "
1659 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1661 # Export the proxy/stub entry points. Note that the generated
1662 # routines have 'Ps' prefix to avoid conflicts with our own
1664 '/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE',
1665 '/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE',
1666 '/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE',
1667 '/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE',
1671 }, # end of target 'remoting_core'
1673 'target_name': 'remoting_core_resources',
1676 'remoting_resources',
1678 'hard_dependency': 1,
1679 'direct_dependent_settings': {
1681 '<(SHARED_INTERMEDIATE_DIR)',
1685 'host/win/core.rc.jinja2'
1689 'rule_name': 'version',
1690 'extension': 'jinja2',
1692 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc'
1696 '<(remoting_localize_path)',
1697 '--locale_dir', '<(webapp_locale_dir)',
1698 '--template', '<(RULE_INPUT_PATH)',
1699 '--output', '<@(_outputs)',
1700 '<@(remoting_locales)',
1702 'message': 'Localizing the dialogs and strings'
1705 }, # end of target 'remoting_core_resources'
1707 'target_name': 'remoting_desktop',
1708 'type': 'executable',
1709 'variables': { 'enable_wexit_time_destructors': 1, },
1711 'BINARY=BINARY_DESKTOP',
1715 'remoting_version_resources',
1718 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1719 'host/win/entry_point.cc',
1723 'AdditionalManifestFiles': [
1724 'host/win/dpi_aware.manifest',
1728 'EnableUAC': 'true',
1729 # Add 'level="requireAdministrator" uiAccess="true"' to
1730 # the manifest only for the official builds because it requires
1731 # the binary to be signed to work.
1733 ['buildtype == "Official"', {
1734 'UACExecutionLevel': 2,
1735 'UACUIAccess': 'true',
1738 'EntryPointSymbol': 'HostEntryPoint',
1739 'IgnoreAllDefaultLibraries': 'true',
1740 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1743 }, # end of target 'remoting_desktop'
1745 'target_name': 'remoting_host_exe',
1746 'product_name': 'remoting_host',
1747 'type': 'executable',
1748 'variables': { 'enable_wexit_time_destructors': 1, },
1750 'BINARY=BINARY_HOST_ME2ME',
1754 'remoting_version_resources',
1757 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1758 'host/win/entry_point.cc',
1762 'AdditionalManifestFiles': [
1763 'host/win/dpi_aware.manifest',
1767 'EntryPointSymbol': 'HostEntryPoint',
1768 'IgnoreAllDefaultLibraries': 'true',
1769 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
1770 'OutputFile': '$(OutDir)\\remoting_host.exe',
1771 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1774 }, # end of target 'remoting_host_exe'
1776 'target_name': 'remoting_host_messages',
1779 'remoting_resources',
1781 'hard_dependency': 1,
1782 'direct_dependent_settings': {
1784 '<(SHARED_INTERMEDIATE_DIR)',
1788 'host/win/host_messages.mc.jinja2'
1792 'rule_name': 'localize',
1793 'extension': 'jinja2',
1795 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.mc',
1799 '<(remoting_localize_path)',
1800 '--locale_dir', '<(webapp_locale_dir)',
1801 '--template', '<(RULE_INPUT_PATH)',
1802 '--output', '<@(_outputs)',
1803 '<@(remoting_locales)',
1805 'message': 'Localizing the event log messages'
1808 }, # end of target 'remoting_host_messages'
1810 # Generates localized the version information resources for the Windows
1812 # The substitution strings are taken from:
1813 # - build/util/LASTCHANGE - the last source code revision.
1814 # - chrome/VERSION - the major, build & patch versions.
1815 # - remoting/VERSION - the chromoting patch version (and overrides
1816 # for chrome/VERSION).
1817 # - translated webapp strings
1819 'target_name': 'remoting_version_resources',
1822 'remoting_resources',
1824 'hard_dependency': 1,
1825 'direct_dependent_settings': {
1827 '<(SHARED_INTERMEDIATE_DIR)',
1831 'host/win/version.rc.jinja2'
1835 'rule_name': 'version',
1836 'extension': 'jinja2',
1838 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
1841 '<(chrome_version_path)',
1842 '<(lastchange_path)',
1843 '<(remoting_version_path)',
1846 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1850 '<(remoting_localize_path)',
1851 '--variables', '<(chrome_version_path)',
1852 # |remoting_version_path| must be after |chrome_version_path|
1853 # because it can contain overrides for the version numbers.
1854 '--variables', '<(remoting_version_path)',
1855 '--variables', '<(lastchange_path)',
1856 '--locale_dir', '<(webapp_locale_dir)',
1857 '--template', '<(RULE_INPUT_PATH)',
1858 '--output', '<@(_outputs)',
1859 '<@(remoting_locales)',
1861 'message': 'Localizing the version information'
1864 }, # end of target 'remoting_version_resources'
1865 ], # end of 'targets'
1871 'target_name': 'remoting_jni_headers',
1874 'android/java/src/org/chromium/chromoting/jni/JniInterface.java',
1877 'jni_gen_package': 'remoting',
1879 'includes': [ '../build/jni_generator.gypi' ],
1880 }, # end of target 'remoting_jni_headers'
1882 'target_name': 'remoting_client_jni',
1883 'type': 'shared_library',
1887 'remoting_jingle_glue',
1888 'remoting_jni_headers',
1889 'remoting_protocol',
1890 '../google_apis/google_apis.gyp:google_apis',
1893 '<(SHARED_INTERMEDIATE_DIR)/remoting',
1896 'client/jni/android_keymap.cc',
1897 'client/jni/android_keymap.h',
1898 'client/jni/chromoting_jni_instance.cc',
1899 'client/jni/chromoting_jni_instance.h',
1900 'client/jni/chromoting_jni_onload.cc',
1901 'client/jni/chromoting_jni_runtime.cc',
1902 'client/jni/chromoting_jni_runtime.h',
1903 'client/jni/jni_frame_consumer.cc',
1904 'client/jni/jni_frame_consumer.h',
1906 }, # end of target 'remoting_client_jni'
1908 'target_name': 'remoting_android_resources',
1912 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/drawable',
1914 'resources/chromoting128.png',
1915 'resources/icon_host.png',
1919 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/layout',
1921 'resources/layout/main.xml',
1922 'resources/layout/host.xml',
1923 'resources/layout/pin_dialog.xml',
1927 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/menu',
1929 'resources/menu/chromoting_actionbar.xml',
1930 'resources/menu/desktop_actionbar.xml',
1934 'destination': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/values',
1936 'resources/strings.xml',
1937 'resources/styles.xml',
1941 }, # end of target 'remoting_android_resources'
1943 'target_name': 'remoting_apk',
1946 'remoting_client_jni',
1947 'remoting_android_resources',
1950 'apk_name': 'Chromoting',
1951 'android_app_version_name': '<(version_full)',
1952 'android_app_version_code': '<!(python ../build/util/lastchange.py --revision-only)',
1953 'manifest_package_name': 'org.chromium.chromoting',
1954 'native_lib_target': 'libremoting_client_jni',
1955 'java_in_dir': 'android/java',
1956 'additional_res_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ],
1957 'additional_input_paths': [
1958 '<(PRODUCT_DIR)/obj/remoting/remoting_android_resources.actions_rules_copies.stamp',
1961 'includes': [ '../build/java_apk.gypi' ],
1962 }, # end of target 'remoting_apk'
1963 ], # end of 'targets'
1964 }], # 'OS=="android"'
1966 # The host installation is generated only if WiX is available. If
1967 # component build is used the produced installation will not work due to
1968 # missing DLLs. We build it anyway to make sure the GYP scripts are executed
1970 ['OS == "win" and wix_exists == "True" and sas_dll_exists == "True"', {
1973 'target_name': 'remoting_host_installation',
1976 'remoting_me2me_host_archive',
1979 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1982 '<(PRODUCT_DIR)/chromoting.msi',
1986 'rule_name': 'zip2msi',
1992 '<(PRODUCT_DIR)/chromoting.msi',
1994 'msvs_cygwin_shell': 0,
1996 'python', 'tools/zip2msi.py',
1997 '--wix_path', '<(wix_path)',
1998 '--intermediate_dir', '<(INTERMEDIATE_DIR)/installation',
1999 '<(RULE_INPUT_PATH)',
2002 'message': 'Generating <@(_outputs)',
2005 }, # end of target 'remoting_host_installation'
2008 'target_name': 'remoting_me2me_host_archive',
2013 'remoting_host_exe',
2014 'remoting_me2me_native_messaging_manifest',
2016 'compiled_inputs': [
2017 '<(PRODUCT_DIR)/remoting_core.dll',
2018 '<(PRODUCT_DIR)/remoting_desktop.exe',
2019 '<(PRODUCT_DIR)/remoting_host.exe',
2021 'compiled_inputs_dst': [
2022 'files/remoting_core.dll',
2023 'files/remoting_desktop.exe',
2024 'files/remoting_host.exe',
2027 ['buildtype == "Official"', {
2031 }, { # else buildtype != "Official"
2038 'BRANDING=<(branding)',
2039 'DAEMON_CONTROLLER_CLSID={<(daemon_controller_clsid)}',
2040 'RDP_DESKTOP_SESSION_CLSID={<(rdp_desktop_session_clsid)}',
2041 'VERSION=<(version_full)',
2043 'generated_files': [
2044 '<@(_compiled_inputs)',
2045 '<(sas_dll_path)/sas.dll',
2046 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
2047 'resources/chromoting.ico',
2049 'generated_files_dst': [
2050 '<@(_compiled_inputs_dst)',
2052 'files/com.google.chrome.remote_desktop.json',
2053 'files/chromoting.ico',
2055 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
2061 'action_name': 'Zip installer files for signing',
2062 'temp_dir': '<(INTERMEDIATE_DIR)/installation',
2064 '<@(remoting_host_installer_win_files)',
2067 '<@(_compiled_inputs)',
2068 '<(sas_dll_path)/sas.dll',
2069 '<@(_source_files)',
2070 'host/installer/build-installer-archive.py',
2071 'resources/chromoting.ico',
2078 'host/installer/build-installer-archive.py',
2081 '--source-file-roots',
2082 '<@(remoting_host_installer_win_roots)',
2084 '<@(_source_files)',
2085 '--generated-files',
2086 '<@(_generated_files)',
2087 '--generated-files-dst',
2088 '<@(_generated_files_dst)',
2094 }, # end of target 'remoting_me2me_host_archive'
2095 ], # end of 'targets'
2096 }], # '<(wix_path) != ""'
2098 ], # end of 'conditions'
2102 'target_name': 'remoting_breakpad',
2103 'type': 'static_library',
2104 'variables': { 'enable_wexit_time_destructors': 1, },
2106 '../base/base.gyp:base',
2110 'base/breakpad_linux.cc',
2111 'base/breakpad_mac.mm',
2112 'base/breakpad_win.cc',
2117 '../breakpad/breakpad.gyp:breakpad',
2122 '../breakpad/breakpad.gyp:breakpad_handler',
2126 }, # end of target 'remoting_breakpad'
2129 'target_name': 'remoting_client_plugin',
2130 'type': 'static_library',
2131 'variables': { 'enable_wexit_time_destructors': 1, },
2133 'HAVE_STDINT_H', # Required by on2_integer.h
2138 'remoting_jingle_glue',
2139 '../net/net.gyp:net',
2140 '../ppapi/ppapi.gyp:ppapi_cpp_objects',
2141 '../skia/skia.gyp:skia',
2142 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2143 '../ui/events/events.gyp:dom4_keycode_converter',
2146 'client/plugin/chromoting_instance.cc',
2147 'client/plugin/chromoting_instance.h',
2148 'client/plugin/normalizing_input_filter.cc',
2149 'client/plugin/delegating_signal_strategy.cc',
2150 'client/plugin/delegating_signal_strategy.h',
2151 'client/plugin/normalizing_input_filter.h',
2152 'client/plugin/normalizing_input_filter_cros.cc',
2153 'client/plugin/normalizing_input_filter_mac.cc',
2154 'client/plugin/pepper_audio_player.cc',
2155 'client/plugin/pepper_audio_player.h',
2156 'client/plugin/pepper_entrypoints.cc',
2157 'client/plugin/pepper_entrypoints.h',
2158 'client/plugin/pepper_input_handler.cc',
2159 'client/plugin/pepper_input_handler.h',
2160 'client/plugin/pepper_network_manager.cc',
2161 'client/plugin/pepper_network_manager.h',
2162 'client/plugin/pepper_packet_socket_factory.cc',
2163 'client/plugin/pepper_packet_socket_factory.h',
2164 'client/plugin/pepper_plugin_thread_delegate.cc',
2165 'client/plugin/pepper_plugin_thread_delegate.h',
2166 'client/plugin/pepper_port_allocator.cc',
2167 'client/plugin/pepper_port_allocator.h',
2168 'client/plugin/pepper_token_fetcher.cc',
2169 'client/plugin/pepper_token_fetcher.h',
2170 'client/plugin/pepper_util.cc',
2171 'client/plugin/pepper_util.h',
2172 'client/plugin/pepper_view.cc',
2173 'client/plugin/pepper_view.h',
2176 [ '(OS!="linux" or chromeos==0)', {
2178 'client/plugin/normalizing_input_filter_cros.cc',
2182 }, # end of target 'remoting_client_plugin'
2185 'target_name': 'remoting_host_event_logger',
2186 'type': 'static_library',
2187 'variables': { 'enable_wexit_time_destructors': 1, },
2192 'host/host_event_logger.h',
2193 'host/host_event_logger_posix.cc',
2194 'host/host_event_logger_win.cc',
2199 'remoting_host_messages',
2201 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
2203 '<(_output_dir)/remoting_host_messages.mc',
2208 'direct_dependent_settings': {
2214 # Rule to run the message compiler.
2216 'rule_name': 'message_compiler',
2220 '<(_output_dir)/remoting_host_messages.h',
2221 '<(_output_dir)/remoting_host_messages.rc',
2223 'msvs_cygwin_shell': 0,
2226 '-h', '<(_output_dir)',
2227 '-r', '<(_output_dir)/.',
2229 '<(RULE_INPUT_PATH)',
2231 'process_outputs_as_sources': 1,
2232 'message': 'Running message compiler on <(RULE_INPUT_PATH)',
2236 ], # end of 'conditions'
2237 }, # end of target 'remoting_host_event_logger'
2240 'target_name': 'remoting_webapp',
2243 'remoting_webapp_patch_files': [
2244 'webapp/appsv2.patch',
2246 'remoting_webapp_apps_v2_js_files': [
2247 'webapp/background.js',
2251 'remoting_resources',
2252 'remoting_host_plugin',
2255 '<@(remoting_webapp_locale_files)',
2258 ['enable_remoting_host==1', {
2260 '<@(remoting_locale_files)',
2263 'plugin_path': '<(PRODUCT_DIR)/<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
2270 'remoting_host_plugin',
2276 'action_name': 'Build Remoting WebApp',
2277 'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp',
2278 'zip_path': '<(PRODUCT_DIR)/remoting-webapp.zip',
2280 'webapp/build-webapp.py',
2281 '<(chrome_version_path)',
2282 '<(remoting_version_path)',
2283 '<@(remoting_webapp_files)',
2284 '<@(remoting_webapp_js_files)',
2285 '<@(_locale_files)',
2288 ['enable_remoting_host==1', {
2299 'python', 'webapp/build-webapp.py',
2302 '<(host_plugin_mime_type)',
2306 '<@(remoting_webapp_files)',
2307 '<@(remoting_webapp_js_files)',
2309 '<@(_locale_files)',
2311 'msvs_cygwin_shell': 0,
2314 'target_conditions': [
2315 # We cannot currently build the appsv2 version of WebApp on Windows as
2316 # there isn't a version of the "patch" tool available on windows. We
2317 # should remove this condition when we remove the reliance on patch.
2319 # We define this in a 'target_conditions' section because 'plugin_path'
2320 # is defined in a 'conditions' section so its value is not available
2321 # when gyp processes the 'actions' in a 'conditions" section.
2325 'action_name': 'Build Remoting WebApp V2',
2326 'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp.v2',
2327 'zip_path': '<(PRODUCT_DIR)/remoting-webapp.v2.zip',
2329 'webapp/build-webapp.py',
2330 '<(chrome_version_path)',
2331 '<(remoting_version_path)',
2332 '<@(remoting_webapp_apps_v2_js_files)',
2333 '<@(remoting_webapp_files)',
2334 '<@(remoting_webapp_js_files)',
2335 '<@(remoting_webapp_locale_files)',
2336 '<@(remoting_webapp_patch_files)',
2339 ['enable_remoting_host==1', {
2350 'python', 'webapp/build-webapp.py',
2353 '<(host_plugin_mime_type)',
2357 '<@(remoting_webapp_apps_v2_js_files)',
2358 '<@(remoting_webapp_files)',
2359 '<@(remoting_webapp_js_files)',
2361 '<@(remoting_webapp_locale_files)',
2363 '<@(remoting_webapp_patch_files)',
2365 'msvs_cygwin_shell': 0,
2370 }, # end of target 'remoting_webapp'
2372 # Generates 'me2me_native_messaging_manifest.json' to be included in the
2375 'target_name': 'remoting_me2me_native_messaging_manifest',
2378 'remoting_resources',
2381 'input': 'host/setup/me2me_native_messaging_manifest.json',
2382 'output': '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
2384 'target_conditions': [
2385 ['OS == "win" or OS == "mac" or OS == "linux"', {
2389 'me2me_native_messaging_host_path': 'remoting_host.exe',
2391 }], [ 'OS == "mac"', {
2393 'me2me_native_messaging_host_path': '/Library/PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app/Contents/MacOS/native_messaging_host',
2395 }], ['OS == "linux"', {
2397 'me2me_native_messaging_host_path': '/opt/google/chrome-remote-desktop/native-messaging-host',
2399 }], ['OS != "linux" and OS != "mac" and OS != "win"', {
2401 'me2me_native_messaging_host_path': '/opt/google/chrome-remote-desktop/native-messaging-host',
2407 'action_name': 'generate_manifest',
2409 '<(remoting_localize_path)',
2417 '<(remoting_localize_path)',
2418 '--define', 'ME2ME_NATIVE_MESSAGING_HOST_PATH=<(me2me_native_messaging_host_path)',
2419 '--locale_dir', '<(webapp_locale_dir)',
2420 '--template', '<(input)',
2423 '--encoding', 'utf-8',
2430 ], # target_conditions
2431 }, # end of target 'remoting_me2me_native_messaging_manifest'
2433 'target_name': 'remoting_resources',
2436 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
2437 'grit_resource_ids': 'resources/resource_ids',
2439 'base/resources_unittest.cc',
2440 'host/continue_window_mac.mm',
2441 'host/disconnect_window_mac.mm',
2442 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
2443 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
2444 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
2445 'host/win/core.rc.jinja2',
2446 'host/win/host_messages.mc.jinja2',
2447 'host/win/version.rc.jinja2',
2448 'webapp/background.js',
2449 'webapp/butter_bar.js',
2450 'webapp/client_screen.js',
2452 'webapp/host_list.js',
2453 'webapp/host_setup_dialog.js',
2454 'webapp/host_table_entry.js',
2456 'webapp/manifest.json',
2457 'webapp/paired_client_manager.js',
2458 'webapp/remoting.js',
2463 'action_name': 'verify_resources',
2465 'resources/remoting_strings.grd',
2466 'tools/verify_resources.py',
2470 '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
2474 'tools/verify_resources.py',
2475 '-t', '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
2476 '-r', 'resources/remoting_strings.grd',
2481 'action_name': 'remoting_strings',
2483 'grit_grd_file': 'resources/remoting_strings.grd',
2485 'includes': [ '../build/grit_action.gypi' ],
2488 'action_name': 'copy_locales',
2490 'copy_output_dir%': '<(PRODUCT_DIR)',
2493 'tools/build/remoting_copy_locales.py',
2494 '<!@pymod_do_main(remoting_copy_locales -i -p <(OS) -g <(grit_out_dir) <(remoting_locales))'
2497 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(copy_output_dir) <(remoting_locales))'
2501 'tools/build/remoting_copy_locales.py',
2503 '-g', '<(grit_out_dir)',
2504 '-x', '<(copy_output_dir)/.',
2505 '<@(remoting_locales)',
2507 # Without this, the /. in the -x command above fails, but only in VS
2508 # builds (because VS puts the command in to a batch file and then
2509 # the normalization and substitution of "...\Release\" cause the
2510 # trailing " to be escaped.
2511 'msvs_cygwin_shell': 1,
2514 'includes': [ '../build/grit_target.gypi' ],
2515 }, # end of target 'remoting_resources'
2518 'target_name': 'remoting_base',
2519 'type': 'static_library',
2520 'variables': { 'enable_wexit_time_destructors': 1, },
2522 '../base/base.gyp:base',
2523 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
2524 '../ui/gfx/gfx.gyp:gfx',
2526 '../net/net.gyp:net',
2527 '../skia/skia.gyp:skia',
2528 '../third_party/libvpx/libvpx.gyp:libvpx',
2529 '../third_party/libyuv/libyuv.gyp:libyuv',
2530 '../third_party/opus/opus.gyp:opus',
2531 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
2532 '../media/media.gyp:media',
2533 '../media/media.gyp:shared_memory_support',
2534 'remoting_jingle_glue',
2535 'remoting_resources',
2536 'proto/chromotocol.gyp:chromotocol_proto_lib',
2537 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2539 'export_dependent_settings': [
2540 '../base/base.gyp:base',
2541 '../net/net.gyp:net',
2542 '../skia/skia.gyp:skia',
2543 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
2544 'proto/chromotocol.gyp:chromotocol_proto_lib',
2546 # This target needs a hard dependency because dependent targets
2547 # depend on chromotocol_proto_lib for headers.
2548 'hard_dependency': 1,
2550 'base/auth_token_util.cc',
2551 'base/auth_token_util.h',
2552 'base/auto_thread.cc',
2553 'base/auto_thread.h',
2554 'base/auto_thread_task_runner.cc',
2555 'base/auto_thread_task_runner.h',
2556 'base/capabilities.cc',
2557 'base/capabilities.h',
2558 'base/compound_buffer.cc',
2559 'base/compound_buffer.h',
2560 'base/constants.cc',
2562 'base/plugin_thread_task_runner.cc',
2563 'base/plugin_thread_task_runner.h',
2564 'base/rate_counter.cc',
2565 'base/rate_counter.h',
2567 'base/resources_linux.cc',
2568 'base/resources_mac.cc',
2569 'base/resources_win.cc',
2570 'base/rsa_key_pair.cc',
2571 'base/rsa_key_pair.h',
2572 'base/running_average.cc',
2573 'base/running_average.h',
2574 'base/scoped_sc_handle_win.h',
2575 'base/socket_reader.cc',
2576 'base/socket_reader.h',
2577 'base/typed_buffer.h',
2578 'base/url_request_context.cc',
2579 'base/url_request_context.h',
2582 'base/vlog_net_log.cc',
2583 'base/vlog_net_log.h',
2584 'codec/audio_decoder.cc',
2585 'codec/audio_decoder.h',
2586 'codec/audio_decoder_opus.cc',
2587 'codec/audio_decoder_opus.h',
2588 'codec/audio_decoder_verbatim.cc',
2589 'codec/audio_decoder_verbatim.h',
2590 'codec/audio_encoder.h',
2591 'codec/audio_encoder_opus.cc',
2592 'codec/audio_encoder_opus.h',
2593 'codec/audio_encoder_verbatim.cc',
2594 'codec/audio_encoder_verbatim.h',
2595 'codec/scoped_vpx_codec.cc',
2596 'codec/scoped_vpx_codec.h',
2597 'codec/video_decoder.h',
2598 'codec/video_decoder_verbatim.cc',
2599 'codec/video_decoder_verbatim.h',
2600 'codec/video_decoder_vpx.cc',
2601 'codec/video_decoder_vpx.h',
2602 'codec/video_encoder.h',
2603 'codec/video_encoder_verbatim.cc',
2604 'codec/video_encoder_verbatim.h',
2605 'codec/video_encoder_vpx.cc',
2606 'codec/video_encoder_vpx.h',
2608 }, # end of target 'remoting_base'
2611 'target_name': 'remoting_host_logging',
2612 'type': 'static_library',
2613 'variables': { 'enable_wexit_time_destructors': 1, },
2615 '../base/base.gyp:base',
2621 'host/logging_posix.cc',
2622 'host/logging_win.cc',
2624 }, # end of target 'remoting_host_logging'
2627 'target_name': 'remoting_client',
2628 'type': 'static_library',
2629 'variables': { 'enable_wexit_time_destructors': 1, },
2632 'remoting_jingle_glue',
2633 'remoting_protocol',
2634 '../third_party/libyuv/libyuv.gyp:libyuv',
2635 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2638 'client/audio_decode_scheduler.cc',
2639 'client/audio_decode_scheduler.h',
2640 'client/audio_player.cc',
2641 'client/audio_player.h',
2642 'client/chromoting_client.cc',
2643 'client/chromoting_client.h',
2644 'client/chromoting_stats.cc',
2645 'client/chromoting_stats.h',
2646 'client/client_config.cc',
2647 'client/client_config.h',
2648 'client/client_context.cc',
2649 'client/client_context.h',
2650 'client/client_user_interface.h',
2651 'client/frame_consumer.h',
2652 'client/frame_consumer_proxy.cc',
2653 'client/frame_consumer_proxy.h',
2654 'client/frame_producer.h',
2655 'client/key_event_mapper.cc',
2656 'client/key_event_mapper.h',
2657 'client/rectangle_update_decoder.cc',
2658 'client/rectangle_update_decoder.h',
2660 }, # end of target 'remoting_client'
2663 'target_name': 'remoting_jingle_glue',
2664 'type': 'static_library',
2665 'variables': { 'enable_wexit_time_destructors': 1, },
2667 '../base/base.gyp:base',
2668 '../jingle/jingle.gyp:jingle_glue',
2669 '../jingle/jingle.gyp:notifier',
2670 '../third_party/libjingle/libjingle.gyp:libjingle',
2672 'export_dependent_settings': [
2673 '../third_party/libjingle/libjingle.gyp:libjingle',
2676 'jingle_glue/chromium_port_allocator.cc',
2677 'jingle_glue/chromium_port_allocator.h',
2678 'jingle_glue/chromium_socket_factory.cc',
2679 'jingle_glue/chromium_socket_factory.h',
2680 'jingle_glue/iq_sender.cc',
2681 'jingle_glue/iq_sender.h',
2682 'jingle_glue/jingle_info_request.cc',
2683 'jingle_glue/jingle_info_request.h',
2684 'jingle_glue/network_settings.h',
2685 'jingle_glue/signal_strategy.h',
2686 'jingle_glue/xmpp_signal_strategy.cc',
2687 'jingle_glue/xmpp_signal_strategy.h',
2689 }, # end of target 'remoting_jingle_glue'
2692 'target_name': 'remoting_protocol',
2693 'type': 'static_library',
2694 'variables': { 'enable_wexit_time_destructors': 1, },
2697 'remoting_jingle_glue',
2698 '../crypto/crypto.gyp:crypto',
2699 '../jingle/jingle.gyp:jingle_glue',
2700 '../net/net.gyp:net',
2702 'export_dependent_settings': [
2703 'remoting_jingle_glue',
2706 'protocol/audio_reader.cc',
2707 'protocol/audio_reader.h',
2708 'protocol/audio_stub.h',
2709 'protocol/audio_writer.cc',
2710 'protocol/audio_writer.h',
2711 'protocol/auth_util.cc',
2712 'protocol/auth_util.h',
2713 'protocol/authentication_method.cc',
2714 'protocol/authentication_method.h',
2715 'protocol/authenticator.cc',
2716 'protocol/authenticator.h',
2717 'protocol/buffered_socket_writer.cc',
2718 'protocol/buffered_socket_writer.h',
2719 'protocol/channel_authenticator.h',
2720 'protocol/channel_dispatcher_base.cc',
2721 'protocol/channel_dispatcher_base.h',
2722 'protocol/channel_multiplexer.cc',
2723 'protocol/channel_multiplexer.h',
2724 'protocol/client_control_dispatcher.cc',
2725 'protocol/client_control_dispatcher.h',
2726 'protocol/client_event_dispatcher.cc',
2727 'protocol/client_event_dispatcher.h',
2728 'protocol/client_stub.h',
2729 'protocol/clipboard_echo_filter.cc',
2730 'protocol/clipboard_echo_filter.h',
2731 'protocol/clipboard_filter.cc',
2732 'protocol/clipboard_filter.h',
2733 'protocol/clipboard_stub.h',
2734 'protocol/clipboard_thread_proxy.cc',
2735 'protocol/clipboard_thread_proxy.h',
2736 'protocol/connection_to_client.cc',
2737 'protocol/connection_to_client.h',
2738 'protocol/connection_to_host.cc',
2739 'protocol/connection_to_host.h',
2740 'protocol/content_description.cc',
2741 'protocol/content_description.h',
2742 'protocol/errors.h',
2743 'protocol/host_control_dispatcher.cc',
2744 'protocol/host_control_dispatcher.h',
2745 'protocol/host_event_dispatcher.cc',
2746 'protocol/host_event_dispatcher.h',
2747 'protocol/host_stub.h',
2748 'protocol/input_event_tracker.cc',
2749 'protocol/input_event_tracker.h',
2750 'protocol/input_filter.cc',
2751 'protocol/input_filter.h',
2752 'protocol/input_stub.h',
2753 'protocol/it2me_host_authenticator_factory.cc',
2754 'protocol/it2me_host_authenticator_factory.h',
2755 'protocol/jingle_messages.cc',
2756 'protocol/jingle_messages.h',
2757 'protocol/jingle_session.cc',
2758 'protocol/jingle_session.h',
2759 'protocol/jingle_session_manager.cc',
2760 'protocol/jingle_session_manager.h',
2761 'protocol/libjingle_transport_factory.cc',
2762 'protocol/libjingle_transport_factory.h',
2763 'protocol/me2me_host_authenticator_factory.cc',
2764 'protocol/me2me_host_authenticator_factory.h',
2765 'protocol/message_decoder.cc',
2766 'protocol/message_decoder.h',
2767 'protocol/message_reader.cc',
2768 'protocol/message_reader.h',
2769 'protocol/mouse_input_filter.cc',
2770 'protocol/mouse_input_filter.h',
2771 'protocol/name_value_map.h',
2772 'protocol/negotiating_authenticator_base.cc',
2773 'protocol/negotiating_authenticator_base.h',
2774 'protocol/negotiating_client_authenticator.cc',
2775 'protocol/negotiating_client_authenticator.h',
2776 'protocol/negotiating_host_authenticator.cc',
2777 'protocol/negotiating_host_authenticator.h',
2778 'protocol/pairing_authenticator_base.cc',
2779 'protocol/pairing_authenticator_base.h',
2780 'protocol/pairing_client_authenticator.cc',
2781 'protocol/pairing_client_authenticator.h',
2782 'protocol/pairing_host_authenticator.cc',
2783 'protocol/pairing_host_authenticator.h',
2784 'protocol/pairing_registry.cc',
2785 'protocol/pairing_registry.h',
2786 'protocol/protobuf_video_reader.cc',
2787 'protocol/protobuf_video_reader.h',
2788 'protocol/protobuf_video_writer.cc',
2789 'protocol/protobuf_video_writer.h',
2790 'protocol/session.h',
2791 'protocol/session_config.cc',
2792 'protocol/session_config.h',
2793 'protocol/session_manager.h',
2794 'protocol/ssl_hmac_channel_authenticator.cc',
2795 'protocol/ssl_hmac_channel_authenticator.h',
2796 'protocol/transport.cc',
2797 'protocol/transport.h',
2798 'protocol/transport_config.cc',
2799 'protocol/transport_config.h',
2802 'protocol/third_party_authenticator_base.cc',
2803 'protocol/third_party_authenticator_base.h',
2804 'protocol/third_party_client_authenticator.cc',
2805 'protocol/third_party_client_authenticator.h',
2806 'protocol/third_party_host_authenticator.cc',
2807 'protocol/third_party_host_authenticator.h',
2808 'protocol/v2_authenticator.cc',
2809 'protocol/v2_authenticator.h',
2810 'protocol/video_reader.cc',
2811 'protocol/video_reader.h',
2812 'protocol/video_stub.h',
2813 'protocol/video_writer.cc',
2814 'protocol/video_writer.h',
2816 }, # end of target 'remoting_protocol'
2818 # Remoting unit tests
2820 'target_name': 'remoting_unittests',
2821 'type': 'executable',
2823 '../base/base.gyp:base',
2824 '../base/base.gyp:base_i18n',
2825 '../base/base.gyp:test_support_base',
2826 '../ipc/ipc.gyp:ipc',
2827 '../net/net.gyp:net_test_support',
2828 '../ppapi/ppapi.gyp:ppapi_cpp',
2829 '../testing/gmock.gyp:gmock',
2830 '../testing/gtest.gyp:gtest',
2831 '../ui/gfx/gfx.gyp:gfx',
2834 'remoting_breakpad',
2836 'remoting_client_plugin',
2838 'remoting_host_event_logger',
2839 'remoting_host_setup_base',
2840 'remoting_it2me_host_static',
2841 'remoting_jingle_glue',
2842 'remoting_native_messaging_base',
2843 'remoting_protocol',
2844 'remoting_resources',
2845 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2848 'VERSION=<(version_full)',
2851 '../testing/gmock/include',
2854 '../chrome/test/base/run_all_remoting_unittests.cc',
2855 'base/auth_token_util_unittest.cc',
2856 'base/auto_thread_task_runner_unittest.cc',
2857 'base/auto_thread_unittest.cc',
2858 'base/breakpad_win_unittest.cc',
2859 'base/capabilities_unittest.cc',
2860 'base/compound_buffer_unittest.cc',
2861 'base/rate_counter_unittest.cc',
2862 'base/resources_unittest.cc',
2863 'base/rsa_key_pair_unittest.cc',
2864 'base/running_average_unittest.cc',
2865 'base/test_rsa_key_pair.h',
2866 'base/typed_buffer_unittest.cc',
2867 'base/util_unittest.cc',
2868 'client/audio_player_unittest.cc',
2869 'client/key_event_mapper_unittest.cc',
2870 'client/plugin/normalizing_input_filter_cros_unittest.cc',
2871 'client/plugin/normalizing_input_filter_mac_unittest.cc',
2872 'codec/audio_encoder_opus_unittest.cc',
2873 'codec/codec_test.cc',
2874 'codec/codec_test.h',
2875 'codec/video_decoder_vpx_unittest.cc',
2876 'codec/video_encoder_verbatim_unittest.cc',
2877 'codec/video_encoder_vpx_unittest.cc',
2878 'host/audio_silence_detector_unittest.cc',
2881 'host/capture_scheduler_unittest.cc',
2882 'host/chromoting_host_context_unittest.cc',
2883 'host/chromoting_host_unittest.cc',
2884 'host/client_session_unittest.cc',
2885 'host/config_file_watcher_unittest.cc',
2886 'host/daemon_process.cc',
2887 'host/daemon_process.h',
2888 'host/daemon_process_unittest.cc',
2889 'host/desktop_process.cc',
2890 'host/desktop_process.h',
2891 'host/desktop_process_unittest.cc',
2892 'host/desktop_session.cc',
2893 'host/desktop_session.h',
2894 'host/desktop_shape_tracker_unittest.cc',
2895 'host/desktop_session_agent.cc',
2896 'host/desktop_session_agent.h',
2897 'host/heartbeat_sender_unittest.cc',
2898 'host/host_status_sender_unittest.cc',
2899 'host/host_change_notification_listener_unittest.cc',
2900 'host/host_mock_objects.cc',
2901 'host/host_mock_objects.h',
2902 'host/host_status_monitor_fake.h',
2903 'host/ipc_desktop_environment_unittest.cc',
2904 'host/it2me/it2me_native_messaging_host_unittest.cc',
2905 'host/json_host_config_unittest.cc',
2906 'host/linux/x_server_clipboard_unittest.cc',
2907 'host/local_input_monitor_unittest.cc',
2908 'host/log_to_server_unittest.cc',
2909 'host/native_messaging/native_messaging_reader_unittest.cc',
2910 'host/native_messaging/native_messaging_writer_unittest.cc',
2911 'host/pairing_registry_delegate_linux_unittest.cc',
2912 'host/pairing_registry_delegate_win_unittest.cc',
2913 'host/pin_hash_unittest.cc',
2914 'host/policy_hack/fake_policy_watcher.cc',
2915 'host/policy_hack/fake_policy_watcher.h',
2916 'host/policy_hack/mock_policy_callback.cc',
2917 'host/policy_hack/mock_policy_callback.h',
2918 'host/policy_hack/policy_watcher_unittest.cc',
2919 'host/register_support_host_request_unittest.cc',
2920 'host/remote_input_filter_unittest.cc',
2921 'host/resizing_host_observer_unittest.cc',
2922 'host/screen_capturer_fake.cc',
2923 'host/screen_capturer_fake.h',
2924 'host/screen_resolution_unittest.cc',
2925 'host/server_log_entry_unittest.cc',
2926 'host/setup/me2me_native_messaging_host_unittest.cc',
2927 'host/setup/oauth_helper_unittest.cc',
2928 'host/setup/pin_validator_unittest.cc',
2929 'host/token_validator_factory_impl_unittest.cc',
2930 'host/video_scheduler_unittest.cc',
2931 'host/win/rdp_client_unittest.cc',
2932 'host/win/worker_process_launcher.cc',
2933 'host/win/worker_process_launcher.h',
2934 'host/win/worker_process_launcher_unittest.cc',
2935 'jingle_glue/chromium_socket_factory_unittest.cc',
2936 'jingle_glue/fake_signal_strategy.cc',
2937 'jingle_glue/fake_signal_strategy.h',
2938 'jingle_glue/iq_sender_unittest.cc',
2939 'jingle_glue/mock_objects.cc',
2940 'jingle_glue/mock_objects.h',
2941 'protocol/authenticator_test_base.cc',
2942 'protocol/authenticator_test_base.h',
2943 'protocol/buffered_socket_writer_unittest.cc',
2944 'protocol/channel_multiplexer_unittest.cc',
2945 'protocol/clipboard_echo_filter_unittest.cc',
2946 'protocol/clipboard_filter_unittest.cc',
2947 'protocol/connection_tester.cc',
2948 'protocol/connection_tester.h',
2949 'protocol/connection_to_client_unittest.cc',
2950 'protocol/content_description_unittest.cc',
2951 'protocol/fake_authenticator.cc',
2952 'protocol/fake_authenticator.h',
2953 'protocol/fake_session.cc',
2954 'protocol/fake_session.h',
2955 'protocol/input_event_tracker_unittest.cc',
2956 'protocol/input_filter_unittest.cc',
2957 'protocol/jingle_messages_unittest.cc',
2958 'protocol/jingle_session_unittest.cc',
2959 'protocol/message_decoder_unittest.cc',
2960 'protocol/message_reader_unittest.cc',
2961 'protocol/mouse_input_filter_unittest.cc',
2962 'protocol/negotiating_authenticator_unittest.cc',
2963 'protocol/pairing_registry_unittest.cc',
2964 'protocol/ppapi_module_stub.cc',
2965 'protocol/protocol_mock_objects.cc',
2966 'protocol/protocol_mock_objects.h',
2967 'protocol/ssl_hmac_channel_authenticator_unittest.cc',
2968 'protocol/third_party_authenticator_unittest.cc',
2969 'protocol/v2_authenticator_unittest.cc',
2974 '_ATL_NO_EXCEPTIONS',
2986 [ 'OS=="mac" or (OS=="linux" and chromeos==0)', {
2987 # Javascript unittests are disabled on CrOS because they cause
2988 # valgrind and test errors.
2990 # Javascript unittests are disabled on Windows because they add a
2991 # dependency on 'common_constants' which (only on Windows) requires
2992 # additional dependencies:
2993 # '../content/content.gyp:content_common',
2995 # These targets are defined in .gypi files that would need to be
2997 # '../chrome/chrome_common.gypi',
2998 # '../chrome/chrome_installer.gypi',
2999 # '../chrome/chrome_installer_util.gypi',
3000 # But we can't do that because ninja will complain about multiple
3001 # target definitions.
3002 # TODO(garykac): Move installer_util into a proper .gyp file so that
3003 # it can be included in multiple .gyp files.
3005 '../chrome/js_unittest_rules.gypi',
3008 '../chrome/common_constants.gyp:common_constants',
3009 '../v8/tools/gyp/v8.gyp:v8',
3012 '../chrome/test/base/v8_unit_test.cc',
3013 '../chrome/test/base/v8_unit_test.h',
3014 'webapp/browser_globals.gtestjs',
3015 'webapp/all_js_load.gtestjs',
3016 'webapp/format_iq.gtestjs',
3017 '<@(remoting_webapp_js_files)',
3020 [ '(OS!="linux" or chromeos==0)', {
3022 'client/plugin/normalizing_input_filter_cros_unittest.cc',
3025 ['enable_remoting_host == 0', {
3028 'remoting_host_setup_base',
3029 'remoting_it2me_host_static',
3030 'remoting_native_messaging_base',
3033 ['exclude', 'codec/*'],
3034 ['exclude', 'host/*'],
3037 ['toolkit_uses_gtk == 1', {
3039 # Needed for the following #include chain:
3040 # base/run_all_unittests.cc
3041 # ../base/test_suite.h
3043 '../build/linux/system.gyp:gtk',
3044 '../build/linux/system.gyp:ssl',
3047 [ 'linux_use_tcmalloc==1', {
3049 '../base/allocator/allocator.gyp:allocator',
3054 }], # end of 'toolkit_uses_gtk == 1'
3055 ], # end of 'conditions'
3056 }, # end of target 'remoting_unittests'