Ensure low-memory renderers retry failed loads correctly.
[chromium-blink-merge.git] / remoting / remoting_host.gypi
blobde2a5d962885e806b37320049c444408210276f8
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_enable.gypi',
8   ],
10   'conditions': [
11     ['OS=="mac"', {
12       'includes': [
13         'remoting_host_mac.gypi',
14       ],
15     }],
16     ['OS=="win"', {
17       'includes': [
18         'remoting_host_win.gypi',
19       ],
20     }],
21     ['OS=="linux"', {
22       'includes': [
23         'remoting_host_linux.gypi',
24       ],
25     }],
27     ['enable_remoting_host==1', {
28       'targets': [
29         {
30           # GN version: //remoting/host
31           'target_name': 'remoting_host',
32           'type': 'static_library',
33           'variables': {
34             'enable_wexit_time_destructors': 1,
35             'host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
36             'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
37           },
38           'dependencies': [
39             'remoting_base',
40             'remoting_host_credits',
41             'remoting_protocol',
42             'remoting_resources',
43             '../base/base.gyp:base_i18n',
44             '../components/components.gyp:policy',
45             '../components/components.gyp:policy_component_common',
46             '../crypto/crypto.gyp:crypto',
47             '../google_apis/google_apis.gyp:google_apis',
48             '../ipc/ipc.gyp:ipc',
49             '../ui/events/events.gyp:dom_keycode_converter',
50           ],
51           'defines': [
52             'HOST_BUNDLE_NAME="<(host_bundle_name)"',
53             'PREFPANE_BUNDLE_NAME="<(prefpane_bundle_name)"',
54             'VERSION=<(version_full)',
55           ],
56           'sources': [
57             '<@(remoting_host_sources)',
58           ],
59           'conditions': [
60             ['OS=="linux"', {
61               'conditions': [
62                 ['use_x11==1', {
63                   'dependencies': [
64                     '../build/linux/system.gyp:x11',
65                     '../build/linux/system.gyp:xext',
66                     '../build/linux/system.gyp:xfixes',
67                     '../build/linux/system.gyp:xi',
68                     '../build/linux/system.gyp:xrandr',
69                     '../build/linux/system.gyp:xtst',
70                   ],
71                 }],
72                 ['chromeos==0 and use_ozone==0', {
73                   'dependencies': [
74                     # use GTK on Linux, even for Aura builds.
75                     '../build/linux/system.gyp:gtk2',
76                   ],
77                 }]
78               ],
79             }],
80             ['chromeos==1', {
81               'dependencies' : [
82                 '../cc/cc.gyp:cc',
83                 '../gpu/gpu.gyp:command_buffer_common',
84                 '../ppapi/ppapi_internal.gyp:ppapi_host',
85                 '../skia/skia.gyp:skia',
86                 '../ui/aura/aura.gyp:aura',
87                 '../ui/compositor/compositor.gyp:compositor',
88                 '../ui/events/events.gyp:events',
89                 '../ui/events/platform/events_platform.gyp:events_platform',
90                 '../ui/views/views.gyp:views',
91               ],
92               'include_dirs': [
93                 '../third_party/skia/include/utils',
94               ],
95               'sources!' : [
96                 'host/clipboard_x11.cc',
97                 'host/continue_window_linux.cc',
98                 'host/disconnect_window_linux.cc',
99                 'host/linux/x_server_clipboard.cc',
100                 'host/linux/x_server_clipboard.h',
101                 'host/local_input_monitor_x11.cc',
102               ],
103               'conditions': [
104                 ['use_ash==1', {
105                   'dependencies': [
106                     '../ash/ash.gyp:ash',
107                   ],
108                 }],
109                 ['use_ozone==0', {
110                   'sources!': [
111                     'host/input_injector_chromeos.cc',
112                     'host/input_injector_chromeos.h',
113                   ],
114                 }, {  # use_ozone==1
115                   'dependencies' : [
116                     '../ui/ozone/ozone.gyp:ozone',
117                   ]
118                 }],
119               ],
120             }],
121             ['OS=="mac"', {
122               'dependencies': [
123                 '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac',
124               ],
125               'link_settings': {
126                 'libraries': [
127                   '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
128                ],
129               },
130             }],
131             ['OS=="win"', {
132               'defines': [
133                 '_ATL_NO_EXCEPTIONS',
134                 'ISOLATION_AWARE_ENABLED=1',
135               ],
136               'dependencies': [
137                 '../sandbox/sandbox.gyp:sandbox',
138                 'remoting_host_messages',
139                 'remoting_lib_idl',
140               ],
141               'msvs_settings': {
142                 'VCCLCompilerTool': {
143                   # /MP conflicts with #import directive so we limit the number
144                   # of processes to spawn to 1.
145                   'AdditionalOptions': ['/MP1'],
146                 },
147               },
148               'variables': {
149                 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
150               },
151               'sources': [
152                 '<(output_dir)/remoting_host_messages.mc',
153               ],
154               'include_dirs': [
155                 '<(output_dir)',
156               ],
157               'direct_dependent_settings': {
158                 'include_dirs': [
159                   '<(output_dir)',
160                 ],
161               },
162               'rules': [{
163                 # Rule to run the message compiler.
164                 'rule_name': 'message_compiler',
165                 'extension': 'mc',
166                 'outputs': [
167                   '<(output_dir)/<(RULE_INPUT_ROOT).h',
168                   '<(output_dir)/<(RULE_INPUT_ROOT).rc',
169                 ],
170                 'action': [
171                   'mc.exe',
172                   '-h', '<(output_dir)',
173                   '-r', '<(output_dir)/.',
174                   '-u',
175                   '<(RULE_INPUT_PATH)',
176                 ],
177                 'process_outputs_as_sources': 1,
178                 'message': 'Running message compiler on <(RULE_INPUT_PATH)',
179               }],
180             }],
181             ['enable_webrtc==1', {
182               'dependencies': [
183                 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
184                 '../third_party/libjingle/libjingle.gyp:libpeerconnection',
185               ],
186               'sources': [
187                 '<@(remoting_cast_sources)',
188               ],
189             }],
190             ['remoting_use_gcd==1', {
191               'defines': [
192                 'USE_GCD',
193               ]
194             }],
195           ],
196         },  # end of target 'remoting_host'
198         {
199           # GN version: //remoting/host:credits
200           'target_name': 'remoting_host_credits',
201           'type': 'none',
202           'actions': [
203             {
204               'action_name': 'Build remoting host credits',
205               'inputs': [
206                 '../tools/licenses.py',
207                 'host/installer/credits.tmpl',
208                 'host/installer/credits_entry.tmpl',
209               ],
210               'outputs': [
211                 '<(SHARED_INTERMEDIATE_DIR)/remoting/CREDITS.txt',
212               ],
213               'hard_dependency': 1,
214               'action': ['python',
215                          '../tools/licenses.py',
216                          'credits',
217                          '<(SHARED_INTERMEDIATE_DIR)/remoting/CREDITS.txt',
218                          '--file-template', 'host/installer/credits.tmpl',
219                          '--entry-template', 'host/installer/credits_entry.tmpl',
220               ],
221             },
222           ],
223         },
225         {
226           # GN version: //remoting/host/native_messaging
227           'target_name': 'remoting_native_messaging_base',
228           'type': 'static_library',
229           'variables': { 'enable_wexit_time_destructors': 1, },
230           'dependencies': [
231             '../base/base.gyp:base',
232           ],
233           'sources': [
234             '<@(remoting_host_native_messaging_sources)',
235           ],
236         },  # end of target 'remoting_native_messaging_base'
238         {
239           # GN version: //remoting/host/setup
240           'target_name': 'remoting_host_setup_base',
241           'type': 'static_library',
242           'variables': { 'enable_wexit_time_destructors': 1, },
243           'dependencies': [
244             '../base/base.gyp:base',
245             '../google_apis/google_apis.gyp:google_apis',
246             'remoting_host',
247           ],
248           'defines': [
249             'VERSION=<(version_full)',
250           ],
251           'sources': [
252             '<@(remoting_host_setup_sources)',
253           ],
254           'conditions': [
255             ['OS=="win"', {
256               'dependencies': [
257                 'remoting_lib_idl',
258               ],
259               # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
260               'msvs_disabled_warnings': [4267, ],
261             }],
262           ],
263         },  # end of target 'remoting_host_setup_base'
265         # Generates native messaging manifest files.
266         {
267           'target_name': 'remoting_native_messaging_manifests',
268           'type': 'none',
269           'conditions': [
270             [ 'OS == "win"', {
271               'variables': {
272                 'me2me_host_path': 'remoting_native_messaging_host.exe',
273                 'it2me_host_path': 'remote_assistance_host.exe',
274               },
275             }],
276             [ 'OS == "mac"', {
277               'variables': {
278                 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
279                 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
280                 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
281                 'me2me_host_path':
282                     '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)/Contents/MacOS/native_messaging_host',
283                 'it2me_host_path':
284                     '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)/Contents/MacOS/remote_assistance_host',
285               },
286             }],
287             [ 'OS != "mac" and OS != "win"', {
288               'variables': {
289                 'me2me_host_path':
290                     '/opt/google/chrome-remote-desktop/native-messaging-host',
291                 'it2me_host_path':
292                     '/opt/google/chrome-remote-desktop/remote-assistance-host',
293               },
294             }],
295           ],  # conditions
296           'sources': [
297             'host/it2me/com.google.chrome.remote_assistance.json.jinja2',
298             'host/setup/com.google.chrome.remote_desktop.json.jinja2',
299           ],
300           'rules': [{
301             'rule_name': 'generate_manifest',
302             'extension': 'jinja2',
303             'inputs': [
304               '<(remoting_localize_path)',
305               '<(branding_path)',
306             ],
307             'outputs': [
308               '<(PRODUCT_DIR)/remoting/<(RULE_INPUT_ROOT)',
309             ],
310             'action': [
311               'python', '<(remoting_localize_path)',
312               '--define', 'ME2ME_HOST_PATH=<(me2me_host_path)',
313               '--define', 'IT2ME_HOST_PATH=<(it2me_host_path)',
314               '--variables', '<(branding_path)',
315               '--template', '<(RULE_INPUT_PATH)',
316               '--locale_output', '<@(_outputs)',
317               'en',
318             ],
319           }],
320         },  # end of target 'remoting_native_messaging_manifests'
321         {
322           # GN target: //remoting/host:remoting_start_host
323           'target_name': 'remoting_start_host',
324           'type': 'executable',
325           'dependencies': [
326             'remoting_host_setup_base',
327           ],
328           'sources': [
329             'host/setup/host_starter.cc',
330             'host/setup/host_starter.h',
331             'host/setup/start_host.cc',
332           ],
333           'conditions': [
334             ['OS=="linux" and use_allocator!="none"', {
335               'dependencies': [
336                 '../base/allocator/allocator.gyp:allocator',
337               ],
338             }],
339           ],
340         },  # end of target 'remoting_start_host'
341         {
342           'target_name': 'remoting_infoplist_strings',
343           'type': 'none',
344           'dependencies': [
345             'remoting_resources',
346           ],
347           'sources': [
348             'host/remoting_me2me_host-InfoPlist.strings.jinja2',
349             'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
350             'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
351             'host/setup/native_messaging_host-InfoPlist.strings.jinja2',
352             'host/it2me/remote_assistance_host-InfoPlist.strings.jinja2',
353           ],
354           'rules': [{
355             'rule_name': 'generate_strings',
356             'extension': 'jinja2',
357             'inputs': [
358               '<(remoting_localize_path)',
359             ],
360             'outputs': [
361               '<!@pymod_do_main(remoting_localize --locale_output '
362                   '"<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings" '
363                   '--print_only <(remoting_locales))',
364             ],
365             'action': [
366               'python', '<(remoting_localize_path)',
367               '--locale_dir', '<(webapp_locale_dir)',
368               '--template', '<(RULE_INPUT_PATH)',
369               '--locale_output',
370               '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings',
371               '<@(remoting_locales)',
372             ]},
373           ],
374         },  # end of target 'remoting_infoplist_strings'
375         {
376           # GN version: //remoting/host/it2me:common
377           'target_name': 'remoting_it2me_host_static',
378           'type': 'static_library',
379           'variables': { 'enable_wexit_time_destructors': 1, },
380           'dependencies': [
381             '../base/base.gyp:base_i18n',
382             '../components/components.gyp:policy',
383             '../net/net.gyp:net',
384             'remoting_base',
385             'remoting_host',
386             'remoting_infoplist_strings',
387             'remoting_protocol',
388             'remoting_resources',
389           ],
390           'defines': [
391             'VERSION=<(version_full)',
392           ],
393           'sources': [
394             '<@(remoting_it2me_host_static_sources)',
395           ],
396         },  # end of target 'remoting_it2me_host_static'
397       ],  # end of 'targets'
398     }],  # 'enable_remoting_host==1'
400     ['enable_me2me_host==1', {
401       'targets': [
402         {
403           'target_name': 'remoting_me2me_host_static',
404           'type': 'static_library',
405           'variables': { 'enable_wexit_time_destructors': 1, },
406           'dependencies': [
407             '../base/base.gyp:base',
408             '../base/base.gyp:base_i18n',
409             '../components/components.gyp:policy',
410             '../components/components.gyp:policy_component_common',
411             '../net/net.gyp:net',
412             '../third_party/webrtc/modules/modules.gyp:desktop_capture',
413             'remoting_base',
414             'remoting_breakpad',
415             'remoting_host',
416             'remoting_protocol',
417           ],
418           'defines': [
419             'VERSION=<(version_full)',
420           ],
421           'sources': [
422             'host/curtain_mode.h',
423             'host/curtain_mode_linux.cc',
424             'host/curtain_mode_mac.cc',
425             'host/curtain_mode_win.cc',
426             'host/pam_authorization_factory_posix.cc',
427             'host/pam_authorization_factory_posix.h',
428             'host/posix/signal_handler.cc',
429             'host/posix/signal_handler.h',
430             'host/remoting_me2me_host.cc',
431           ],
432           'conditions': [
433             ['OS=="linux"', {
434               'link_settings': {
435                 'libraries': [
436                   '-lpam',
437                 ],
438               },
439             }],
440             ['OS=="mac"', {
441               'link_settings': {
442                 'libraries': [
443                   'libpam.a',
444                ],
445               },
446             }],
447             ['OS=="mac" and buildtype=="Official"', {
448               'sources': [
449                 'internal/internal_mac-inl.h'
450               ],
451               'defines': [
452                 'USE_REMOTING_MACOSX_INTERNAL'
453               ],
454             }],
455             ['remoting_use_gcd==1', {
456               'defines': [
457                 'USE_GCD',
458               ]
459             }],
460           ],  # end of 'conditions'
461         },  # end of target 'remoting_me2me_host_static'
462       ]  # end of targets
463     }],  # end of enable_me2me_host==1
465     ['OS!="win" and enable_me2me_host==1', {
466       'targets': [
467         {
468           'target_name': 'remoting_me2me_host',
469           'type': 'executable',
470           'variables': { 'enable_wexit_time_destructors': 1, },
471           'dependencies': [
472             '../base/base.gyp:base',
473             '../base/base.gyp:base_i18n',
474             '<(icu_gyp_path):icudata',
475             '../net/net.gyp:net',
476             '../third_party/webrtc/modules/modules.gyp:desktop_capture',
477             'remoting_base',
478             'remoting_breakpad',
479             'remoting_host',
480             'remoting_infoplist_strings',
481             'remoting_me2me_host_static',
482             'remoting_protocol',
483           ],
484           'defines': [
485             'VERSION=<(version_full)',
486           ],
487           'sources': [
488             'host/host_main.cc',
489             'host/host_main.h',
490           ],
491           'conditions': [
492             ['OS=="mac"', {
493               'mac_bundle': 1,
494               'variables': {
495                  'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
496               },
497               'xcode_settings': {
498                 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
499                 'INFOPLIST_PREPROCESS': 'YES',
500                 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
501               },
502               'mac_bundle_resources': [
503                 '<(PRODUCT_DIR)/icudtl.dat',
504                 '<(SHARED_INTERMEDIATE_DIR)/remoting/CREDITS.txt',
505                 'host/disconnect_window.xib',
506                 'host/remoting_me2me_host.icns',
507                 'host/remoting_me2me_host-Info.plist',
508                 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
510                 # Localized strings for 'Info.plist'
511                 '<!@pymod_do_main(remoting_localize --locale_output '
512                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_me2me_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
513                     '--print_only <(remoting_locales))',
514               ],
515               'mac_bundle_resources!': [
516                 'host/remoting_me2me_host-Info.plist',
517               ],
518               'conditions': [
519                 ['mac_breakpad==1', {
520                   'variables': {
521                     # A real .dSYM is needed for dump_syms to operate on.
522                     'mac_real_dsym': 1,
523                   },
524                   'copies': [
525                     {
526                       'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
527                       'files': [
528                         '<(PRODUCT_DIR)/crash_inspector',
529                         '<(PRODUCT_DIR)/crash_report_sender.app'
530                       ],
531                     },
532                   ],
533                   'dependencies': [
534                     '../breakpad/breakpad.gyp:dump_syms',
535                   ],
536                   'postbuilds': [
537                     {
538                       'postbuild_name': 'Dump Symbols',
539                       'variables': {
540                         'dump_product_syms_path':
541                             'scripts/mac/dump_product_syms',
542                       },
543                       'action': [
544                         '<(dump_product_syms_path)',
545                         '<(version_full)',
546                       ],
547                     },  # end of postbuild 'dump_symbols'
548                   ],  # end of 'postbuilds'
549                 }],  # mac_breakpad==1
550               ],  # conditions
551             }],  # OS=mac
552             ['OS=="linux" and use_allocator!="none"', {
553               'dependencies': [
554                 '../base/allocator/allocator.gyp:allocator',
555               ],
556             }],  # OS=linux
557           ],  # end of 'conditions'
558         },  # end of target 'remoting_me2me_host'
559         {
560           'target_name': 'remoting_me2me_native_messaging_host',
561           'type': 'executable',
562           'product_name': 'native_messaging_host',
563           'variables': { 'enable_wexit_time_destructors': 1, },
564           'dependencies': [
565             '../base/base.gyp:base',
566             'remoting_breakpad',
567             'remoting_host',
568             'remoting_host_setup_base',
569             'remoting_infoplist_strings',
570             'remoting_native_messaging_base',
571           ],
572           'defines': [
573             'VERSION=<(version_full)',
574           ],
575           'sources': [
576             'host/setup/me2me_native_messaging_host_entry_point.cc',
577             'host/setup/me2me_native_messaging_host_main.cc',
578             'host/setup/me2me_native_messaging_host_main.h',
579           ],
580           'conditions': [
581             ['OS=="linux" and use_allocator!="none"', {
582               'dependencies': [
583                 '../base/allocator/allocator.gyp:allocator',
584               ],
585             }],
586             ['OS=="mac"', {
587               'mac_bundle': 1,
588               'variables': {
589                  'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID@")',
590               },
591               'xcode_settings': {
592                 'INFOPLIST_FILE': 'host/setup/native_messaging_host-Info.plist',
593                 'INFOPLIST_PREPROCESS': 'YES',
594                 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
595               },
596               'mac_bundle_resources': [
597                 'host/setup/native_messaging_host-Info.plist',
598                 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
600                 # Localized strings for 'Info.plist'
601                 '<!@pymod_do_main(remoting_localize --locale_output '
602                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/native_messaging_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
603                     '--print_only <(remoting_locales))',
604               ],
605               'mac_bundle_resources!': [
606                 'host/setup/native_messaging_host-Info.plist',
607               ],
608               'conditions': [
609                 ['mac_breakpad==1', {
610                   'variables': {
611                     # A real .dSYM is needed for dump_syms to operate on.
612                     'mac_real_dsym': 1,
613                   },
614                   'copies': [
615                     {
616                       'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
617                       'files': [
618                         '<(PRODUCT_DIR)/crash_inspector',
619                         '<(PRODUCT_DIR)/crash_report_sender.app'
620                       ],
621                     },
622                   ],
623                   'dependencies': [
624                     '../breakpad/breakpad.gyp:dump_syms',
625                   ],
626                   'postbuilds': [
627                     {
628                       'postbuild_name': 'Dump Symbols',
629                       'variables': {
630                         'dump_product_syms_path':
631                             'scripts/mac/dump_product_syms',
632                       },
633                       'action': [
634                         '<(dump_product_syms_path)',
635                         '<(version_full)',
636                       ],
637                     },  # end of postbuild 'dump_symbols'
638                   ],  # end of 'postbuilds'
639                 }],  # mac_breakpad==1
640               ],  # conditions
641             }],  # OS=mac
642           ],
643         },  # end of target 'remoting_me2me_native_messaging_host'
644       ], # targets
645     }], # end of OS!="win" and enable_me2me_host==1
647     ['OS!="win" and enable_remoting_host==1', {
648       'conditions': [
649         ['chromeos==0', {
650           'targets': [
651             {
652               'target_name': 'remoting_it2me_native_messaging_host',
653               'type': 'executable',
654               'product_name': 'remote_assistance_host',
655               'variables': { 'enable_wexit_time_destructors': 1, },
656               'dependencies': [
657                 '../base/base.gyp:base',
658                 'remoting_base',
659                 'remoting_breakpad',
660                 'remoting_host',
661                 'remoting_it2me_host_static',
662                 'remoting_native_messaging_base',
663                 'remoting_protocol',
664               ],
665               'defines': [
666                 'VERSION=<(version_full)',
667               ],
668               'sources': [
669                 'host/it2me/it2me_native_messaging_host_entry_point.cc',
670                 'host/it2me/it2me_native_messaging_host_main.cc',
671                 'host/it2me/it2me_native_messaging_host_main.h',
672               ],
673               'conditions': [
674                 ['OS=="linux" and chromeos==0 and use_ozone==0', {
675                   'dependencies': [
676                     # Always use GTK on Linux, even for Aura builds.
677                     '../build/linux/system.gyp:gtk2',
678                   ],
679                 }],
680                 ['OS=="linux" and use_allocator!="none"', {
681                   'dependencies': [
682                     '../base/allocator/allocator.gyp:allocator',
683                   ],
684                 }],
685                 ['OS=="mac"', {
686                   'mac_bundle': 1,
687                   'variables': {
688                     'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID@")',
689                   },
690                   'xcode_settings': {
691                     'INFOPLIST_FILE': 'host/it2me/remote_assistance_host-Info.plist',
692                     'INFOPLIST_PREPROCESS': 'YES',
693                     'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
694                   },
695                   'mac_bundle_resources': [
696                     '<(PRODUCT_DIR)/icudtl.dat',
697                     'host/disconnect_window.xib',
698                     'host/it2me/remote_assistance_host-Info.plist',
699                     '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
701                     # Localized strings for 'Info.plist'
702                     '<!@pymod_do_main(remoting_localize --locale_output '
703                     '"<(SHARED_INTERMEDIATE_DIR)/remoting/remote_assistance_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
704                     '--print_only <(remoting_locales))',
705                   ],
706                   'mac_bundle_resources!': [
707                     'host/it2me/remote_assistance_host-Info.plist',
708                   ],
709                   'conditions': [
710                     ['mac_breakpad==1', {
711                       'variables': {
712                         # A real .dSYM is needed for dump_syms to operate on.
713                         'mac_real_dsym': 1,
714                       },
715                       'copies': [
716                         {
717                           'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
718                           'files': [
719                             '<(PRODUCT_DIR)/crash_inspector',
720                             '<(PRODUCT_DIR)/crash_report_sender.app'
721                           ],
722                         },
723                       ],
724                       'dependencies': [
725                         '../breakpad/breakpad.gyp:dump_syms',
726                       ],
727                       'postbuilds': [
728                         {
729                           'postbuild_name': 'Dump Symbols',
730                           'variables': {
731                             'dump_product_syms_path':
732                             'scripts/mac/dump_product_syms',
733                           },
734                           'action': [
735                             '<(dump_product_syms_path)',
736                             '<(version_full)',
737                           ],
738                         },  # end of postbuild 'dump_symbols'
739                       ],  # end of 'postbuilds'
740                     }],  # mac_breakpad==1
741                   ],  # conditions
742                 }],  # OS=mac
743               ],  # end of conditions
744             },  # end of target 'remoting_it2me_native_messaging_host'
745           ],  # targets
746         }, {  # chromeos==0
747           'targets': [
748             {
749               # Dummy target for chromeos==1
750               'target_name': 'remoting_it2me_native_messaging_host',
751               'type': 'executable',
752             },
753           ],  # targets
754         }],  # end of chromeos==0
755       ],  # end of conditions
756     }],  # end of OS!="win" and enable_remoting_host==1
757   ],  # end of 'conditions'