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 'remoting_enable.gypi',
13 'remoting_host_mac.gypi',
18 'remoting_host_win.gypi',
23 'remoting_host_linux.gypi',
27 ['enable_remoting_host==1', {
30 # GN version: //remoting/host
31 'target_name': 'remoting_host',
32 'type': 'static_library',
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@")',
42 '../base/base.gyp:base_i18n',
43 '../components/components.gyp:policy',
44 '../components/components.gyp:policy_component_common',
45 '../crypto/crypto.gyp:crypto',
46 '../google_apis/google_apis.gyp:google_apis',
48 '../ui/events/events.gyp:dom_keycode_converter',
51 'HOST_BUNDLE_NAME="<(host_bundle_name)"',
52 'PREFPANE_BUNDLE_NAME="<(prefpane_bundle_name)"',
53 'VERSION=<(version_full)',
56 '<@(remoting_host_sources)',
63 '../build/linux/system.gyp:x11',
64 '../build/linux/system.gyp:xext',
65 '../build/linux/system.gyp:xfixes',
66 '../build/linux/system.gyp:xi',
67 '../build/linux/system.gyp:xrandr',
68 '../build/linux/system.gyp:xtst',
71 ['chromeos==0 and use_ozone==0', {
73 # use GTK on Linux, even for Aura builds.
74 '../build/linux/system.gyp:gtk',
82 '../ppapi/ppapi_internal.gyp:ppapi_host',
83 '../skia/skia.gyp:skia',
84 '../ui/aura/aura.gyp:aura',
85 '../ui/compositor/compositor.gyp:compositor',
86 '../ui/events/events.gyp:events',
87 '../ui/events/platform/events_platform.gyp:events_platform',
88 '../ui/views/views.gyp:views',
91 '../third_party/skia/include/utils',
94 'host/clipboard_x11.cc',
95 'host/continue_window_linux.cc',
96 'host/disconnect_window_linux.cc',
97 'host/linux/x_server_clipboard.cc',
98 'host/linux/x_server_clipboard.h',
99 'host/local_input_monitor_x11.cc',
104 '../ash/ash.gyp:ash',
109 'host/input_injector_chromeos.cc',
110 'host/input_injector_chromeos.h',
114 '../ui/ozone/ozone.gyp:ozone',
121 '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac',
125 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
131 '_ATL_NO_EXCEPTIONS',
132 'ISOLATION_AWARE_ENABLED=1',
135 '../sandbox/sandbox.gyp:sandbox',
136 'remoting_host_messages',
140 'VCCLCompilerTool': {
141 # /MP conflicts with #import directive so we limit the number
142 # of processes to spawn to 1.
143 'AdditionalOptions': ['/MP1'],
147 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
150 '<(output_dir)/remoting_host_messages.mc',
155 'direct_dependent_settings': {
161 # Rule to run the message compiler.
162 'rule_name': 'message_compiler',
165 '<(output_dir)/<(RULE_INPUT_ROOT).h',
166 '<(output_dir)/<(RULE_INPUT_ROOT).rc',
170 '-h', '<(output_dir)',
171 '-r', '<(output_dir)/.',
173 '<(RULE_INPUT_PATH)',
175 'process_outputs_as_sources': 1,
176 'message': 'Running message compiler on <(RULE_INPUT_PATH)',
179 ['enable_webrtc==1', {
181 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
182 '../third_party/libjingle/libjingle.gyp:libpeerconnection',
185 '<@(remoting_cast_sources)',
189 }, # end of target 'remoting_host'
192 # GN version: //remoting/host/native_messaging
193 'target_name': 'remoting_native_messaging_base',
194 'type': 'static_library',
195 'variables': { 'enable_wexit_time_destructors': 1, },
197 '../base/base.gyp:base',
200 '<@(remoting_host_native_messaging_sources)',
202 }, # end of target 'remoting_native_messaging_base'
205 # GN version: //remoting/host/setup
206 'target_name': 'remoting_host_setup_base',
207 'type': 'static_library',
208 'variables': { 'enable_wexit_time_destructors': 1, },
210 '../base/base.gyp:base',
211 '../google_apis/google_apis.gyp:google_apis',
215 'VERSION=<(version_full)',
218 '<@(remoting_host_setup_sources)',
223 '../google_update/google_update.gyp:google_update',
226 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
227 'msvs_disabled_warnings': [4267, ],
230 }, # end of target 'remoting_host_setup_base'
232 # Generates native messaging manifest files.
234 'target_name': 'remoting_native_messaging_manifests',
239 'me2me_host_path': 'remoting_native_messaging_host.exe',
240 'it2me_host_path': 'remote_assistance_host.exe',
245 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
246 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
247 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
249 '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)/Contents/MacOS/native_messaging_host',
251 '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)/Contents/MacOS/remote_assistance_host',
254 [ 'OS != "mac" and OS != "win"', {
257 '/opt/google/chrome-remote-desktop/native-messaging-host',
259 '/opt/google/chrome-remote-desktop/remote-assistance-host',
264 'host/it2me/com.google.chrome.remote_assistance.json.jinja2',
265 'host/setup/com.google.chrome.remote_desktop.json.jinja2',
268 'rule_name': 'generate_manifest',
269 'extension': 'jinja2',
271 '<(remoting_localize_path)',
275 '<(PRODUCT_DIR)/remoting/<(RULE_INPUT_ROOT)',
278 'python', '<(remoting_localize_path)',
279 '--define', 'ME2ME_HOST_PATH=<(me2me_host_path)',
280 '--define', 'IT2ME_HOST_PATH=<(it2me_host_path)',
281 '--variables', '<(branding_path)',
282 '--template', '<(RULE_INPUT_PATH)',
283 '--locale_output', '<@(_outputs)',
287 }, # end of target 'remoting_native_messaging_manifests'
289 # GN target: //remoting/host:remoting_start_host
290 'target_name': 'remoting_start_host',
291 'type': 'executable',
293 'remoting_host_setup_base',
296 'host/setup/host_starter.cc',
297 'host/setup/host_starter.h',
298 'host/setup/start_host.cc',
301 ['OS=="linux" and use_allocator!="none"', {
303 '../base/allocator/allocator.gyp:allocator',
307 }, # end of target 'remoting_start_host'
309 'target_name': 'remoting_infoplist_strings',
312 'remoting_resources',
315 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
316 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
317 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
318 'host/setup/native_messaging_host-InfoPlist.strings.jinja2',
319 'host/it2me/remote_assistance_host-InfoPlist.strings.jinja2',
322 'rule_name': 'generate_strings',
323 'extension': 'jinja2',
325 '<(remoting_localize_path)',
328 '<!@pymod_do_main(remoting_localize --locale_output '
329 '"<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings" '
330 '--print_only <(remoting_locales))',
333 'python', '<(remoting_localize_path)',
334 '--locale_dir', '<(webapp_locale_dir)',
335 '--template', '<(RULE_INPUT_PATH)',
337 '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suffix}.lproj/InfoPlist.strings',
338 '<@(remoting_locales)',
341 }, # end of target 'remoting_infoplist_strings'
343 # GN version: //remoting/host/it2me:common
344 'target_name': 'remoting_it2me_host_static',
345 'type': 'static_library',
346 'variables': { 'enable_wexit_time_destructors': 1, },
348 '../base/base.gyp:base_i18n',
349 '../components/components.gyp:policy',
350 '../net/net.gyp:net',
353 'remoting_infoplist_strings',
355 'remoting_resources',
358 'VERSION=<(version_full)',
361 '<@(remoting_it2me_host_static_sources)',
363 }, # end of target 'remoting_it2me_host_static'
364 ], # end of 'targets'
365 }], # 'enable_remoting_host==1'
367 ['enable_me2me_host==1', {
370 'target_name': 'remoting_me2me_host_static',
371 'type': 'static_library',
372 'variables': { 'enable_wexit_time_destructors': 1, },
374 '../base/base.gyp:base',
375 '../base/base.gyp:base_i18n',
376 '../components/components.gyp:policy',
377 '../components/components.gyp:policy_component_common',
378 '../net/net.gyp:net',
379 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
386 'VERSION=<(version_full)',
389 'host/curtain_mode.h',
390 'host/curtain_mode_linux.cc',
391 'host/curtain_mode_mac.cc',
392 'host/curtain_mode_win.cc',
393 'host/pam_authorization_factory_posix.cc',
394 'host/pam_authorization_factory_posix.h',
395 'host/posix/signal_handler.cc',
396 'host/posix/signal_handler.h',
397 'host/remoting_me2me_host.cc',
414 ['OS=="mac" and buildtype=="Official"', {
416 'internal/internal_mac-inl.h'
419 'USE_REMOTING_MACOSX_INTERNAL'
422 ], # end of 'conditions'
423 }, # end of target 'remoting_me2me_host_static'
425 }], # end of enable_me2me_host==1
427 ['OS!="win" and enable_me2me_host==1', {
430 'target_name': 'remoting_me2me_host',
431 'type': 'executable',
432 'variables': { 'enable_wexit_time_destructors': 1, },
434 '../base/base.gyp:base',
435 '../base/base.gyp:base_i18n',
436 '<(icu_gyp_path):icudata',
437 '../net/net.gyp:net',
438 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
442 'remoting_infoplist_strings',
443 'remoting_me2me_host_static',
447 'VERSION=<(version_full)',
457 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_ID@")',
460 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
461 'INFOPLIST_PREPROCESS': 'YES',
462 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
464 'mac_bundle_resources': [
465 '<(PRODUCT_DIR)/icudtl.dat',
466 'host/disconnect_window.xib',
467 'host/remoting_me2me_host.icns',
468 'host/remoting_me2me_host-Info.plist',
469 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
471 # Localized strings for 'Info.plist'
472 '<!@pymod_do_main(remoting_localize --locale_output '
473 '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_me2me_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
474 '--print_only <(remoting_locales))',
476 'mac_bundle_resources!': [
477 'host/remoting_me2me_host-Info.plist',
480 ['mac_breakpad==1', {
482 # A real .dSYM is needed for dump_syms to operate on.
487 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
489 '<(PRODUCT_DIR)/crash_inspector',
490 '<(PRODUCT_DIR)/crash_report_sender.app'
495 '../breakpad/breakpad.gyp:dump_syms',
499 'postbuild_name': 'Dump Symbols',
501 'dump_product_syms_path':
502 'scripts/mac/dump_product_syms',
505 '<(dump_product_syms_path)',
508 }, # end of postbuild 'dump_symbols'
509 ], # end of 'postbuilds'
510 }], # mac_breakpad==1
513 ['OS=="linux" and use_allocator!="none"', {
515 '../base/allocator/allocator.gyp:allocator',
518 ], # end of 'conditions'
519 }, # end of target 'remoting_me2me_host'
521 'target_name': 'remoting_me2me_native_messaging_host',
522 'type': 'executable',
523 'product_name': 'native_messaging_host',
524 'variables': { 'enable_wexit_time_destructors': 1, },
526 '../base/base.gyp:base',
529 'remoting_host_setup_base',
530 'remoting_infoplist_strings',
531 'remoting_native_messaging_base',
534 'VERSION=<(version_full)',
537 'host/setup/me2me_native_messaging_host_entry_point.cc',
538 'host/setup/me2me_native_messaging_host_main.cc',
539 'host/setup/me2me_native_messaging_host_main.h',
542 ['OS=="linux" and use_allocator!="none"', {
544 '../base/allocator/allocator.gyp:allocator',
550 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID@")',
553 'INFOPLIST_FILE': 'host/setup/native_messaging_host-Info.plist',
554 'INFOPLIST_PREPROCESS': 'YES',
555 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
557 'mac_bundle_resources': [
558 'host/setup/native_messaging_host-Info.plist',
559 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
561 # Localized strings for 'Info.plist'
562 '<!@pymod_do_main(remoting_localize --locale_output '
563 '"<(SHARED_INTERMEDIATE_DIR)/remoting/native_messaging_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
564 '--print_only <(remoting_locales))',
566 'mac_bundle_resources!': [
567 'host/setup/native_messaging_host-Info.plist',
570 ['mac_breakpad==1', {
572 # A real .dSYM is needed for dump_syms to operate on.
577 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
579 '<(PRODUCT_DIR)/crash_inspector',
580 '<(PRODUCT_DIR)/crash_report_sender.app'
585 '../breakpad/breakpad.gyp:dump_syms',
589 'postbuild_name': 'Dump Symbols',
591 'dump_product_syms_path':
592 'scripts/mac/dump_product_syms',
595 '<(dump_product_syms_path)',
598 }, # end of postbuild 'dump_symbols'
599 ], # end of 'postbuilds'
600 }], # mac_breakpad==1
604 }, # end of target 'remoting_me2me_native_messaging_host'
606 }], # end of OS!="win" and enable_me2me_host==1
608 ['OS!="win" and enable_remoting_host==1', {
613 'target_name': 'remoting_it2me_native_messaging_host',
614 'type': 'executable',
615 'product_name': 'remote_assistance_host',
616 'variables': { 'enable_wexit_time_destructors': 1, },
618 '../base/base.gyp:base',
622 'remoting_it2me_host_static',
623 'remoting_native_messaging_base',
627 'VERSION=<(version_full)',
630 'host/it2me/it2me_native_messaging_host_entry_point.cc',
631 'host/it2me/it2me_native_messaging_host_main.cc',
632 'host/it2me/it2me_native_messaging_host_main.h',
635 ['OS=="linux" and chromeos==0 and use_ozone==0', {
637 # Always use GTK on Linux, even for Aura builds.
638 '../build/linux/system.gyp:gtk',
641 ['OS=="linux" and use_allocator!="none"', {
643 '../base/allocator/allocator.gyp:allocator',
649 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID@")',
652 'INFOPLIST_FILE': 'host/it2me/remote_assistance_host-Info.plist',
653 'INFOPLIST_PREPROCESS': 'YES',
654 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
656 'mac_bundle_resources': [
657 '<(PRODUCT_DIR)/icudtl.dat',
658 'host/disconnect_window.xib',
659 'host/it2me/remote_assistance_host-Info.plist',
660 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
662 # Localized strings for 'Info.plist'
663 '<!@pymod_do_main(remoting_localize --locale_output '
664 '"<(SHARED_INTERMEDIATE_DIR)/remoting/remote_assistance_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
665 '--print_only <(remoting_locales))',
667 'mac_bundle_resources!': [
668 'host/it2me/remote_assistance_host-Info.plist',
671 ['mac_breakpad==1', {
673 # A real .dSYM is needed for dump_syms to operate on.
678 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
680 '<(PRODUCT_DIR)/crash_inspector',
681 '<(PRODUCT_DIR)/crash_report_sender.app'
686 '../breakpad/breakpad.gyp:dump_syms',
690 'postbuild_name': 'Dump Symbols',
692 'dump_product_syms_path':
693 'scripts/mac/dump_product_syms',
696 '<(dump_product_syms_path)',
699 }, # end of postbuild 'dump_symbols'
700 ], # end of 'postbuilds'
701 }], # mac_breakpad==1
704 ], # end of conditions
705 }, # end of target 'remoting_it2me_native_messaging_host'
710 # Dummy target for chromeos==1
711 'target_name': 'remoting_it2me_native_messaging_host',
712 'type': 'executable',
715 }], # end of chromeos==0
716 ], # end of conditions
717 }], # end of OS!="win" and enable_remoting_host==1
718 ], # end of 'conditions'