Hold the Pepper proxy lock for all Pepper GL calls.
[chromium-blink-merge.git] / remoting / remoting_host.gypi
blobd4e2406fc31fba4473eb28ba6fefceb7258386c3
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.
6   'includes': [
7     'remoting_host_linux.gypi',
8     'remoting_host_mac.gypi',
9     'remoting_host_win.gypi',
10   ],
12   'variables': {
13     'conditions': [
14       # Remoting host is supported only on Windows, OSX and Linux (with X11).
15       ['OS=="win" or OS=="mac" or (OS=="linux" and use_x11==1)', {
16         'enable_me2me_host': 1,
17         'enable_it2me_host': 1,
18         'enable_remoting_host': 1,
19       }, {
20         'enable_me2me_host': 0,
21         'enable_it2me_host': 0,
22         'enable_remoting_host': 0,
23       }],
24       ['chromeos==1 and use_x11==1', {
25         'enable_me2me_host': 0,
26         'enable_it2me_host': 1,
27       }],
28     ],
29   },
31   'conditions': [
32     ['enable_remoting_host==1', {
33       'targets': [
34         {
35           'target_name': 'remoting_host',
36           'type': 'static_library',
37           'variables': {
38             'enable_wexit_time_destructors': 1,
39             'host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
40             'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
41           },
42           'dependencies': [
43             'remoting_base',
44             'remoting_protocol',
45             'remoting_resources',
46             '../base/base.gyp:base_i18n',
47             '../crypto/crypto.gyp:crypto',
48             '../google_apis/google_apis.gyp:google_apis',
49             '../ipc/ipc.gyp:ipc',
50             '../ui/events/events.gyp:dom4_keycode_converter',
51           ],
52           'defines': [
53             'HOST_BUNDLE_NAME="<(host_bundle_name)"',
54             'PREFPANE_BUNDLE_NAME="<(prefpane_bundle_name)"',
55             'VERSION=<(version_full)',
56           ],
57           'sources': [
58             'host/audio_capturer.cc',
59             'host/audio_capturer.h',
60             'host/audio_capturer_linux.cc',
61             'host/audio_capturer_linux.h',
62             'host/audio_capturer_mac.cc',
63             'host/audio_capturer_win.cc',
64             'host/audio_capturer_win.h',
65             'host/audio_scheduler.cc',
66             'host/audio_scheduler.h',
67             'host/audio_silence_detector.cc',
68             'host/audio_silence_detector.h',
69             'host/basic_desktop_environment.cc',
70             'host/basic_desktop_environment.h',
71             'host/branding.cc',
72             'host/branding.h',
73             'host/capture_scheduler.cc',
74             'host/capture_scheduler.h',
75             'host/chromeos/aura_desktop_capturer.cc',
76             'host/chromeos/aura_desktop_capturer.h',
77             'host/chromium_port_allocator_factory.cc',
78             'host/chromium_port_allocator_factory.h',
79             'host/chromoting_host.cc',
80             'host/chromoting_host.h',
81             'host/chromoting_host_context.cc',
82             'host/chromoting_host_context.h',
83             'host/chromoting_messages.cc',
84             'host/chromoting_messages.h',
85             'host/chromoting_param_traits.cc',
86             'host/chromoting_param_traits.h',
87             'host/client_session.cc',
88             'host/client_session.h',
89             'host/client_session_control.h',
90             'host/clipboard.h',
91             'host/clipboard_mac.mm',
92             'host/clipboard_win.cc',
93             'host/clipboard_x11.cc',
94             'host/config_file_watcher.cc',
95             'host/config_file_watcher.h',
96             'host/config_watcher.h',
97             'host/constants_mac.cc',
98             'host/constants_mac.h',
99             'host/continue_window.cc',
100             'host/continue_window.h',
101             'host/continue_window_chromeos.cc',
102             'host/continue_window_linux.cc',
103             'host/continue_window_mac.mm',
104             'host/continue_window_win.cc',
105             'host/daemon_process.cc',
106             'host/daemon_process.h',
107             'host/daemon_process_win.cc',
108             'host/desktop_environment.h',
109             'host/desktop_process.cc',
110             'host/desktop_process.h',
111             'host/desktop_resizer.h',
112             'host/desktop_resizer_linux.cc',
113             'host/desktop_session.cc',
114             'host/desktop_session.h',
115             'host/desktop_session_agent.cc',
116             'host/desktop_session_agent.h',
117             'host/desktop_session_win.cc',
118             'host/desktop_session_win.h',
119             'host/desktop_resizer_mac.cc',
120             'host/desktop_resizer_win.cc',
121             'host/desktop_session_connector.h',
122             'host/desktop_session_proxy.cc',
123             'host/desktop_session_proxy.h',
124             'host/desktop_shape_tracker.h',
125             'host/desktop_shape_tracker_mac.cc',
126             'host/desktop_shape_tracker_win.cc',
127             'host/desktop_shape_tracker_x11.cc',
128             'host/disconnect_window_chromeos.cc',
129             'host/disconnect_window_linux.cc',
130             'host/disconnect_window_mac.h',
131             'host/disconnect_window_mac.mm',
132             'host/disconnect_window_win.cc',
133             'host/dns_blackhole_checker.cc',
134             'host/dns_blackhole_checker.h',
135             'host/gnubby_auth_handler.h',
136             'host/gnubby_auth_handler_posix.cc',
137             'host/gnubby_auth_handler_posix.h',
138             'host/gnubby_auth_handler_win.cc',
139             'host/gnubby_socket.cc',
140             'host/gnubby_socket.h',
141             'host/heartbeat_sender.cc',
142             'host/heartbeat_sender.h',
143             'host/host_change_notification_listener.cc',
144             'host/host_change_notification_listener.h',
145             'host/host_config.cc',
146             'host/host_config.h',
147             'host/host_event_logger.h',
148             'host/host_event_logger_posix.cc',
149             'host/host_event_logger_win.cc',
150             'host/host_exit_codes.cc',
151             'host/host_exit_codes.h',
152             'host/host_export.h',
153             'host/host_extension.h',
154             'host/host_extension_session.cc',
155             'host/host_extension_session.h',
156             'host/host_extension_session_manager.cc',
157             'host/host_extension_session_manager.h',
158             'host/host_secret.cc',
159             'host/host_secret.h',
160             'host/host_status_logger.cc',
161             'host/host_status_logger.h',
162             'host/host_status_monitor.h',
163             'host/host_status_observer.h',
164             'host/host_status_sender.cc',
165             'host/host_status_sender.h',
166             'host/host_window.h',
167             'host/host_window_proxy.cc',
168             'host/host_window_proxy.h',
169             'host/in_memory_host_config.cc',
170             'host/in_memory_host_config.h',
171             'host/input_injector.h',
172             'host/input_injector_linux.cc',
173             'host/input_injector_mac.cc',
174             'host/input_injector_win.cc',
175             'host/ipc_audio_capturer.cc',
176             'host/ipc_audio_capturer.h',
177             'host/ipc_constants.cc',
178             'host/ipc_constants.h',
179             'host/ipc_desktop_environment.cc',
180             'host/ipc_desktop_environment.h',
181             'host/ipc_host_event_logger.cc',
182             'host/ipc_host_event_logger.h',
183             'host/ipc_input_injector.cc',
184             'host/ipc_input_injector.h',
185             'host/ipc_mouse_cursor_monitor.cc',
186             'host/ipc_mouse_cursor_monitor.h',
187             'host/ipc_screen_controls.cc',
188             'host/ipc_screen_controls.h',
189             'host/ipc_util.h',
190             'host/ipc_util_posix.cc',
191             'host/ipc_util_win.cc',
192             'host/ipc_video_frame_capturer.cc',
193             'host/ipc_video_frame_capturer.h',
194             'host/it2me_desktop_environment.cc',
195             'host/it2me_desktop_environment.h',
196             'host/json_host_config.cc',
197             'host/json_host_config.h',
198             'host/linux/audio_pipe_reader.cc',
199             'host/linux/audio_pipe_reader.h',
200             'host/linux/unicode_to_keysym.cc',
201             'host/linux/unicode_to_keysym.h',
202             'host/linux/x11_util.cc',
203             'host/linux/x11_util.h',
204             'host/linux/x_server_clipboard.cc',
205             'host/linux/x_server_clipboard.h',
206             'host/local_input_monitor.h',
207             'host/local_input_monitor_linux.cc',
208             'host/local_input_monitor_mac.mm',
209             'host/local_input_monitor_win.cc',
210             'host/logging.h',
211             'host/logging_posix.cc',
212             'host/logging_win.cc',
213             'host/me2me_desktop_environment.cc',
214             'host/me2me_desktop_environment.h',
215             'host/mouse_clamping_filter.cc',
216             'host/mouse_clamping_filter.h',
217             'host/oauth_token_getter.cc',
218             'host/oauth_token_getter.h',
219             'host/pairing_registry_delegate.cc',
220             'host/pairing_registry_delegate.h',
221             'host/pairing_registry_delegate_linux.cc',
222             'host/pairing_registry_delegate_linux.h',
223             'host/pairing_registry_delegate_mac.cc',
224             'host/pairing_registry_delegate_win.cc',
225             'host/pairing_registry_delegate_win.h',
226             'host/pam_authorization_factory_posix.cc',
227             'host/pam_authorization_factory_posix.h',
228             'host/pin_hash.cc',
229             'host/pin_hash.h',
230             'host/policy_hack/policy_watcher.cc',
231             'host/policy_hack/policy_watcher.h',
232             'host/policy_hack/policy_watcher_chromeos.cc',
233             'host/policy_hack/policy_watcher_linux.cc',
234             'host/policy_hack/policy_watcher_mac.mm',
235             'host/policy_hack/policy_watcher_win.cc',
236             'host/register_support_host_request.cc',
237             'host/register_support_host_request.h',
238             'host/remote_input_filter.cc',
239             'host/remote_input_filter.h',
240             'host/remoting_me2me_host.cc',
241             'host/resizing_host_observer.cc',
242             'host/resizing_host_observer.h',
243             'host/sas_injector.h',
244             'host/sas_injector_win.cc',
245             'host/screen_controls.h',
246             'host/screen_resolution.cc',
247             'host/screen_resolution.h',
248             'host/server_log_entry_host.cc',
249             'host/server_log_entry_host.h',
250             'host/session_manager_factory.cc',
251             'host/session_manager_factory.h',
252             'host/shaped_desktop_capturer.cc',
253             'host/shaped_desktop_capturer.h',
254             'host/signaling_connector.cc',
255             'host/signaling_connector.h',
256             'host/single_window_desktop_environment.cc',
257             'host/single_window_desktop_environment.h',
258             'host/single_window_input_injector.h',
259             'host/single_window_input_injector_linux.cc',
260             'host/single_window_input_injector_mac.cc',
261             'host/single_window_input_injector_win.cc',
262             'host/token_validator_base.cc',
263             'host/token_validator_base.h',
264             'host/token_validator_factory_impl.cc',
265             'host/token_validator_factory_impl.h',
266             'host/usage_stats_consent.h',
267             'host/usage_stats_consent_mac.cc',
268             'host/usage_stats_consent_win.cc',
269             'host/username.cc',
270             'host/username.h',
271             'host/video_frame_recorder.cc',
272             'host/video_frame_recorder.h',
273             'host/video_frame_recorder_host_extension.cc',
274             'host/video_frame_recorder_host_extension.h',
275             'host/video_scheduler.cc',
276             'host/video_scheduler.h',
277             'host/win/com_imported_mstscax.tlh',
278             'host/win/com_security.cc',
279             'host/win/com_security.h',
280             'host/win/launch_process_with_token.cc',
281             'host/win/launch_process_with_token.h',
282             'host/win/omaha.cc',
283             'host/win/omaha.h',
284             'host/win/rdp_client.cc',
285             'host/win/rdp_client.h',
286             'host/win/rdp_client_window.cc',
287             'host/win/rdp_client_window.h',
288             'host/win/security_descriptor.cc',
289             'host/win/security_descriptor.h',
290             'host/win/session_desktop_environment.cc',
291             'host/win/session_desktop_environment.h',
292             'host/win/session_input_injector.cc',
293             'host/win/session_input_injector.h',
294             'host/win/window_station_and_desktop.cc',
295             'host/win/window_station_and_desktop.h',
296             'host/win/wts_terminal_monitor.cc',
297             'host/win/wts_terminal_monitor.h',
298             'host/win/wts_terminal_observer.h',
299           ],
300           'conditions': [
301             ['OS=="linux"', {
302               'dependencies': [
303                 '../build/linux/system.gyp:x11',
304                 '../build/linux/system.gyp:xext',
305                 '../build/linux/system.gyp:xfixes',
306                 '../build/linux/system.gyp:xi',
307                 '../build/linux/system.gyp:xrandr',
308                 '../build/linux/system.gyp:xtst',
309               ],
310               'link_settings': {
311                 'libraries': [
312                   '-lpam',
313                 ],
314               },
315             }],
316             ['OS=="linux" and chromeos==0 and use_ozone==0', {
317               'dependencies' : [
318                 # Always use GTK on Linux, even for Aura builds.
319                 '../build/linux/system.gyp:gtk',
320               ],
321             }],
322             ['chromeos==1', {
323               'dependencies' : [
324                 '../cc/cc.gyp:cc',
325                 '../components/components.gyp:policy_component_common',
326                 '../content/content.gyp:content',
327                 '../ppapi/ppapi_internal.gyp:ppapi_host',
328                 '../skia/skia.gyp:skia',
329                 '../ui/aura/aura.gyp:aura',
330                 '../ui/compositor/compositor.gyp:compositor',
331               ],
332               'include_dirs': [
333                 '../third_party/skia/include/utils',
334               ],
335               'sources!' : [
336                 'host/policy_hack/policy_watcher_linux.cc',
337                 'host/continue_window_linux.cc',
338                 'host/disconnect_window.cc',
339                 'host/disconnect_window_linux.cc',
340                 'host/remoting_me2me_host.cc',
341               ]
342             }, {  # chromeos==0
343                'sources!' : [
344                  'host/chromeos/aura_desktop_capturer.cc',
345                  'host/chromeos/aura_desktop_capturer.h',
346                  'host/continue_window_chromeos.cc',
347                  'host/disconnect_window_chromeos.cc',
348                  'host/policy_hack/policy_watcher_chromeos.cc',
349                ],
350             }],
351             ['OS=="mac"', {
352               'dependencies': [
353                 '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac',
354               ],
355               'link_settings': {
356                 'libraries': [
357                   '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
358                   'libpam.a',
359                ],
360               },
361             }],
362             ['OS=="win"', {
363               'defines': [
364                 '_ATL_NO_EXCEPTIONS',
365                 'ISOLATION_AWARE_ENABLED=1',
366               ],
367               'dependencies': [
368                 '../sandbox/sandbox.gyp:sandbox',
369                 'remoting_host_messages',
370                 'remoting_lib_idl',
371               ],
372               'msvs_settings': {
373                 'VCCLCompilerTool': {
374                   # /MP conflicts with #import directive so we limit the number
375                   # of processes to spawn to 1.
376                   'AdditionalOptions': ['/MP1'],
377                 },
378               },
379               'variables': {
380                 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
381               },
382               'sources': [
383                 '<(output_dir)/remoting_host_messages.mc',
384               ],
385               'include_dirs': [
386                 '<(output_dir)',
387               ],
388               'direct_dependent_settings': {
389                 'include_dirs': [
390                   '<(output_dir)',
391                 ],
392               },
393               'rules': [{
394                 # Rule to run the message compiler.
395                 'rule_name': 'message_compiler',
396                 'extension': 'mc',
397                 'outputs': [
398                   '<(output_dir)/<(RULE_INPUT_ROOT).h',
399                   '<(output_dir)/<(RULE_INPUT_ROOT).rc',
400                 ],
401                 'action': [
402                   'mc.exe',
403                   '-h', '<(output_dir)',
404                   '-r', '<(output_dir)/.',
405                   '-u',
406                   '<(RULE_INPUT_PATH)',
407                 ],
408                 'process_outputs_as_sources': 1,
409                 'message': 'Running message compiler on <(RULE_INPUT_PATH)',
410               }],
411             }],
412             ['use_ash==1', {
413               'dependencies': [
414                  '../ash/ash.gyp:ash',
415               ],
416             }],
417             ['enable_webrtc==1', {
418               'dependencies': [
419                 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
420                 '../third_party/libjingle/libjingle.gyp:libpeerconnection',
421               ],
422               'sources': [
423                 'host/cast_extension.cc',
424                 'host/cast_extension.h',
425                 'host/cast_extension_session.cc',
426                 'host/cast_extension_session.h',
427                 'host/cast_video_capturer_adapter.cc',
428                 'host/cast_video_capturer_adapter.h',
429               ],
430             }],
431           ],
432         },  # end of target 'remoting_host'
434         {
435           'target_name': 'remoting_native_messaging_base',
436           'type': 'static_library',
437           'variables': { 'enable_wexit_time_destructors': 1, },
438           'dependencies': [
439             '../base/base.gyp:base',
440           ],
441           'sources': [
442             'host/native_messaging/pipe_messaging_channel.cc',
443             'host/native_messaging/pipe_messaging_channel.h',
444             'host/native_messaging/native_messaging_pipe.cc',
445             'host/native_messaging/native_messaging_pipe.h',
446             'host/native_messaging/native_messaging_reader.cc',
447             'host/native_messaging/native_messaging_reader.h',
448             'host/native_messaging/native_messaging_writer.cc',
449             'host/native_messaging/native_messaging_writer.h',
450           ],
451         },  # end of target 'remoting_native_messaging_base'
453         {
454           'target_name': 'remoting_host_setup_base',
455           'type': 'static_library',
456           'variables': { 'enable_wexit_time_destructors': 1, },
457           'dependencies': [
458             '../base/base.gyp:base',
459             '../google_apis/google_apis.gyp:google_apis',
460             'remoting_host',
461           ],
462           'defines': [
463             'VERSION=<(version_full)',
464           ],
465           'sources': [
466             'host/setup/daemon_controller.cc',
467             'host/setup/daemon_controller.h',
468             'host/setup/daemon_controller_delegate_linux.cc',
469             'host/setup/daemon_controller_delegate_linux.h',
470             'host/setup/daemon_controller_delegate_mac.h',
471             'host/setup/daemon_controller_delegate_mac.mm',
472             'host/setup/daemon_controller_delegate_win.cc',
473             'host/setup/daemon_controller_delegate_win.h',
474             'host/setup/daemon_installer_win.cc',
475             'host/setup/daemon_installer_win.h',
476             'host/setup/me2me_native_messaging_host.cc',
477             'host/setup/me2me_native_messaging_host.h',
478             'host/setup/oauth_client.cc',
479             'host/setup/oauth_client.h',
480             'host/setup/oauth_helper.cc',
481             'host/setup/oauth_helper.h',
482             'host/setup/pin_validator.cc',
483             'host/setup/pin_validator.h',
484             'host/setup/service_client.cc',
485             'host/setup/service_client.h',
486             'host/setup/test_util.cc',
487             'host/setup/test_util.h',
488             'host/setup/win/auth_code_getter.cc',
489             'host/setup/win/auth_code_getter.h',
490           ],
491           'conditions': [
492             ['OS=="win"', {
493               'dependencies': [
494                 '../google_update/google_update.gyp:google_update',
495                 'remoting_lib_idl',
496               ],
497               # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
498               'msvs_disabled_warnings': [4267, ],
499             }],
500           ],
501         },  # end of target 'remoting_host_setup_base'
503         # Generates native messaging manifest files.
504         {
505           'target_name': 'remoting_native_messaging_manifests',
506           'type': 'none',
507           'conditions': [
508             [ 'OS == "win"', {
509               'variables': {
510                 'me2me_host_path': 'remoting_native_messaging_host.exe',
511                 'it2me_host_path': 'remote_assistance_host.exe',
512               },
513             }],
514             [ 'OS == "mac"', {
515               'variables': {
516                 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
517                 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
518                 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
519                 'me2me_host_path':
520                     '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)/Contents/MacOS/native_messaging_host',
521                 'it2me_host_path':
522                     '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)/Contents/MacOS/remote_assistance_host',
523               },
524             }],
525             [ 'OS != "mac" and OS != "win"', {
526               'variables': {
527                 'me2me_host_path':
528                     '/opt/google/chrome-remote-desktop/native-messaging-host',
529                 'it2me_host_path':
530                     '/opt/google/chrome-remote-desktop/remote-assistance-host',
531               },
532             }],
533           ],  # conditions
534           'sources': [
535             'host/it2me/com.google.chrome.remote_assistance.json.jinja2',
536             'host/setup/com.google.chrome.remote_desktop.json.jinja2',
537           ],
538           'rules': [{
539             'rule_name': 'generate_manifest',
540             'extension': 'jinja2',
541             'inputs': [
542               '<(remoting_localize_path)',
543               '<(branding_path)',
544             ],
545             'outputs': [
546               '<(PRODUCT_DIR)/remoting/<(RULE_INPUT_ROOT)',
547             ],
548             'action': [
549               'python', '<(remoting_localize_path)',
550               '--define', 'ME2ME_HOST_PATH=<(me2me_host_path)',
551               '--define', 'IT2ME_HOST_PATH=<(it2me_host_path)',
552               '--variables', '<(branding_path)',
553               '--template', '<(RULE_INPUT_PATH)',
554               '--locale_output', '<@(_outputs)',
555               'en',
556             ],
557           }],
558         },  # end of target 'remoting_native_messaging_manifests'
559         {
560           'target_name': 'remoting_start_host',
561           'type': 'executable',
562           'dependencies': [
563             'remoting_host_setup_base',
564           ],
565           'sources': [
566             'host/setup/host_starter.cc',
567             'host/setup/host_starter.h',
568             'host/setup/start_host.cc',
569           ],
570           'conditions': [
571             ['OS=="linux" and use_allocator!="none"', {
572               'dependencies': [
573                 '../base/allocator/allocator.gyp:allocator',
574               ],
575             }],
576           ],
577         },  # end of target 'remoting_start_host'
578         {
579           'target_name': 'remoting_infoplist_strings',
580           'type': 'none',
581           'dependencies': [
582             'remoting_resources',
583           ],
584           'sources': [
585             'host/remoting_me2me_host-InfoPlist.strings.jinja2',
586             'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
587             'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
588             'host/setup/native_messaging_host-InfoPlist.strings.jinja2',
589             'host/it2me/remote_assistance_host-InfoPlist.strings.jinja2',
590           ],
591           'rules': [{
592             'rule_name': 'generate_strings',
593             'extension': 'jinja2',
594             'inputs': [
595               '<(remoting_localize_path)',
596             ],
597             'outputs': [
598               '<!@pymod_do_main(remoting_localize --locale_output '
599                   '"<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings" '
600                   '--print_only <(remoting_locales))',
601             ],
602             'action': [
603               'python', '<(remoting_localize_path)',
604               '--locale_dir', '<(webapp_locale_dir)',
605               '--template', '<(RULE_INPUT_PATH)',
606               '--locale_output',
607               '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings',
608               '<@(remoting_locales)',
609             ]},
610           ],
611         },  # end of target 'remoting_infoplist_strings'
612       ],  # end of 'targets'
613     }],  # 'enable_remoting_host==1'
615     ['enable_me2me_host==1', {
616       'targets': [
617         {
618           'target_name': 'remoting_me2me_host_static',
619           'type': 'static_library',
620           'variables': { 'enable_wexit_time_destructors': 1, },
621           'dependencies': [
622             '../base/base.gyp:base',
623             '../base/base.gyp:base_i18n',
624             '../net/net.gyp:net',
625             '../third_party/webrtc/modules/modules.gyp:desktop_capture',
626             'remoting_base',
627             'remoting_breakpad',
628             'remoting_host',
629             'remoting_protocol',
630           ],
631           'defines': [
632             'VERSION=<(version_full)',
633           ],
634           'sources': [
635             'host/curtain_mode.h',
636             'host/curtain_mode_linux.cc',
637             'host/curtain_mode_mac.cc',
638             'host/curtain_mode_win.cc',
639             'host/posix/signal_handler.cc',
640             'host/posix/signal_handler.h',
641           ],
642           'conditions': [
643             ['os_posix != 1', {
644               'sources/': [
645                 ['exclude', '^host/posix/'],
646               ],
647             }],
648           ],  # end of 'conditions'
649         },  # end of target 'remoting_me2me_host_static'
650       ] # end of targets
651     }], # end of enable_me2me_host==1
653     ['enable_it2me_host==1', {
654       'targets': [
655         {
656           'target_name': 'remoting_it2me_host_static',
657           'type': 'static_library',
658           'variables': { 'enable_wexit_time_destructors': 1, },
659           'dependencies': [
660             '../base/base.gyp:base_i18n',
661             '../net/net.gyp:net',
662             'remoting_base',
663             'remoting_host',
664             'remoting_infoplist_strings',
665             'remoting_protocol',
666             'remoting_resources',
667           ],
668           'defines': [
669             'VERSION=<(version_full)',
670           ],
671           'sources': [
672             'host/it2me/it2me_host.cc',
673             'host/it2me/it2me_host.h',
674             'host/it2me/it2me_native_messaging_host.cc',
675             'host/it2me/it2me_native_messaging_host.h',
676           ],
677         },  # end of target 'remoting_it2me_host_static'
678       ] # end of targets
679     }], # end of 'enable_it2me_host==1'
681     ['OS!="win" and enable_me2me_host==1', {
682       'targets': [
683         {
684           'target_name': 'remoting_me2me_host',
685           'type': 'executable',
686           'variables': { 'enable_wexit_time_destructors': 1, },
687           'dependencies': [
688             '../base/base.gyp:base',
689             '../base/base.gyp:base_i18n',
690             '<(icu_gyp_path):icudata',
691             '../net/net.gyp:net',
692             '../third_party/webrtc/modules/modules.gyp:desktop_capture',
693             'remoting_base',
694             'remoting_breakpad',
695             'remoting_host',
696             'remoting_infoplist_strings',
697             'remoting_me2me_host_static',
698             'remoting_protocol',
699           ],
700           'defines': [
701             'VERSION=<(version_full)',
702           ],
703           'sources': [
704             'host/host_main.cc',
705             'host/host_main.h',
706           ],
707           'conditions': [
708             ['OS=="mac"', {
709               'mac_bundle': 1,
710               'variables': {
711                  'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
712               },
713               'xcode_settings': {
714                 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
715                 'INFOPLIST_PREPROCESS': 'YES',
716                 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
717               },
718               'mac_bundle_resources': [
719                 '<(PRODUCT_DIR)/icudtl.dat',
720                 'host/disconnect_window.xib',
721                 'host/remoting_me2me_host.icns',
722                 'host/remoting_me2me_host-Info.plist',
723                 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
725                 # Localized strings for 'Info.plist'
726                 '<!@pymod_do_main(remoting_localize --locale_output '
727                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_me2me_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
728                     '--print_only <(remoting_locales))',
729               ],
730               'mac_bundle_resources!': [
731                 'host/remoting_me2me_host-Info.plist',
732               ],
733               'conditions': [
734                 ['mac_breakpad==1', {
735                   'variables': {
736                     # A real .dSYM is needed for dump_syms to operate on.
737                     'mac_real_dsym': 1,
738                   },
739                   'copies': [
740                     {
741                       'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
742                       'files': [
743                         '<(PRODUCT_DIR)/crash_inspector',
744                         '<(PRODUCT_DIR)/crash_report_sender.app'
745                       ],
746                     },
747                   ],
748                   'dependencies': [
749                     '../breakpad/breakpad.gyp:dump_syms',
750                   ],
751                   'postbuilds': [
752                     {
753                       'postbuild_name': 'Dump Symbols',
754                       'variables': {
755                         'dump_product_syms_path':
756                             'scripts/mac/dump_product_syms',
757                       },
758                       'action': [
759                         '<(dump_product_syms_path)',
760                         '<(version_full)',
761                       ],
762                     },  # end of postbuild 'dump_symbols'
763                   ],  # end of 'postbuilds'
764                 }],  # mac_breakpad==1
765               ],  # conditions
766             }],  # OS=mac
767             ['OS=="linux" and use_allocator!="none"', {
768               'dependencies': [
769                 '../base/allocator/allocator.gyp:allocator',
770               ],
771             }],  # OS=linux
772           ],  # end of 'conditions'
773         },  # end of target 'remoting_me2me_host'
774         {
775           'target_name': 'remoting_me2me_native_messaging_host',
776           'type': 'executable',
777           'product_name': 'native_messaging_host',
778           'variables': { 'enable_wexit_time_destructors': 1, },
779           'dependencies': [
780             '../base/base.gyp:base',
781             'remoting_breakpad',
782             'remoting_host',
783             'remoting_host_setup_base',
784             'remoting_infoplist_strings',
785             'remoting_native_messaging_base',
786           ],
787           'defines': [
788             'VERSION=<(version_full)',
789           ],
790           'sources': [
791             'host/setup/me2me_native_messaging_host_entry_point.cc',
792             'host/setup/me2me_native_messaging_host_main.cc',
793             'host/setup/me2me_native_messaging_host_main.h',
794           ],
795           'conditions': [
796             ['OS=="linux" and use_allocator!="none"', {
797               'dependencies': [
798                 '../base/allocator/allocator.gyp:allocator',
799               ],
800             }],
801             ['OS=="mac"', {
802               'mac_bundle': 1,
803               'variables': {
804                  'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID@")',
805               },
806               'xcode_settings': {
807                 'INFOPLIST_FILE': 'host/setup/native_messaging_host-Info.plist',
808                 'INFOPLIST_PREPROCESS': 'YES',
809                 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
810               },
811               'mac_bundle_resources': [
812                 'host/setup/native_messaging_host-Info.plist',
813                 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
815                 # Localized strings for 'Info.plist'
816                 '<!@pymod_do_main(remoting_localize --locale_output '
817                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/native_messaging_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
818                     '--print_only <(remoting_locales))',
819               ],
820               'mac_bundle_resources!': [
821                 'host/setup/native_messaging_host-Info.plist',
822               ],
823               'conditions': [
824                 ['mac_breakpad==1', {
825                   'variables': {
826                     # A real .dSYM is needed for dump_syms to operate on.
827                     'mac_real_dsym': 1,
828                   },
829                   'copies': [
830                     {
831                       'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
832                       'files': [
833                         '<(PRODUCT_DIR)/crash_inspector',
834                         '<(PRODUCT_DIR)/crash_report_sender.app'
835                       ],
836                     },
837                   ],
838                   'dependencies': [
839                     '../breakpad/breakpad.gyp:dump_syms',
840                   ],
841                   'postbuilds': [
842                     {
843                       'postbuild_name': 'Dump Symbols',
844                       'variables': {
845                         'dump_product_syms_path':
846                             'scripts/mac/dump_product_syms',
847                       },
848                       'action': [
849                         '<(dump_product_syms_path)',
850                         '<(version_full)',
851                       ],
852                     },  # end of postbuild 'dump_symbols'
853                   ],  # end of 'postbuilds'
854                 }],  # mac_breakpad==1
855               ],  # conditions
856             }],  # OS=mac
857           ],
858         },  # end of target 'remoting_me2me_native_messaging_host'
859       ], # targets
860     }], # end of OS!="win" and enable_me2me_host==1
862     ['OS!="win" and enable_it2me_host==1 and chromeos==0', {
863       'targets': [
864         {
865           'target_name': 'remoting_it2me_native_messaging_host',
866           'type': 'executable',
867           'product_name': 'remote_assistance_host',
868           'variables': { 'enable_wexit_time_destructors': 1, },
869           'dependencies': [
870             '../base/base.gyp:base',
871             'remoting_base',
872             'remoting_breakpad',
873             'remoting_host',
874             'remoting_it2me_host_static',
875             'remoting_native_messaging_base',
876             'remoting_protocol',
877           ],
878           'defines': [
879             'VERSION=<(version_full)',
880           ],
881           'sources': [
882             'host/it2me/it2me_native_messaging_host_entry_point.cc',
883             'host/it2me/it2me_native_messaging_host_main.cc',
884             'host/it2me/it2me_native_messaging_host_main.h',
885           ],
886           'conditions': [
887             ['OS=="linux" and chromeos==0 and use_ozone==0', {
888               'dependencies': [
889                 # Always use GTK on Linux, even for Aura builds.
890                 '../build/linux/system.gyp:gtk',
891               ],
892             }],
893             ['OS=="linux" and use_allocator!="none"', {
894               'dependencies': [
895                 '../base/allocator/allocator.gyp:allocator',
896               ],
897             }],
898             ['OS=="mac"', {
899               'mac_bundle': 1,
900               'variables': {
901                  'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID@")',
902               },
903               'xcode_settings': {
904                 'INFOPLIST_FILE': 'host/it2me/remote_assistance_host-Info.plist',
905                 'INFOPLIST_PREPROCESS': 'YES',
906                 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
907               },
908               'mac_bundle_resources': [
909                 '<(PRODUCT_DIR)/icudtl.dat',
910                 'host/disconnect_window.xib',
911                 'host/it2me/remote_assistance_host-Info.plist',
912                 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
914                 # Localized strings for 'Info.plist'
915                 '<!@pymod_do_main(remoting_localize --locale_output '
916                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/remote_assistance_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
917                     '--print_only <(remoting_locales))',
918               ],
919               'mac_bundle_resources!': [
920                 'host/it2me/remote_assistance_host-Info.plist',
921               ],
922               'conditions': [
923                 ['mac_breakpad==1', {
924                   'variables': {
925                     # A real .dSYM is needed for dump_syms to operate on.
926                     'mac_real_dsym': 1,
927                   },
928                   'copies': [
929                     {
930                       'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
931                       'files': [
932                         '<(PRODUCT_DIR)/crash_inspector',
933                         '<(PRODUCT_DIR)/crash_report_sender.app'
934                       ],
935                     },
936                   ],
937                   'dependencies': [
938                     '../breakpad/breakpad.gyp:dump_syms',
939                   ],
940                   'postbuilds': [
941                     {
942                       'postbuild_name': 'Dump Symbols',
943                       'variables': {
944                         'dump_product_syms_path':
945                             'scripts/mac/dump_product_syms',
946                       },
947                       'action': [
948                         '<(dump_product_syms_path)',
949                         '<(version_full)',
950                       ],
951                     },  # end of postbuild 'dump_symbols'
952                   ],  # end of 'postbuilds'
953                 }],  # mac_breakpad==1
954               ],  # conditions
955             }],  # OS=mac
956           ],
957         },  # end of target 'remoting_it2me_native_messaging_host'
958       ],  # end of 'targets'
959     }],  # # end of OS!="win" and enable_it2me_host==1
961   ],  # end of 'conditions'