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.
7 # TODO(dmaclach): can we pick this up some other way? Right now it's
8 # duplicated from chrome.gyp
11 'remoting_host_linux_clipboard%': 1,
12 'remoting_multi_process%': 0,
14 # The |major|, |build| and |patch| versions are inherited from Chrome.
15 # Since Chrome's |minor| version is always '0', we replace it with a
16 # Chromoting-specific patch version.
17 # Note that we check both the |chrome_version_path| file and the
18 # |remoting_version_path| so that we can override the Chrome version
20 'version_py_path': '../chrome/tools/build/version.py',
21 'remoting_version_path': '../remoting/VERSION',
22 'chrome_version_path': '../chrome/VERSION',
24 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@MAJOR@")',
26 '<!(python <(version_py_path) -f <(remoting_version_path) -t "@REMOTING_PATCH@")',
28 '<(version_major).<(version_minor).'
29 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@BUILD@")',
32 '<!(python <(version_py_path) -f <(chrome_version_path) -f <(remoting_version_path) -t "@PATCH@")',
34 'branding_path': '../remoting/branding_<(branding)',
35 'copyright_info': '<!(python <(version_py_path) -f <(branding_path) -t "@COPYRIGHT@")',
37 'webapp_locale_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/webapp/_locales',
39 # Use consistent strings across all platforms.
40 # These values must match host/plugin/constants.h
41 'host_plugin_mime_type': 'application/vnd.chromium.remoting-host',
42 'host_plugin_description': '<!(python <(version_py_path) -f <(branding_path) -t "@HOST_PLUGIN_DESCRIPTION@")',
43 'host_plugin_name': '<!(python <(version_py_path) -f <(branding_path) -t "@HOST_PLUGIN_FILE_NAME@")',
46 # Remoting host is supported only on Windows, OSX and Linux.
47 ['OS=="win" or OS=="mac" or (OS=="linux" and chromeos==0)', {
48 'enable_remoting_host': 1,
50 'enable_remoting_host': 0,
53 'mac_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_BUNDLE_ID@")',
54 'mac_creator': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_CREATOR@")',
55 'host_plugin_extension': 'plugin',
56 'host_plugin_prefix': '',
58 ['os_posix == 1 and OS != "mac" and target_arch == "ia32"', {
60 'host_plugin_extension': 'ia32.so',
61 'host_plugin_prefix': 'lib',
63 ['os_posix == 1 and OS != "mac" and target_arch == "x64"', {
65 'host_plugin_extension': 'x64.so',
66 'host_plugin_prefix': 'lib',
68 ['os_posix == 1 and OS != "mac" and target_arch == "arm"', {
69 'host_plugin_extension': 'arm.so',
70 'host_plugin_prefix': 'lib',
72 ['os_posix == 1 and OS != "mac" and target_arch == "mipsel"', {
73 'host_plugin_extension': 'mipsel.so',
74 'host_plugin_prefix': 'lib',
77 'host_plugin_extension': 'dll',
78 'host_plugin_prefix': '',
81 # Use auto-generated CLSID for the daemon controller to make sure that
82 # the newly installed version of the controller will be used during
83 # upgrade even if there is an old instance running already.
84 'daemon_controller_clsid': '<!(python tools/uuidgen.py)',
87 'remoting_webapp_locale_files': [
88 '<(webapp_locale_dir)/ar/messages.json',
89 '<(webapp_locale_dir)/bg/messages.json',
90 '<(webapp_locale_dir)/ca/messages.json',
91 '<(webapp_locale_dir)/cs/messages.json',
92 '<(webapp_locale_dir)/da/messages.json',
93 '<(webapp_locale_dir)/de/messages.json',
94 '<(webapp_locale_dir)/el/messages.json',
95 '<(webapp_locale_dir)/en/messages.json',
96 '<(webapp_locale_dir)/en_GB/messages.json',
97 '<(webapp_locale_dir)/es/messages.json',
98 '<(webapp_locale_dir)/es_419/messages.json',
99 '<(webapp_locale_dir)/et/messages.json',
100 '<(webapp_locale_dir)/fi/messages.json',
101 '<(webapp_locale_dir)/fil/messages.json',
102 '<(webapp_locale_dir)/fr/messages.json',
103 '<(webapp_locale_dir)/he/messages.json',
104 '<(webapp_locale_dir)/hi/messages.json',
105 '<(webapp_locale_dir)/hr/messages.json',
106 '<(webapp_locale_dir)/hu/messages.json',
107 '<(webapp_locale_dir)/id/messages.json',
108 '<(webapp_locale_dir)/it/messages.json',
109 '<(webapp_locale_dir)/ja/messages.json',
110 '<(webapp_locale_dir)/ko/messages.json',
111 '<(webapp_locale_dir)/lt/messages.json',
112 '<(webapp_locale_dir)/lv/messages.json',
113 '<(webapp_locale_dir)/nb/messages.json',
114 '<(webapp_locale_dir)/nl/messages.json',
115 '<(webapp_locale_dir)/pl/messages.json',
116 '<(webapp_locale_dir)/pt_BR/messages.json',
117 '<(webapp_locale_dir)/pt_PT/messages.json',
118 '<(webapp_locale_dir)/ro/messages.json',
119 '<(webapp_locale_dir)/ru/messages.json',
120 '<(webapp_locale_dir)/sk/messages.json',
121 '<(webapp_locale_dir)/sl/messages.json',
122 '<(webapp_locale_dir)/sr/messages.json',
123 '<(webapp_locale_dir)/sv/messages.json',
124 '<(webapp_locale_dir)/th/messages.json',
125 '<(webapp_locale_dir)/tr/messages.json',
126 '<(webapp_locale_dir)/uk/messages.json',
127 '<(webapp_locale_dir)/vi/messages.json',
128 '<(webapp_locale_dir)/zh_CN/messages.json',
129 '<(webapp_locale_dir)/zh_TW/messages.json',
131 'remoting_webapp_files': [
132 'resources/chromoting16.png',
133 'resources/chromoting48.png',
134 'resources/chromoting128.png',
135 'resources/disclosure_arrow_down.png',
136 'resources/disclosure_arrow_right.png',
137 'resources/host_setup_instructions.png',
138 'resources/icon_cross.png',
139 'resources/icon_host.png',
140 'resources/icon_pencil.png',
141 'resources/icon_warning.png',
142 'resources/infographic_my_computers.png',
143 'resources/infographic_remote_assistance.png',
144 'resources/tick.png',
145 'webapp/client_plugin.js',
146 'webapp/client_plugin_async.js',
147 'webapp/client_screen.js',
148 'webapp/client_session.js',
149 'webapp/clipboard.js',
150 'webapp/connection_history.css',
151 'webapp/connection_history.js',
152 'webapp/connection_stats.css',
153 'webapp/connection_stats.js',
154 'webapp/cs_oauth2_trampoline.js',
155 'webapp/event_handlers.js',
156 'webapp/format_iq.js',
157 'webapp/host_controller.js',
158 'webapp/host_list.js',
159 'webapp/host_screen.js',
160 'webapp/host_session.js',
161 'webapp/host_setup_dialog.js',
162 'webapp/host_table_entry.js',
164 'webapp/log_to_server.js',
167 'webapp/manifest.json',
168 'webapp/menu_button.css',
169 'webapp/menu_button.js',
171 'webapp/oauth2_callback.html',
172 'webapp/oauth2_callback.js',
173 'webapp/plugin_settings.js',
174 'webapp/remoting.js',
175 'webapp/scale-to-fit.png',
176 'webapp/server_log_entry.js',
177 'webapp/spinner.gif',
178 'webapp/stats_accumulator.js',
180 'webapp/suspend_monitor.js',
181 'webapp/toolbar.css',
185 'webapp/wcs_loader.js',
188 'remoting_host_installer_mac_roots': [
189 'host/installer/mac/',
190 '<(DEPTH)/chrome/installer/mac/',
192 'remoting_host_installer_mac_files': [
193 'host/installer/mac/do_signing.sh',
194 'host/installer/mac/do_signing.props',
195 'host/installer/mac/ChromotingHost.pkgproj',
196 'host/installer/mac/ChromotingHostService.pkgproj',
197 'host/installer/mac/ChromotingHostUninstaller.pkgproj',
198 'host/installer/mac/LaunchAgents/org.chromium.chromoting.plist',
199 'host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh',
200 'host/installer/mac/Scripts/keystone_install.sh',
201 'host/installer/mac/Scripts/remoting_postflight.sh',
202 'host/installer/mac/Scripts/remoting_preflight.sh',
203 'host/installer/mac/Keystone/GoogleSoftwareUpdate.pkg',
204 '<(DEPTH)/chrome/installer/mac/pkg-dmg',
206 'remoting_host_installer_win_roots': [
207 'host/installer/win/',
209 'remoting_host_installer_win_files': [
210 'host/installer/win/chromoting.wxs',
211 'host/installer/win/parameters.json',
216 '../chrome/js_unittest_vars.gypi',
223 '..', # Root of Chrome checkout
226 ['remoting_host_linux_clipboard != 0', {
228 'REMOTING_HOST_LINUX_CLIPBOARD',
231 ['remoting_multi_process != 0', {
233 'REMOTING_MULTI_PROCESS',
240 ['OS=="win" or OS=="mac" or OS=="linux"', {
243 'target_name': 'remoting_screen_capturer',
244 'type': 'static_library',
245 'variables': { 'enable_wexit_time_destructors': 1, },
247 '../skia/skia.gyp:skia',
250 'capturer/capture_data.cc',
251 'capturer/capture_data.h',
252 'capturer/shared_buffer.cc',
253 'capturer/shared_buffer.h',
254 'capturer/shared_buffer_factory.h',
255 'capturer/differ.cc',
257 'capturer/differ_block.cc',
258 'capturer/differ_block.h',
259 'capturer/linux/x_server_pixel_buffer.cc',
260 'capturer/linux/x_server_pixel_buffer.h',
261 'capturer/mac/scoped_pixel_buffer_object.cc',
262 'capturer/mac/scoped_pixel_buffer_object.h',
263 'capturer/mouse_cursor_shape.cc',
264 'capturer/mouse_cursor_shape.h',
265 'capturer/video_frame.cc',
266 'capturer/video_frame.h',
267 'capturer/video_frame_capturer.h',
268 'capturer/video_frame_capturer_fake.cc',
269 'capturer/video_frame_capturer_fake.h',
270 'capturer/video_frame_capturer_helper.cc',
271 'capturer/video_frame_capturer_helper.h',
272 'capturer/video_frame_capturer_linux.cc',
273 'capturer/video_frame_capturer_mac.mm',
274 'capturer/video_frame_capturer_win.cc',
275 'capturer/video_frame_queue.cc',
276 'capturer/video_frame_queue.h',
277 'capturer/win/desktop.cc',
278 'capturer/win/desktop.h',
279 'capturer/win/scoped_thread_desktop.cc',
280 'capturer/win/scoped_thread_desktop.h',
283 [ 'target_arch == "ia32" or target_arch == "x64"', {
298 ['toolkit_uses_gtk==1', {
300 '../build/linux/system.gyp:gtk',
302 }, { # else toolkit_uses_gtk!=1
308 }, # end of target remoting_screen_capturer
309 ], # end of 'targets'
310 }], # 'OS==win or OS==mac or OS==linux'
312 ['enable_remoting_host==1', {
315 'target_name': 'remoting_host',
316 'type': 'static_library',
317 'variables': { 'enable_wexit_time_destructors': 1, },
320 'remoting_jingle_glue',
322 'remoting_screen_capturer',
323 '../crypto/crypto.gyp:crypto',
324 '../google_apis/google_apis.gyp:google_apis',
325 '../ipc/ipc.gyp:ipc',
328 'VERSION=<(version_full)',
331 'host/audio_capturer.cc',
332 'host/audio_capturer.h',
333 'host/audio_capturer_linux.cc',
334 'host/audio_capturer_linux.h',
335 'host/audio_capturer_mac.cc',
336 'host/audio_capturer_win.cc',
337 'host/audio_capturer_win.h',
338 'host/audio_scheduler.cc',
339 'host/audio_scheduler.h',
340 'host/capture_scheduler.cc',
341 'host/capture_scheduler.h',
342 'host/chromoting_host.cc',
343 'host/chromoting_host.h',
344 'host/chromoting_host_context.cc',
345 'host/chromoting_host_context.h',
346 'host/chromoting_messages.cc',
347 'host/chromoting_messages.h',
348 'host/client_session.cc',
349 'host/client_session.h',
351 'host/clipboard_linux.cc',
352 'host/clipboard_mac.mm',
353 'host/clipboard_win.cc',
354 'host/constants_mac.cc',
355 'host/constants_mac.h',
356 'host/continue_window.h',
357 'host/continue_window_gtk.cc',
358 'host/continue_window_mac.mm',
359 'host/continue_window_win.cc',
360 'host/desktop_environment.cc',
361 'host/desktop_environment.h',
362 'host/desktop_environment_factory.cc',
363 'host/desktop_environment_factory.h',
364 'host/desktop_resizer.h',
365 'host/desktop_resizer_linux.cc',
366 'host/desktop_resizer_win.cc',
367 'host/desktop_resizer_mac.cc',
368 'host/desktop_session_connector.h',
369 'host/desktop_session_proxy.cc',
370 'host/desktop_session_proxy.h',
371 'host/disconnect_window.h',
372 'host/disconnect_window_gtk.cc',
373 'host/disconnect_window_mac.h',
374 'host/disconnect_window_mac.mm',
375 'host/disconnect_window_win.cc',
376 'host/dns_blackhole_checker.cc',
377 'host/dns_blackhole_checker.h',
378 'host/event_executor.h',
379 'host/event_executor_fake.cc',
380 'host/event_executor_fake.h',
381 'host/event_executor_linux.cc',
382 'host/event_executor_mac.cc',
383 'host/event_executor_win.cc',
384 'host/heartbeat_sender.cc',
385 'host/heartbeat_sender.h',
386 'host/host_config.cc',
387 'host/host_config.h',
388 'host/host_exit_codes.h',
389 'host/host_key_pair.cc',
390 'host/host_key_pair.h',
391 'host/host_port_allocator.cc',
392 'host/host_port_allocator.h',
393 'host/host_secret.cc',
394 'host/host_secret.h',
395 'host/host_status_observer.h',
396 'host/host_user_interface.cc',
397 'host/host_user_interface.h',
398 'host/in_memory_host_config.cc',
399 'host/in_memory_host_config.h',
400 'host/ipc_audio_capturer.cc',
401 'host/ipc_audio_capturer.h',
402 'host/ipc_constants.cc',
403 'host/ipc_constants.h',
404 'host/ipc_desktop_environment_factory.cc',
405 'host/ipc_desktop_environment_factory.h',
406 'host/ipc_desktop_environment.cc',
407 'host/ipc_desktop_environment.h',
408 'host/ipc_event_executor.cc',
409 'host/ipc_event_executor.h',
410 'host/ipc_video_frame_capturer.cc',
411 'host/ipc_video_frame_capturer.h',
412 'host/it2me_host_user_interface.cc',
413 'host/it2me_host_user_interface.h',
414 'host/json_host_config.cc',
415 'host/json_host_config.h',
416 'host/linux/audio_pipe_reader.cc',
417 'host/linux/audio_pipe_reader.h',
418 'host/linux/x11_util.cc',
419 'host/linux/x11_util.h',
420 'host/linux/x_server_clipboard.cc',
421 'host/linux/x_server_clipboard.h',
422 'host/local_input_monitor.h',
423 'host/local_input_monitor_linux.cc',
424 'host/local_input_monitor_mac.mm',
425 'host/local_input_monitor_thread_linux.cc',
426 'host/local_input_monitor_thread_linux.h',
427 'host/local_input_monitor_win.cc',
428 'host/log_to_server.cc',
429 'host/log_to_server.h',
430 'host/mouse_clamping_filter.cc',
431 'host/mouse_clamping_filter.h',
432 'host/mouse_move_observer.h',
433 'host/network_settings.h',
434 'host/pam_authorization_factory_posix.cc',
435 'host/pam_authorization_factory_posix.h',
438 'host/policy_hack/policy_watcher.h',
439 'host/policy_hack/policy_watcher.cc',
440 'host/policy_hack/policy_watcher_linux.cc',
441 'host/policy_hack/policy_watcher_mac.mm',
442 'host/policy_hack/policy_watcher_win.cc',
443 'host/register_support_host_request.cc',
444 'host/register_support_host_request.h',
445 'host/remote_input_filter.cc',
446 'host/remote_input_filter.h',
447 'host/resizing_host_observer.cc',
448 'host/resizing_host_observer.h',
449 'host/sas_injector.h',
450 'host/sas_injector_win.cc',
451 'host/server_log_entry.cc',
452 'host/server_log_entry.h',
453 'host/service_client.cc',
454 'host/service_client.h',
455 'host/session_manager_factory.cc',
456 'host/session_manager_factory.h',
457 'host/signaling_connector.cc',
458 'host/signaling_connector.h',
459 'host/ui_strings.cc',
461 'host/url_request_context.cc',
462 'host/url_request_context.h',
463 'host/usage_stats_consent.h',
464 'host/usage_stats_consent_mac.cc',
465 'host/usage_stats_consent_win.cc',
466 'host/video_scheduler.cc',
467 'host/video_scheduler.h',
468 'host/vlog_net_log.cc',
469 'host/vlog_net_log.h',
470 'host/win/launch_process_with_token.cc',
471 'host/win/launch_process_with_token.h',
474 'host/win/security_descriptor.cc',
475 'host/win/security_descriptor.h',
476 'host/win/session_desktop_environment_factory.cc',
477 'host/win/session_desktop_environment_factory.h',
478 'host/win/session_event_executor.cc',
479 'host/win/session_event_executor.h',
480 'host/win/window_station_and_desktop.cc',
481 'host/win/window_station_and_desktop.h',
484 ['toolkit_uses_gtk==1', {
486 '../build/linux/system.gyp:gtk',
488 }, { # else toolkit_uses_gtk!=1
507 '../third_party/GTM/AppKit/GTMCarbonEvent.h',
508 '../third_party/GTM/AppKit/GTMCarbonEvent.m',
509 '../third_party/GTM/DebugUtils/GTMDebugSelectorValidation.h',
510 '../third_party/GTM/DebugUtils/GTMTypeCasting.h',
511 '../third_party/GTM/Foundation/GTMObjectSingleton.h',
512 '../third_party/GTM/GTMDefines.h',
515 '../third_party/GTM',
516 '../third_party/GTM/AppKit',
517 '../third_party/GTM/DebugUtils',
518 '../third_party/GTM/Foundation',
522 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
529 '../sandbox/sandbox.gyp:sandbox',
533 }, # end of target 'remoting_host'
536 'target_name': 'remoting_me2me_host',
537 'type': 'executable',
538 'variables': { 'enable_wexit_time_destructors': 1, },
543 'remoting_host_event_logger',
544 'remoting_host_logging',
545 'remoting_jingle_glue',
546 '../base/base.gyp:base',
547 '../base/base.gyp:base_i18n',
548 '../media/media.gyp:media',
549 '../net/net.gyp:net',
552 'VERSION=<(version_full)',
555 'host/config_file_watcher.cc',
556 'host/config_file_watcher.h',
557 'host/curtain_mode.h',
558 'host/curtaining_host_observer.h',
559 'host/curtaining_host_observer.cc',
560 'host/curtain_mode_linux.cc',
561 'host/curtain_mode_mac.cc',
562 'host/curtain_mode_win.cc',
563 'host/posix/signal_handler.cc',
564 'host/posix/signal_handler.h',
565 'host/remoting_me2me_host.cc',
570 ['exclude', '^host/posix/'],
576 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
579 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
580 'INFOPLIST_PREPROCESS': 'YES',
581 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)" COPYRIGHT_INFO="<(copyright_info)"',
583 'mac_bundle_resources': [
584 'host/disconnect_window.xib',
585 'host/remoting_me2me_host.icns',
586 'host/remoting_me2me_host-Info.plist',
588 'mac_bundle_resources!': [
589 'host/remoting_me2me_host-Info.plist',
592 ['mac_breakpad==1', {
594 # A real .dSYM is needed for dump_syms to operate on.
597 'defines': ['MAC_BREAKPAD'],
600 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
602 '<(PRODUCT_DIR)/crash_inspector',
603 '<(PRODUCT_DIR)/crash_report_sender.app'
607 }], # mac_breakpad==1
611 'product_name': 'remoting_host',
613 'remoting_version_resources',
616 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
617 '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_host_me2me_version.rc',
627 'AdditionalOptions': [
628 "\"/manifestdependency:type='win32' "
629 "name='Microsoft.Windows.Common-Controls' "
631 "processorArchitecture='*' "
632 "publicKeyToken='6595b64144ccf1df' language='*'\"",
635 ['buildtype == "Official" and remoting_multi_process == 0', {
636 'AdditionalOptions': [
637 "\"/MANIFESTUAC:level='requireAdministrator' "
642 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
643 'OutputFile': '$(OutDir)\\remoting_host.exe',
644 # 2 == /SUBSYSTEM:WINDOWS
649 ], # end of 'conditions'
650 }, # end of target 'remoting_me2me_host'
653 'target_name': 'remoting_host_keygen',
654 'type': 'executable',
657 '../base/base.gyp:base',
658 '../base/base.gyp:base_i18n',
659 '../crypto/crypto.gyp:crypto',
662 'host/keygen_main.cc',
664 }, # end of target 'remoting_host_keygen'
667 'target_name': 'remoting_host_setup_base',
668 'type': 'static_library',
669 'variables': { 'enable_wexit_time_destructors': 1, },
671 '../base/base.gyp:base',
672 '../google_apis/google_apis.gyp:google_apis',
676 'host/setup/daemon_controller.h',
677 'host/setup/daemon_controller_linux.cc',
678 'host/setup/daemon_controller_mac.cc',
679 'host/setup/daemon_controller_win.cc',
680 'host/setup/daemon_installer_win.cc',
681 'host/setup/daemon_installer_win.h',
682 'host/setup/host_starter.cc',
683 'host/setup/host_starter.h',
684 'host/setup/oauth_helper.cc',
685 'host/setup/oauth_helper.h',
686 'host/setup/pin_validator.cc',
687 'host/setup/pin_validator.h',
688 'host/setup/win/auth_code_getter.cc',
689 'host/setup/win/auth_code_getter.h',
694 '../google_update/google_update.gyp:google_update',
695 'remoting_elevated_controller',
699 }, # end of target 'remoting_host_setup_base'
702 'target_name': 'remoting_host_plugin',
703 'type': 'loadable_module',
704 'variables': { 'enable_wexit_time_destructors': 1, },
705 'product_extension': '<(host_plugin_extension)',
706 'product_prefix': '<(host_plugin_prefix)',
710 'remoting_host_event_logger',
711 'remoting_host_logging',
712 'remoting_host_setup_base',
713 'remoting_jingle_glue',
714 '../net/net.gyp:net',
715 '../third_party/npapi/npapi.gyp:npapi',
718 'base/dispatch_win.h',
719 'host/host_ui_resource.h',
720 'host/plugin/host_log_handler.cc',
721 'host/plugin/host_log_handler.h',
722 'host/plugin/host_plugin.cc',
723 'host/plugin/host_plugin_utils.cc',
724 'host/plugin/host_plugin_utils.h',
725 'host/plugin/host_script_object.cc',
726 'host/plugin/host_script_object.h',
732 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
733 'INFOPLIST_FILE': 'host/plugin/host_plugin-Info.plist',
734 'INFOPLIST_PREPROCESS': 'YES',
735 # TODO(maruel): Use INFOPLIST_PREFIX_HEADER to remove the need to
736 # duplicate string once
737 # http://code.google.com/p/gyp/issues/detail?id=243 is fixed.
738 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'HOST_PLUGIN_MIME_TYPE="<(host_plugin_mime_type)" HOST_PLUGIN_NAME="<(host_plugin_name)" HOST_PLUGIN_DESCRIPTION="<(host_plugin_description)"',
740 # TODO(mark): Come up with a fancier way to do this. It should
741 # only be necessary to list host_plugin-Info.plist once, not the
742 # three times it is listed here.
743 'mac_bundle_resources': [
744 'host/disconnect_window.xib',
745 'host/plugin/host_plugin-Info.plist',
746 'resources/chromoting16.png',
747 'resources/chromoting48.png',
748 'resources/chromoting128.png',
750 'mac_bundle_resources!': [
751 'host/plugin/host_plugin-Info.plist',
754 ['mac_breakpad==1', {
756 # A real .dSYM is needed for dump_syms to operate on.
764 'remoting_elevated_controller',
765 'remoting_version_resources',
768 '<(INTERMEDIATE_DIR)',
771 '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_host_plugin_version.rc',
773 'host/plugin/host_plugin.def',
777 }, # end of target 'remoting_host_plugin'
780 'target_name': 'remoting_desktop',
781 'type': 'executable',
782 'variables': { 'enable_wexit_time_destructors': 1, },
784 'REMOTING_MULTI_PROCESS',
790 'remoting_host_logging',
791 '../base/base.gyp:base',
792 '../ipc/ipc.gyp:ipc',
795 'host/desktop_process.cc',
796 'host/desktop_process.h',
797 'host/desktop_process_main.cc',
798 'host/desktop_session_agent.cc',
799 'host/desktop_session_agent.h',
800 'host/desktop_session_agent_posix.cc',
801 'host/desktop_session_agent_win.cc',
806 'remoting_version_resources',
810 '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_desktop_version.rc',
819 'AdditionalOptions': [
820 "\"/manifestdependency:type='win32' "
821 "name='Microsoft.Windows.Common-Controls' "
823 "processorArchitecture='*' "
824 "publicKeyToken='6595b64144ccf1df' language='*'\"",
827 ['buildtype == "Official"', {
828 'AdditionalOptions': [
829 "\"/MANIFESTUAC:level='requireAdministrator' "
834 # 2 == /SUBSYSTEM:WINDOWS
840 }, # end of target 'remoting_desktop'
842 ], # end of 'targets'
843 }], # 'enable_remoting_host==1'
845 ['OS=="linux" and chromeos==0', {
847 # Linux breakpad processing
849 'target_name': 'remoting_linux_symbols',
852 ['linux_dump_symbols==1', {
855 'action_name': 'dump_symbols',
857 'plugin_file': '<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
860 '<(DEPTH)/build/linux/dump_app_syms',
861 '<(PRODUCT_DIR)/dump_syms',
862 '<(PRODUCT_DIR)/<(plugin_file)',
865 '<(PRODUCT_DIR)/<(plugin_file).breakpad.<(target_arch)',
867 'action': ['<(DEPTH)/build/linux/dump_app_syms',
868 '<(PRODUCT_DIR)/dump_syms',
869 '<(linux_strip_binary)',
870 '<(PRODUCT_DIR)/<(plugin_file)',
872 'message': 'Dumping breakpad symbols to <(_outputs)',
873 'process_outputs_as_sources': 1,
877 'remoting_host_plugin',
878 '../breakpad/breakpad.gyp:dump_syms',
880 }], # 'linux_dump_symbols==1'
881 ], # end of 'conditions'
882 }, # end of target 'linux_symbols'
884 'target_name': 'remoting_start_host',
885 'type': 'executable',
887 'remoting_host_setup_base',
890 'host/setup/start_host.cc',
892 }, # end of target 'remoting_start_host'
893 ], # end of 'targets'
899 'target_name': 'remoting_host_uninstaller',
900 'type': 'executable',
903 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_ID@")',
904 'bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_NAME@")',
907 '<(DEPTH)/base/base.gyp:base',
910 'host/constants_mac.cc',
911 'host/constants_mac.h',
912 'host/installer/mac/uninstaller/remoting_uninstaller.h',
913 'host/installer/mac/uninstaller/remoting_uninstaller.mm',
914 'host/installer/mac/uninstaller/remoting_uninstaller_app.h',
915 'host/installer/mac/uninstaller/remoting_uninstaller_app.mm',
918 'INFOPLIST_FILE': 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
919 'INFOPLIST_PREPROCESS': 'YES',
920 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_NAME="<(bundle_name)" BUNDLE_ID="<(bundle_id)" COPYRIGHT_INFO="<(copyright_info)"',
922 'mac_bundle_resources': [
923 'host/installer/mac/uninstaller/remoting_uninstaller.icns',
924 'host/installer/mac/uninstaller/remoting_uninstaller.xib',
925 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
927 'mac_bundle_resources!': [
928 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
930 }, # end of target 'remoting_host_uninstaller'
932 # This packages up the files needed for the remoting host installer so
933 # they can be sent off to be signed.
934 # We don't build an installer here because we don't have signed binaries.
936 'target_name': 'remoting_me2me_host_archive',
939 'remoting_host_prefpane',
940 'remoting_host_uninstaller',
941 'remoting_me2me_host',
944 'host_name': '<!(python <(version_py_path) -f <(branding_path) -t "@HOST_PLUGIN_FILE_NAME@")',
945 'host_service_name': '<!(python <(version_py_path) -f <(branding_path) -t "@DAEMON_FILE_NAME@")',
946 'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_NAME@")',
947 'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
951 'action_name': 'Zip installer files for signing',
952 'temp_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting-me2me-host',
953 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
955 'host_name_nospace': '<!(echo <(host_name) | sed "s/ //g")',
956 'host_service_name_nospace': '<!(echo <(host_service_name) | sed "s/ //g")',
957 'host_uninstaller_name_nospace': '<!(echo <(host_uninstaller_name) | sed "s/ //g")',
960 '<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
961 '<(PRODUCT_DIR)/remoting_me2me_host.app',
962 '<(PRODUCT_DIR)/remoting_host_uninstaller.app',
964 'generated_files_dst': [
965 'PreferencePanes/org.chromium.chromoting.prefPane',
966 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app',
967 'Applications/<(host_uninstaller_name).app',
970 '<@(remoting_host_installer_mac_files)',
973 'VERSION=<(version_full)',
974 'VERSION_SHORT=<(version_short)',
975 'VERSION_MAJOR=<(version_major)',
976 'VERSION_MINOR=<(version_minor)',
977 'COPYRIGHT_INFO=<(copyright_info)',
978 'HOST_NAME=<(host_name)',
979 'HOST_SERVICE_NAME=<(host_service_name)',
980 'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
981 'HOST_PKG=<(host_name)',
982 'HOST_SERVICE_PKG=<(host_service_name_nospace)',
983 'HOST_UNINSTALLER_PKG=<(host_uninstaller_name_nospace)',
984 'BUNDLE_ID_HOST=<(bundle_prefix).<(host_name_nospace)',
985 'BUNDLE_ID_HOST_SERVICE=<(bundle_prefix).<(host_service_name_nospace)',
986 'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_name_nospace)',
987 'DMG_VOLUME_NAME=<(host_name) <(version_full)',
988 'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_full)',
991 'host/installer/build-installer-archive.py',
999 'host/installer/build-installer-archive.py',
1002 '--source-file-roots',
1003 '<@(remoting_host_installer_mac_roots)',
1005 '<@(_source_files)',
1006 '--generated-files',
1007 '<@(_generated_files)',
1008 '--generated-files-dst',
1009 '<@(_generated_files_dst)',
1015 }, # end of target 'remoting_me2me_host_archive'
1018 'target_name': 'remoting_host_prefpane',
1019 'type': 'loadable_module',
1021 'product_extension': 'prefPane',
1023 'JSON_USE_EXCEPTION=0',
1026 '../third_party/jsoncpp/overrides/include/',
1027 '../third_party/jsoncpp/source/include/',
1028 '../third_party/jsoncpp/source/src/lib_json/',
1031 # These source files are included directly, instead of adding target
1032 # dependencies, because the targets are not yet built for 64-bit on
1033 # Mac OS X - http://crbug.com/125116.
1035 # TODO(lambroslambrou): Fix this when Chrome supports building for
1036 # Mac OS X 64-bit - http://crbug.com/128122.
1038 '../third_party/jsoncpp/source/src/lib_json/json_reader.cpp',
1039 '../third_party/jsoncpp/overrides/src/lib_json/json_value.cpp',
1040 '../third_party/jsoncpp/source/src/lib_json/json_writer.cpp',
1041 '../third_party/modp_b64/modp_b64.cc',
1042 'host/constants_mac.cc',
1043 'host/constants_mac.h',
1044 'host/host_config.cc',
1045 'host/mac/me2me_preference_pane.h',
1046 'host/mac/me2me_preference_pane.mm',
1047 'host/mac/me2me_preference_pane_confirm_pin.h',
1048 'host/mac/me2me_preference_pane_confirm_pin.mm',
1049 'host/mac/me2me_preference_pane_disable.h',
1050 'host/mac/me2me_preference_pane_disable.mm',
1054 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1055 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
1056 '$(SDKROOT)/System/Library/Frameworks/PreferencePanes.framework',
1057 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
1061 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_ID@")',
1062 'bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
1063 # The XML new-line entity splits the label into two lines, which
1064 # is the maximum number of lines allowed by the System Preferences
1066 # TODO(lambroslambrou): When these strings are localized, use "\n"
1067 # instead of "
" for linebreaks.
1068 'pref_pane_icon_label': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_ICON_LABEL@")',
1071 'ARCHS': ['i386', 'x86_64'],
1072 'GCC_ENABLE_OBJC_GC': 'supported',
1073 'INFOPLIST_FILE': 'host/mac/me2me_preference_pane-Info.plist',
1074 'INFOPLIST_PREPROCESS': 'YES',
1075 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_NAME="<(bundle_name)" BUNDLE_ID="<(bundle_id)" COPYRIGHT_INFO="<(copyright_info)" PREF_PANE_ICON_LABEL="<(pref_pane_icon_label)"',
1077 'mac_bundle_resources': [
1078 'host/mac/me2me_preference_pane.xib',
1079 'host/mac/me2me_preference_pane_confirm_pin.xib',
1080 'host/mac/me2me_preference_pane_disable.xib',
1081 'host/mac/me2me_preference_pane-Info.plist',
1082 'resources/chromoting128.png',
1084 'mac_bundle_resources!': [
1085 'host/mac/me2me_preference_pane-Info.plist',
1088 ['mac_breakpad==1', {
1090 # A real .dSYM is needed for dump_syms to operate on.
1093 }], # 'mac_breakpad==1'
1095 }, # end of target 'remoting_host_prefpane'
1096 ], # end of 'targets'
1098 ['mac_breakpad==1', {
1101 'target_name': 'remoting_mac_symbols',
1104 '../breakpad/breakpad.gyp:dump_syms',
1105 'remoting_me2me_host',
1109 'action_name': 'dump_symbols',
1111 '<(DEPTH)/remoting/scripts/mac/dump_product_syms',
1112 '<(PRODUCT_DIR)/dump_syms',
1113 '<(PRODUCT_DIR)/remoting_me2me_host.app',
1116 '<(PRODUCT_DIR)/remoting_me2me_host.app-<(version_full)-<(target_arch).breakpad',
1122 'message': 'Dumping breakpad symbols to <(_outputs)',
1123 }, # end of action 'dump_symbols'
1124 ], # end of 'actions'
1125 }, # end of target 'remoting_mac_symbols'
1126 ], # end of 'targets'
1127 }], # 'mac_breakpad==1'
1128 ], # end of 'conditions'
1134 'target_name': 'remoting_breakpad_tester',
1135 'type': 'executable',
1136 'variables': { 'enable_wexit_time_destructors': 1, },
1138 '../base/base.gyp:base',
1139 'remoting_host_logging',
1142 'tools/breakpad_tester_win.cc',
1144 }, # end of target 'remoting_breakpad_tester'
1146 'target_name': 'remoting_elevated_controller',
1147 'type': 'static_library',
1149 'host/win/elevated_controller_idl.templ',
1150 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.h',
1151 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.idl',
1152 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller_i.c',
1154 # This target exports a hard dependency because dependent targets may
1155 # include elevated_controller.h, a generated header.
1156 'hard_dependency': 1,
1159 'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
1162 'direct_dependent_settings': {
1164 '<(SHARED_INTERMEDIATE_DIR)',
1169 'rule_name': 'generate_idl',
1170 'extension': 'templ',
1172 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.idl',
1176 '<(version_py_path)',
1177 '-e', 'DAEMON_CONTROLLER_CLSID="<(daemon_controller_clsid)"',
1178 '<(RULE_INPUT_PATH)',
1181 'process_outputs_as_sources': 1,
1182 'message': 'Generating <@(_outputs)',
1183 'msvs_cygwin_shell': 1,
1186 }, # end of target 'remoting_elevated_controller'
1188 'target_name': 'remoting_configurer',
1189 'type': 'executable',
1191 '../base/base.gyp:base',
1192 '../crypto/crypto.gyp:crypto',
1194 'remoting_host_setup_base',
1198 'host/setup/win/host_configurer.cc',
1199 'host/setup/win/host_configurer.rc',
1200 'host/setup/win/host_configurer_window.cc',
1201 'host/setup/win/host_configurer_window.h',
1202 'host/setup/win/host_configurer_resource.h',
1203 'host/setup/win/load_string_from_resource.cc',
1204 'host/setup/win/load_string_from_resource.h',
1205 'host/setup/win/start_host_window.cc',
1206 'host/setup/win/start_host_window.h',
1210 'AdditionalOptions': [
1211 "\"/manifestdependency:type='win32' "
1212 "name='Microsoft.Windows.Common-Controls' "
1213 "version='6.0.0.0' "
1214 "processorArchitecture='*' "
1215 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1217 # 2 == /SUBSYSTEM:WINDOWS
1221 }, # end of target 'remoting_configurer'
1223 'target_name': 'remoting_controller',
1224 'type': 'executable',
1225 'variables': { 'enable_wexit_time_destructors': 1, },
1227 '_ATL_APARTMENT_THREADED',
1228 '_ATL_NO_AUTOMATIC_NAMESPACE',
1229 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
1231 'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
1234 '<(INTERMEDIATE_DIR)',
1237 '../base/base.gyp:base',
1238 'remoting_breakpad',
1239 'remoting_elevated_controller',
1241 'remoting_host_logging',
1242 'remoting_protocol',
1243 'remoting_version_resources',
1246 '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_controller_version.rc',
1249 'host/verify_config_window_win.cc',
1250 'host/verify_config_window_win.h',
1251 'host/win/elevated_controller.cc',
1252 'host/win/elevated_controller.h',
1253 'host/win/elevated_controller.rc',
1254 'host/win/elevated_controller_module.cc',
1255 'host/win/omaha.cc',
1265 'AdditionalOptions': [
1266 "\"/manifestdependency:type='win32' "
1267 "name='Microsoft.Windows.Common-Controls' "
1268 "version='6.0.0.0' "
1269 "processorArchitecture='*' "
1270 "publicKeyToken='6595b64144ccf1df' language='*'\"",
1272 # 2 == /SUBSYSTEM:WINDOWS
1276 }, # end of target 'remoting_controller'
1278 'target_name': 'remoting_daemon',
1279 'type': 'executable',
1280 'variables': { 'enable_wexit_time_destructors': 1, },
1282 '../base/base.gyp:base',
1283 '../base/base.gyp:base_static',
1284 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
1285 '../ipc/ipc.gyp:ipc',
1286 '../net/net.gyp:net',
1288 'remoting_breakpad',
1290 'remoting_host_logging',
1291 'remoting_version_resources',
1294 '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_daemon_version.rc',
1295 'base/scoped_sc_handle_win.h',
1296 'capturer/win/desktop.cc',
1297 'capturer/win/desktop.h',
1298 'capturer/win/scoped_thread_desktop.cc',
1299 'capturer/win/scoped_thread_desktop.h',
1300 'host/chromoting_messages.cc',
1301 'host/chromoting_messages.h',
1302 'host/config_file_watcher.cc',
1303 'host/config_file_watcher.h',
1304 'host/daemon_process.cc',
1305 'host/daemon_process.h',
1306 'host/daemon_process_win.cc',
1307 'host/desktop_session.cc',
1308 'host/desktop_session.h',
1309 'host/desktop_session_win.cc',
1310 'host/desktop_session_win.h',
1311 'host/host_exit_codes.h',
1312 'host/ipc_constants.cc',
1313 'host/ipc_constants.h',
1314 'host/sas_injector.h',
1315 'host/sas_injector_win.cc',
1316 'host/win/host_service.cc',
1317 'host/win/host_service.h',
1318 'host/win/host_service.rc',
1319 'host/win/host_service_resource.h',
1320 'host/win/omaha.cc',
1322 'host/win/unprivileged_process_delegate.cc',
1323 'host/win/unprivileged_process_delegate.h',
1324 'host/win/worker_process_launcher.cc',
1325 'host/win/worker_process_launcher.h',
1326 'host/win/wts_console_monitor.h',
1327 'host/win/wts_console_observer.h',
1328 'host/win/wts_console_session_process_driver.cc',
1329 'host/win/wts_console_session_process_driver.h',
1330 'host/win/wts_session_process_delegate.cc',
1331 'host/win/wts_session_process_delegate.h',
1332 'host/worker_process_ipc_delegate.h',
1336 'AdditionalDependencies': [
1339 # 2 == /SUBSYSTEM:WINDOWS
1343 }, # end of target 'remoting_daemon'
1345 # Generates the version information resources for the Windows binaries.
1346 # The .RC files are generated from the "version.rc.version" template and
1347 # placed in the "<(SHARED_INTERMEDIATE_DIR)/remoting" folder.
1348 # The substitution strings are taken from:
1349 # - build/util/LASTCHANGE - the last source code revision.
1350 # - chrome/VERSION - the major, build & patch versions.
1351 # - remoting/VERSION - the chromoting patch version (and overrides
1352 # for chrome/VERSION).
1353 # - (branding_path) - UI/localizable strings.
1354 # - xxx.ver - per-binary non-localizable strings such as the binary
1357 'target_name': 'remoting_version_resources',
1361 'version.rc.version',
1362 '<(DEPTH)/build/util/LASTCHANGE',
1363 '<(remoting_version_path)',
1364 '<(chrome_version_path)',
1366 'direct_dependent_settings': {
1368 '<(SHARED_INTERMEDIATE_DIR)/remoting',
1372 'host/plugin/remoting_host_plugin.ver',
1373 'host/remoting_desktop.ver',
1374 'host/remoting_host_me2me.ver',
1375 'host/win/remoting_controller.ver',
1376 'host/win/remoting_daemon.ver',
1380 'rule_name': 'version',
1383 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
1384 'template_input_path': 'version.rc.version',
1388 '<(chrome_version_path)',
1389 '<(lastchange_path)',
1390 '<(remoting_version_path)',
1391 '<(template_input_path)',
1394 '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)_version.rc',
1398 '<(version_py_path)',
1399 '-f', '<(RULE_INPUT_PATH)',
1400 '-f', '<(chrome_version_path)',
1401 # |remoting_version_path| must be after |chrome_version_path|
1402 # because it can contain overrides for the version numbers.
1403 '-f', '<(remoting_version_path)',
1404 '-f', '<(branding_path)',
1405 '-f', '<(lastchange_path)',
1406 '<(template_input_path)',
1409 'message': 'Generating version information in <@(_outputs)'
1412 }, # end of target 'remoting_version_resources'
1413 ], # end of 'targets'
1416 # The host installation is generated only if WiX is available and when
1417 # building a non-component build. WiX does not provide a easy way to
1418 # include all DLLs imported by the installed binaries, so supporting
1419 # the component build becomes a burden.
1420 ['OS == "win" and component != "shared_library" and wix_exists == "True" \
1421 and sas_dll_exists == "True"', {
1424 'target_name': 'remoting_host_installation',
1427 'remoting_me2me_host_archive',
1430 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1433 '<(PRODUCT_DIR)/chromoting.msi',
1437 'rule_name': 'zip2msi',
1443 '<(PRODUCT_DIR)/chromoting.msi',
1445 'msvs_cygwin_shell': 0,
1447 'python', 'tools/zip2msi.py',
1448 '--wix_path', '<(wix_path)',
1449 '--intermediate_dir', '<(INTERMEDIATE_DIR)/installation',
1450 '<(RULE_INPUT_PATH)',
1453 'message': 'Generating <@(_outputs)',
1456 }, # end of target 'remoting_host_installation'
1459 'target_name': 'remoting_me2me_host_archive',
1462 'remoting_controller',
1464 'remoting_me2me_host',
1466 'compiled_inputs': [
1467 '<(PRODUCT_DIR)/remoting_controller.exe',
1468 '<(PRODUCT_DIR)/remoting_daemon.exe',
1469 '<(PRODUCT_DIR)/remoting_host.exe',
1471 'compiled_inputs_dst': [
1472 'files/remoting_controller.exe',
1473 'files/remoting_daemon.exe',
1474 'files/remoting_host.exe',
1477 ['buildtype == "Official"', {
1481 }, { # else buildtype != "Official"
1486 ['remoting_multi_process != 0', {
1490 'compiled_inputs': [
1491 '<(PRODUCT_DIR)/remoting_desktop.exe',
1493 'compiled_inputs_dst': [
1494 'files/remoting_desktop.exe',
1499 'BRANDING=<(branding)',
1500 'CONTROLLER_CLSID={<(daemon_controller_clsid)}',
1501 'REMOTING_MULTI_PROCESS=<(remoting_multi_process)',
1502 'VERSION=<(version_full)',
1504 'generated_files': [
1505 '<@(_compiled_inputs)',
1506 '<(sas_dll_path)/sas.dll',
1507 'resources/chromoting.ico',
1509 'generated_files_dst': [
1510 '<@(_compiled_inputs_dst)',
1512 'files/chromoting.ico',
1514 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1520 'action_name': 'Zip installer files for signing',
1521 'temp_dir': '<(INTERMEDIATE_DIR)/installation',
1523 '<@(remoting_host_installer_win_files)',
1526 '<@(_compiled_inputs)',
1527 '<(sas_dll_path)/sas.dll',
1528 '<@(_source_files)',
1529 'host/installer/build-installer-archive.py',
1530 'resources/chromoting.ico',
1537 'host/installer/build-installer-archive.py',
1540 '--source-file-roots',
1541 '<@(remoting_host_installer_win_roots)',
1543 '<@(_source_files)',
1544 '--generated-files',
1545 '<@(_generated_files)',
1546 '--generated-files-dst',
1547 '<@(_generated_files_dst)',
1553 }, # end of target 'remoting_me2me_host_archive'
1554 ], # end of 'targets'
1555 }], # '<(wix_path) != ""'
1557 ], # end of 'conditions'
1561 'target_name': 'remoting_breakpad',
1562 'type': 'static_library',
1563 'variables': { 'enable_wexit_time_destructors': 1, },
1565 '../base/base.gyp:base',
1569 'base/breakpad_linux.cc',
1570 'base/breakpad_mac.mm',
1571 'base/breakpad_win.cc',
1576 '../breakpad/breakpad.gyp:breakpad',
1581 '../breakpad/breakpad.gyp:breakpad_handler',
1585 }, # end of target 'remoting_breakpad'
1588 'target_name': 'remoting_client_plugin',
1589 'type': 'static_library',
1590 'variables': { 'enable_wexit_time_destructors': 1, },
1592 'HAVE_STDINT_H', # Required by on2_integer.h
1597 'remoting_jingle_glue',
1598 '../media/media.gyp:media',
1599 '../net/net.gyp:net',
1600 '../ppapi/ppapi.gyp:ppapi_cpp_objects',
1601 '../skia/skia.gyp:skia',
1604 'client/plugin/chromoting_instance.cc',
1605 'client/plugin/chromoting_instance.h',
1606 'client/plugin/mac_key_event_processor.cc',
1607 'client/plugin/mac_key_event_processor.h',
1608 'client/plugin/pepper_audio_player.cc',
1609 'client/plugin/pepper_audio_player.h',
1610 'client/plugin/pepper_entrypoints.cc',
1611 'client/plugin/pepper_entrypoints.h',
1612 'client/plugin/pepper_input_handler.cc',
1613 'client/plugin/pepper_input_handler.h',
1614 'client/plugin/pepper_network_manager.cc',
1615 'client/plugin/pepper_network_manager.h',
1616 'client/plugin/pepper_packet_socket_factory.cc',
1617 'client/plugin/pepper_packet_socket_factory.h',
1618 'client/plugin/pepper_plugin_thread_delegate.cc',
1619 'client/plugin/pepper_plugin_thread_delegate.h',
1620 'client/plugin/pepper_port_allocator.cc',
1621 'client/plugin/pepper_port_allocator.h',
1622 'client/plugin/pepper_view.cc',
1623 'client/plugin/pepper_view.h',
1624 'client/plugin/pepper_util.cc',
1625 'client/plugin/pepper_util.h',
1626 'client/plugin/pepper_xmpp_proxy.cc',
1627 'client/plugin/pepper_xmpp_proxy.h',
1629 }, # end of target 'remoting_client_plugin'
1632 'target_name': 'remoting_host_event_logger',
1633 'type': 'static_library',
1634 'variables': { 'enable_wexit_time_destructors': 1, },
1639 'host/host_event_logger.h',
1640 'host/host_event_logger_posix.cc',
1641 'host/host_event_logger_win.cc',
1646 'host/remoting_host_messages.mc',
1648 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
1652 'direct_dependent_settings': {
1657 # Rule to run the message compiler.
1660 'rule_name': 'message_compiler',
1664 '<(_output_dir)/remoting_host_messages.h',
1665 '<(_output_dir)/remoting_host_messages.rc',
1667 'msvs_cygwin_shell': 0,
1670 '-h', '<(_output_dir)',
1671 '-r', '<(_output_dir)/.',
1672 '<(RULE_INPUT_PATH)',
1674 'process_outputs_as_sources': 1,
1675 'message': 'Running message compiler on <(RULE_INPUT_PATH).',
1679 ], # end of 'conditions'
1680 }, # end of target 'remoting_host_event_logger'
1683 'target_name': 'remoting_webapp',
1686 'remoting_resources',
1687 'remoting_host_plugin',
1690 'webapp/build-webapp.py',
1691 '<(remoting_version_path)',
1692 '<(chrome_version_path)',
1693 '<@(remoting_webapp_files)',
1694 '<@(remoting_webapp_locale_files)',
1698 ['enable_remoting_host==1', {
1700 'plugin_path': '<(PRODUCT_DIR)/<(host_plugin_prefix)remoting_host_plugin.<(host_plugin_extension)',
1707 'remoting_host_plugin',
1712 # Can't use a 'copies' because we need to manipulate
1713 # the manifest file to get the right plugin name.
1714 # Also we need to move the plugin into the me2mom
1715 # folder, which means 2 copies, and gyp doesn't
1716 # seem to guarantee the ordering of 2 copies statements
1717 # when the actual project is generated.
1720 'action_name': 'Build Remoting WebApp',
1721 'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp',
1722 'zip_path': '<(PRODUCT_DIR)/remoting-webapp.zip',
1724 'webapp/build-webapp.py',
1725 '<(remoting_version_path)',
1726 '<(chrome_version_path)',
1727 '<@(remoting_webapp_files)',
1728 '<@(remoting_webapp_locale_files)',
1731 ['enable_remoting_host==1', {
1742 'python', 'webapp/build-webapp.py',
1745 '<(host_plugin_mime_type)',
1749 '<@(remoting_webapp_files)',
1751 '<@(remoting_webapp_locale_files)',
1753 'msvs_cygwin_shell': 1,
1756 }, # end of target 'remoting_webapp'
1759 'target_name': 'remoting_resources',
1762 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
1763 'grit_resource_ids': 'resource_ids',
1765 'base/resources_unittest.cc',
1766 'host/plugin/host_script_object.cc',
1767 'webapp/client_screen.js',
1768 'webapp/host_list.js',
1769 'webapp/host_table_entry.js',
1770 'webapp/host_setup_dialog.js',
1772 'webapp/manifest.json',
1773 'webapp/remoting.js',
1778 'action_name': 'verify_resources',
1780 'resources/remoting_strings.grd',
1781 'resources/common_resources.grd',
1782 'tools/verify_resources.py',
1786 '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
1790 'tools/verify_resources.py',
1791 '-t', '<(PRODUCT_DIR)/remoting_resources_verified.stamp',
1792 '-r', 'resources/remoting_strings.grd',
1793 '-r', 'resources/common_resources.grd',
1798 'action_name': 'remoting_strings',
1800 'grit_grd_file': 'resources/remoting_strings.grd',
1802 'includes': [ '../build/grit_action.gypi' ],
1805 'action_name': 'common_resources',
1807 'grit_grd_file': 'resources/common_resources.grd',
1809 'includes': [ '../build/grit_action.gypi' ],
1813 # Copy results to the product directory.
1815 'destination': '<(PRODUCT_DIR)/remoting_locales',
1817 '<(grit_out_dir)/remoting/resources/ar.pak',
1818 '<(grit_out_dir)/remoting/resources/bg.pak',
1819 '<(grit_out_dir)/remoting/resources/ca.pak',
1820 '<(grit_out_dir)/remoting/resources/cs.pak',
1821 '<(grit_out_dir)/remoting/resources/da.pak',
1822 '<(grit_out_dir)/remoting/resources/de.pak',
1823 '<(grit_out_dir)/remoting/resources/el.pak',
1824 '<(grit_out_dir)/remoting/resources/en-US.pak',
1825 '<(grit_out_dir)/remoting/resources/en-GB.pak',
1826 '<(grit_out_dir)/remoting/resources/es.pak',
1827 '<(grit_out_dir)/remoting/resources/es-419.pak',
1828 '<(grit_out_dir)/remoting/resources/et.pak',
1829 '<(grit_out_dir)/remoting/resources/fi.pak',
1830 '<(grit_out_dir)/remoting/resources/fil.pak',
1831 '<(grit_out_dir)/remoting/resources/fr.pak',
1832 '<(grit_out_dir)/remoting/resources/he.pak',
1833 '<(grit_out_dir)/remoting/resources/hi.pak',
1834 '<(grit_out_dir)/remoting/resources/hr.pak',
1835 '<(grit_out_dir)/remoting/resources/hu.pak',
1836 '<(grit_out_dir)/remoting/resources/id.pak',
1837 '<(grit_out_dir)/remoting/resources/it.pak',
1838 '<(grit_out_dir)/remoting/resources/ja.pak',
1839 '<(grit_out_dir)/remoting/resources/ko.pak',
1840 '<(grit_out_dir)/remoting/resources/lt.pak',
1841 '<(grit_out_dir)/remoting/resources/lv.pak',
1842 '<(grit_out_dir)/remoting/resources/nb.pak',
1843 '<(grit_out_dir)/remoting/resources/nl.pak',
1844 '<(grit_out_dir)/remoting/resources/pl.pak',
1845 '<(grit_out_dir)/remoting/resources/pt-BR.pak',
1846 '<(grit_out_dir)/remoting/resources/pt-PT.pak',
1847 '<(grit_out_dir)/remoting/resources/ro.pak',
1848 '<(grit_out_dir)/remoting/resources/ru.pak',
1849 '<(grit_out_dir)/remoting/resources/sk.pak',
1850 '<(grit_out_dir)/remoting/resources/sl.pak',
1851 '<(grit_out_dir)/remoting/resources/sr.pak',
1852 '<(grit_out_dir)/remoting/resources/sv.pak',
1853 '<(grit_out_dir)/remoting/resources/th.pak',
1854 '<(grit_out_dir)/remoting/resources/tr.pak',
1855 '<(grit_out_dir)/remoting/resources/uk.pak',
1856 '<(grit_out_dir)/remoting/resources/vi.pak',
1857 '<(grit_out_dir)/remoting/resources/zh-CN.pak',
1858 '<(grit_out_dir)/remoting/resources/zh-TW.pak',
1862 'destination': '<(PRODUCT_DIR)',
1864 '<(grit_out_dir)/remoting/resources/chrome_remote_desktop.pak',
1868 'includes': [ '../build/grit_target.gypi' ],
1869 }, # end of target 'remoting_resources'
1872 'target_name': 'remoting_base',
1873 'type': 'static_library',
1874 'variables': { 'enable_wexit_time_destructors': 1, },
1876 '../base/base.gyp:base',
1877 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
1879 '../net/net.gyp:net',
1880 '../skia/skia.gyp:skia',
1881 '../third_party/libvpx/libvpx.gyp:libvpx',
1882 '../third_party/opus/opus.gyp:opus',
1883 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
1884 '../third_party/speex/speex.gyp:libspeex',
1885 '../media/media.gyp:media',
1886 '../media/media.gyp:shared_memory_support',
1887 '../media/media.gyp:yuv_convert',
1888 'remoting_jingle_glue',
1889 'remoting_resources',
1890 'proto/chromotocol.gyp:chromotocol_proto_lib',
1892 'export_dependent_settings': [
1893 '../base/base.gyp:base',
1894 '../net/net.gyp:net',
1895 '../skia/skia.gyp:skia',
1896 '../third_party/protobuf/protobuf.gyp:protobuf_lite',
1897 'proto/chromotocol.gyp:chromotocol_proto_lib',
1899 # This target needs a hard dependency because dependent targets
1900 # depend on chromotocol_proto_lib for headers.
1901 'hard_dependency': 1,
1903 'base/auto_thread.cc',
1904 'base/auto_thread.h',
1905 'base/auto_thread_task_runner.cc',
1906 'base/auto_thread_task_runner.h',
1907 'base/auth_token_util.cc',
1908 'base/auth_token_util.h',
1909 'base/compound_buffer.cc',
1910 'base/compound_buffer.h',
1911 'base/constants.cc',
1913 'base/plugin_thread_task_runner.cc',
1914 'base/plugin_thread_task_runner.h',
1915 'base/rate_counter.cc',
1916 'base/rate_counter.h',
1917 'base/resources.cc',
1919 'base/running_average.cc',
1920 'base/running_average.h',
1921 'base/socket_reader.cc',
1922 'base/socket_reader.h',
1923 'base/stoppable.cc',
1925 'base/typed_buffer.h',
1928 'codec/audio_decoder.cc',
1929 'codec/audio_decoder.h',
1930 'codec/audio_decoder_opus.cc',
1931 'codec/audio_decoder_opus.h',
1932 'codec/audio_decoder_speex.cc',
1933 'codec/audio_decoder_speex.h',
1934 'codec/audio_decoder_verbatim.cc',
1935 'codec/audio_decoder_verbatim.h',
1936 'codec/audio_encoder.h',
1937 'codec/audio_encoder_opus.cc',
1938 'codec/audio_encoder_opus.h',
1939 'codec/audio_encoder_speex.cc',
1940 'codec/audio_encoder_speex.h',
1941 'codec/audio_encoder_verbatim.cc',
1942 'codec/audio_encoder_verbatim.h',
1943 'codec/video_decoder.h',
1944 'codec/video_decoder_verbatim.cc',
1945 'codec/video_decoder_verbatim.h',
1946 'codec/video_decoder_vp8.cc',
1947 'codec/video_decoder_vp8.h',
1948 'codec/video_encoder.h',
1949 'codec/video_encoder_verbatim.cc',
1950 'codec/video_encoder_verbatim.h',
1951 'codec/video_encoder_vp8.cc',
1952 'codec/video_encoder_vp8.h',
1954 }, # end of target 'remoting_base'
1957 'target_name': 'remoting_host_logging',
1958 'type': 'static_library',
1959 'variables': { 'enable_wexit_time_destructors': 1, },
1961 '../base/base.gyp:base',
1967 'host/logging_posix.cc',
1968 'host/logging_win.cc',
1970 }, # end of target 'remoting_host_logging'
1973 'target_name': 'remoting_client',
1974 'type': 'static_library',
1975 'variables': { 'enable_wexit_time_destructors': 1, },
1978 'remoting_jingle_glue',
1979 'remoting_protocol',
1982 'client/audio_decode_scheduler.cc',
1983 'client/audio_decode_scheduler.h',
1984 'client/audio_player.cc',
1985 'client/audio_player.h',
1986 'client/chromoting_client.cc',
1987 'client/chromoting_client.h',
1988 'client/chromoting_stats.cc',
1989 'client/chromoting_stats.h',
1990 'client/client_config.cc',
1991 'client/client_config.h',
1992 'client/client_context.cc',
1993 'client/client_context.h',
1994 'client/client_user_interface.h',
1995 'client/frame_consumer.h',
1996 'client/frame_consumer_proxy.cc',
1997 'client/frame_consumer_proxy.h',
1998 'client/frame_producer.h',
1999 'client/key_event_mapper.cc',
2000 'client/key_event_mapper.h',
2001 'client/rectangle_update_decoder.cc',
2002 'client/rectangle_update_decoder.h',
2004 }, # end of target 'remoting_client'
2007 'target_name': 'remoting_jingle_glue',
2008 'type': 'static_library',
2009 'variables': { 'enable_wexit_time_destructors': 1, },
2011 '../base/base.gyp:base',
2012 '../jingle/jingle.gyp:jingle_glue',
2013 '../jingle/jingle.gyp:notifier',
2014 '../third_party/libjingle/libjingle.gyp:libjingle',
2015 '../third_party/libjingle/libjingle.gyp:libjingle_p2p',
2017 'export_dependent_settings': [
2018 '../third_party/libjingle/libjingle.gyp:libjingle',
2019 '../third_party/libjingle/libjingle.gyp:libjingle_p2p',
2022 'jingle_glue/chromium_socket_factory.cc',
2023 'jingle_glue/chromium_socket_factory.h',
2024 'jingle_glue/iq_sender.cc',
2025 'jingle_glue/iq_sender.h',
2026 'jingle_glue/javascript_signal_strategy.cc',
2027 'jingle_glue/javascript_signal_strategy.h',
2028 'jingle_glue/jingle_info_request.cc',
2029 'jingle_glue/jingle_info_request.h',
2030 'jingle_glue/signal_strategy.h',
2031 'jingle_glue/xmpp_proxy.h',
2032 'jingle_glue/xmpp_signal_strategy.cc',
2033 'jingle_glue/xmpp_signal_strategy.h',
2035 }, # end of target 'remoting_jingle_glue'
2038 'target_name': 'remoting_protocol',
2039 'type': 'static_library',
2040 'variables': { 'enable_wexit_time_destructors': 1, },
2043 'remoting_jingle_glue',
2044 '../crypto/crypto.gyp:crypto',
2045 '../jingle/jingle.gyp:jingle_glue',
2046 '../net/net.gyp:net',
2048 'export_dependent_settings': [
2049 'remoting_jingle_glue',
2052 'protocol/audio_reader.cc',
2053 'protocol/audio_reader.h',
2054 'protocol/audio_stub.h',
2055 'protocol/audio_writer.cc',
2056 'protocol/audio_writer.h',
2057 'protocol/auth_util.cc',
2058 'protocol/auth_util.h',
2059 'protocol/authentication_method.cc',
2060 'protocol/authentication_method.h',
2061 'protocol/authenticator.cc',
2062 'protocol/authenticator.h',
2063 'protocol/buffered_socket_writer.cc',
2064 'protocol/buffered_socket_writer.h',
2065 'protocol/channel_authenticator.h',
2066 'protocol/channel_dispatcher_base.cc',
2067 'protocol/channel_dispatcher_base.h',
2068 'protocol/channel_multiplexer.cc',
2069 'protocol/channel_multiplexer.h',
2070 'protocol/client_control_dispatcher.cc',
2071 'protocol/client_control_dispatcher.h',
2072 'protocol/client_event_dispatcher.cc',
2073 'protocol/client_event_dispatcher.h',
2074 'protocol/client_stub.h',
2075 'protocol/clipboard_echo_filter.cc',
2076 'protocol/clipboard_echo_filter.h',
2077 'protocol/clipboard_filter.cc',
2078 'protocol/clipboard_filter.h',
2079 'protocol/clipboard_stub.h',
2080 'protocol/clipboard_thread_proxy.cc',
2081 'protocol/clipboard_thread_proxy.h',
2082 'protocol/connection_to_client.cc',
2083 'protocol/connection_to_client.h',
2084 'protocol/connection_to_host.cc',
2085 'protocol/connection_to_host.h',
2086 'protocol/content_description.cc',
2087 'protocol/content_description.h',
2088 'protocol/errors.h',
2089 'protocol/host_control_dispatcher.cc',
2090 'protocol/host_control_dispatcher.h',
2091 'protocol/host_event_dispatcher.cc',
2092 'protocol/host_event_dispatcher.h',
2093 'protocol/host_stub.h',
2094 'protocol/input_event_tracker.cc',
2095 'protocol/input_event_tracker.h',
2096 'protocol/input_filter.cc',
2097 'protocol/input_filter.h',
2098 'protocol/input_stub.h',
2099 'protocol/it2me_host_authenticator_factory.cc',
2100 'protocol/it2me_host_authenticator_factory.h',
2101 'protocol/jingle_messages.cc',
2102 'protocol/jingle_messages.h',
2103 'protocol/jingle_session.cc',
2104 'protocol/jingle_session.h',
2105 'protocol/jingle_session_manager.cc',
2106 'protocol/jingle_session_manager.h',
2107 'protocol/libjingle_transport_factory.cc',
2108 'protocol/libjingle_transport_factory.h',
2109 'protocol/me2me_host_authenticator_factory.cc',
2110 'protocol/me2me_host_authenticator_factory.h',
2111 'protocol/message_decoder.cc',
2112 'protocol/message_decoder.h',
2113 'protocol/message_reader.cc',
2114 'protocol/message_reader.h',
2115 'protocol/mouse_input_filter.cc',
2116 'protocol/mouse_input_filter.h',
2117 'protocol/name_value_map.h',
2118 'protocol/negotiating_authenticator.cc',
2119 'protocol/negotiating_authenticator.h',
2120 'protocol/protobuf_video_reader.cc',
2121 'protocol/protobuf_video_reader.h',
2122 'protocol/protobuf_video_writer.cc',
2123 'protocol/protobuf_video_writer.h',
2124 'protocol/session.h',
2125 'protocol/session_config.cc',
2126 'protocol/session_config.h',
2127 'protocol/session_manager.h',
2128 'protocol/ssl_hmac_channel_authenticator.cc',
2129 'protocol/ssl_hmac_channel_authenticator.h',
2130 'protocol/transport.cc',
2131 'protocol/transport.h',
2132 'protocol/transport_config.cc',
2133 'protocol/transport_config.h',
2136 'protocol/v2_authenticator.cc',
2137 'protocol/v2_authenticator.h',
2138 'protocol/video_reader.cc',
2139 'protocol/video_reader.h',
2140 'protocol/video_stub.h',
2141 'protocol/video_writer.cc',
2142 'protocol/video_writer.h',
2144 }, # end of target 'remoting_protocol'
2147 'target_name': 'differ_block_sse2',
2148 'type': 'static_library',
2150 [ 'os_posix == 1 and OS != "mac"', {
2157 'capturer/differ_block_sse2.cc',
2158 'capturer/differ_block_sse2.h',
2160 }, # end of target differ_block_sse2
2162 # Remoting unit tests
2164 'target_name': 'remoting_unittests',
2165 'type': 'executable',
2168 'remoting_resources',
2169 'remoting_breakpad',
2171 'remoting_client_plugin',
2173 'remoting_jingle_glue',
2174 'remoting_protocol',
2175 'remoting_screen_capturer',
2176 'remoting_host_setup_base',
2177 '../base/base.gyp:base',
2178 '../base/base.gyp:base_i18n',
2179 '../base/base.gyp:test_support_base',
2180 '../media/media.gyp:media',
2181 '../net/net.gyp:net_test_support',
2182 '../ppapi/ppapi.gyp:ppapi_cpp',
2183 '../testing/gmock.gyp:gmock',
2184 '../testing/gtest.gyp:gtest',
2188 'VERSION=<(version_full)',
2191 '../testing/gmock/include',
2194 '../chrome/test/base/run_all_remoting_unittests.cc',
2195 'base/auth_token_util_unittest.cc',
2196 'base/auto_thread_task_runner_unittest.cc',
2197 'base/auto_thread_unittest.cc',
2198 'base/breakpad_win_unittest.cc',
2199 'base/compound_buffer_unittest.cc',
2200 'base/resources_unittest.cc',
2201 'base/typed_buffer_unittest.cc',
2202 'base/util_unittest.cc',
2203 'capturer/video_capturer_mock_objects.cc',
2204 'capturer/video_capturer_mock_objects.h',
2205 'capturer/differ_block_unittest.cc',
2206 'capturer/differ_unittest.cc',
2207 'capturer/shared_buffer_unittest.cc',
2208 'capturer/video_frame_capturer_helper_unittest.cc',
2209 'capturer/video_frame_capturer_mac_unittest.cc',
2210 'capturer/video_frame_capturer_unittest.cc',
2211 'client/audio_player_unittest.cc',
2212 'client/key_event_mapper_unittest.cc',
2213 'client/plugin/mac_key_event_processor_unittest.cc',
2214 'codec/audio_encoder_opus_unittest.cc',
2215 'codec/codec_test.cc',
2216 'codec/codec_test.h',
2217 'codec/video_decoder_vp8_unittest.cc',
2218 'codec/video_encoder_verbatim_unittest.cc',
2219 'codec/video_encoder_vp8_unittest.cc',
2220 'host/audio_capturer_win_unittest.cc',
2223 'host/chromoting_host_context_unittest.cc',
2224 'host/chromoting_host_unittest.cc',
2225 'host/client_session_unittest.cc',
2226 'host/config_file_watcher.cc',
2227 'host/config_file_watcher.h',
2228 'host/daemon_process.cc',
2229 'host/daemon_process.h',
2230 'host/daemon_process_unittest.cc',
2231 'host/desktop_process.cc',
2232 'host/desktop_process.h',
2233 'host/desktop_process_unittest.cc',
2234 'host/desktop_session.cc',
2235 'host/desktop_session.h',
2236 'host/desktop_session_agent.cc',
2237 'host/desktop_session_agent.h',
2238 'host/desktop_session_agent_posix.cc',
2239 'host/desktop_session_agent_win.cc',
2240 'host/heartbeat_sender_unittest.cc',
2241 'host/host_key_pair_unittest.cc',
2242 'host/host_mock_objects.cc',
2243 'host/host_mock_objects.h',
2244 'host/json_host_config_unittest.cc',
2245 'host/linux/x_server_clipboard_unittest.cc',
2246 'host/local_input_monitor_unittest.cc',
2247 'host/log_to_server_unittest.cc',
2248 'host/pin_hash_unittest.cc',
2249 'host/policy_hack/fake_policy_watcher.cc',
2250 'host/policy_hack/fake_policy_watcher.h',
2251 'host/policy_hack/mock_policy_callback.cc',
2252 'host/policy_hack/mock_policy_callback.h',
2253 'host/policy_hack/policy_watcher_unittest.cc',
2254 'host/register_support_host_request_unittest.cc',
2255 'host/remote_input_filter_unittest.cc',
2256 'host/resizing_host_observer_unittest.cc',
2257 'host/server_log_entry_unittest.cc',
2258 'host/setup/oauth_helper_unittest.cc',
2259 'host/setup/pin_validator_unittest.cc',
2260 'host/test_key_pair.h',
2261 'host/video_scheduler_unittest.cc',
2262 'host/win/worker_process_launcher.cc',
2263 'host/win/worker_process_launcher.h',
2264 'host/win/worker_process_launcher_unittest.cc',
2265 'jingle_glue/chromium_socket_factory_unittest.cc',
2266 'jingle_glue/fake_signal_strategy.cc',
2267 'jingle_glue/fake_signal_strategy.h',
2268 'jingle_glue/iq_sender_unittest.cc',
2269 'jingle_glue/mock_objects.cc',
2270 'jingle_glue/mock_objects.h',
2271 'protocol/authenticator_test_base.cc',
2272 'protocol/authenticator_test_base.h',
2273 'protocol/buffered_socket_writer_unittest.cc',
2274 'protocol/channel_multiplexer_unittest.cc',
2275 'protocol/clipboard_echo_filter_unittest.cc',
2276 'protocol/clipboard_filter_unittest.cc',
2277 'protocol/connection_tester.cc',
2278 'protocol/connection_tester.h',
2279 'protocol/connection_to_client_unittest.cc',
2280 'protocol/content_description_unittest.cc',
2281 'protocol/fake_authenticator.cc',
2282 'protocol/fake_authenticator.h',
2283 'protocol/fake_session.cc',
2284 'protocol/fake_session.h',
2285 'protocol/input_event_tracker_unittest.cc',
2286 'protocol/input_filter_unittest.cc',
2287 'protocol/jingle_messages_unittest.cc',
2288 'protocol/jingle_session_unittest.cc',
2289 'protocol/message_decoder_unittest.cc',
2290 'protocol/message_reader_unittest.cc',
2291 'protocol/mouse_input_filter_unittest.cc',
2292 'protocol/negotiating_authenticator_unittest.cc',
2293 'protocol/ppapi_module_stub.cc',
2294 'protocol/protocol_mock_objects.cc',
2295 'protocol/protocol_mock_objects.h',
2296 'protocol/ssl_hmac_channel_authenticator_unittest.cc',
2297 'protocol/v2_authenticator_unittest.cc',
2309 }, { # else OS != "win"
2310 # Javascript unittests are disabled on Windows because they add a
2311 # dependency on 'common_constants' which (only on Windows) requires
2312 # additional dependencies:
2313 # '../content/content.gyp:content_common',
2315 # These targets are defined in .gypi files that would need to be
2317 # '../chrome/chrome_common.gypi',
2318 # '../chrome/chrome_installer.gypi',
2319 # '../chrome/chrome_installer_util.gypi',
2320 # But we can't do that because ninja will complain about multiple
2321 # target definitions.
2322 # TODO(garykac): Move installer_util into a proper .gyp file so that
2323 # it can be included in multiple .gyp files.
2325 '../chrome/js_unittest_rules.gypi',
2328 '../chrome/common_constants.gyp:common_constants',
2329 '../v8/tools/gyp/v8.gyp:v8',
2332 '../chrome/test/base/v8_unit_test.cc',
2333 '../chrome/test/base/v8_unit_test.h',
2334 'webapp/format_iq.gtestjs',
2335 'webapp/format_iq.js',
2338 ['enable_remoting_host == 0', {
2341 'remoting_host_setup_base',
2344 ['exclude', 'codec/*'],
2345 ['exclude', 'host/*'],
2348 ['toolkit_uses_gtk == 1', {
2350 # Needed for the following #include chain:
2351 # base/run_all_unittests.cc
2352 # ../base/test_suite.h
2354 '../build/linux/system.gyp:gtk',
2355 '../build/linux/system.gyp:ssl',
2358 [ 'linux_use_tcmalloc==1', {
2360 '../base/allocator/allocator.gyp:allocator',
2365 }], # end of 'toolkit_uses_gtk == 1'
2366 ], # end of 'conditions'
2367 }, # end of target 'remoting_unittests'