Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: remoting/remoting.gyp

Issue 139283010: Break some parts of remoting.gyp into separate .gypi files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add icudtl.dat (lost in merge) Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | remoting/remoting_client.gypi » ('j') | remoting/remoting_client.gypi » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 'chromium_code': 1, 7 'chromium_code': 1,
8 8
9 'variables': { 9 'variables': {
10 'conditions': [ 10 'conditions': [
(...skipping 11 matching lines...) Expand all
22 22
23 'remoting_localize_path': 'tools/build/remoting_localize.py', 23 'remoting_localize_path': 'tools/build/remoting_localize.py',
24 24
25 'branding_path': '../remoting/branding_<(branding)', 25 'branding_path': '../remoting/branding_<(branding)',
26 26
27 'webapp_locale_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/webapp/_locales', 27 'webapp_locale_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/webapp/_locales',
28 28
29 'host_plugin_mime_type': 'application/vnd.chromium.remoting-host', 29 'host_plugin_mime_type': 'application/vnd.chromium.remoting-host',
30 30
31 'conditions': [ 31 'conditions': [
32 # Remoting host is supported only on Windows, OSX and Linux (with X11).
33 ['OS=="win" or OS=="mac" or (OS=="linux" and chromeos==0 and use_x11==1)', {
34 'enable_remoting_host': 1,
35 }, {
36 'enable_remoting_host': 0,
37 }],
38 ['OS=="mac"', { 32 ['OS=="mac"', {
39 'mac_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@ MAC_BUNDLE_ID@")', 33 'mac_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@ MAC_BUNDLE_ID@")',
40 'mac_creator': '<!(python <(version_py_path) -f <(branding_path) -t "@MA C_CREATOR@")', 34 'mac_creator': '<!(python <(version_py_path) -f <(branding_path) -t "@MA C_CREATOR@")',
41 'host_plugin_extension': 'plugin', 35 'host_plugin_extension': 'plugin',
42 'host_plugin_prefix': '', 36 'host_plugin_prefix': '',
43 }], 37 }],
44 ['os_posix == 1 and OS != "mac" and target_arch == "ia32"', { 38 ['os_posix == 1 and OS != "mac" and target_arch == "ia32"', {
45 # linux 32 bit 39 # linux 32 bit
46 'host_plugin_extension': 'ia32.so', 40 'host_plugin_extension': 'ia32.so',
47 'host_plugin_prefix': 'lib', 41 'host_plugin_prefix': 'lib',
(...skipping 19 matching lines...) Expand all
67 # instances running already. 61 # instances running already.
68 # The parameter at the end is ignored, but needed to make sure that the 62 # The parameter at the end is ignored, but needed to make sure that the
69 # script will be invoked separately for each CLSID. Otherwise GYP will 63 # script will be invoked separately for each CLSID. Otherwise GYP will
70 # reuse the value returned by the first invocation of the script. 64 # reuse the value returned by the first invocation of the script.
71 'daemon_controller_clsid': 65 'daemon_controller_clsid':
72 '<!(python -c "import uuid; print uuid.uuid4()" 1)', 66 '<!(python -c "import uuid; print uuid.uuid4()" 1)',
73 'rdp_desktop_session_clsid': 67 'rdp_desktop_session_clsid':
74 '<!(python -c "import uuid; print uuid.uuid4()" 2)', 68 '<!(python -c "import uuid; print uuid.uuid4()" 2)',
75 }], 69 }],
76 ], 70 ],
77
78 'remoting_locales': [
79 'ar', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'en-GB', 'es',
80 'es-419', 'et', 'fi', 'fil', 'fr', 'he', 'hi', 'hr', 'hu', 'id',
81 'it', 'ja', 'ko', 'lt', 'lv', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT',
82 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi',
83 'zh-CN', 'zh-TW',
84 ],
85 'remoting_locale_files': [
86 # Build the list of .pak files generated from remoting_strings.grd.
87 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x '
88 '<(PRODUCT_DIR) <(remoting_locales))',
89 ],
90 'remoting_webapp_locale_files': [
91 # Build the list of .json files generated from remoting_strings.grd.
92 '<!@pymod_do_main(remoting_localize --locale_output '
93 '"<(webapp_locale_dir)/@{json_suffix}/messages.json" '
94 '--print_only <(remoting_locales))',
95 ],
96 'remoting_host_installer_mac_roots': [
97 'host/installer/mac/',
98 '<(DEPTH)/chrome/installer/mac/',
99 ],
100 'remoting_host_installer_mac_files': [
101 'host/installer/mac/do_signing.sh',
102 'host/installer/mac/do_signing.props',
103 'host/installer/mac/ChromotingHost.pkgproj',
104 'host/installer/mac/ChromotingHostService.pkgproj',
105 'host/installer/mac/ChromotingHostUninstaller.pkgproj',
106 'host/installer/mac/LaunchAgents/org.chromium.chromoting.plist',
107 'host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh ',
108 'host/installer/mac/Config/org.chromium.chromoting.conf',
109 'host/installer/mac/Scripts/keystone_install.sh',
110 'host/installer/mac/Scripts/remoting_postflight.sh',
111 'host/installer/mac/Scripts/remoting_preflight.sh',
112 'host/installer/mac/Keystone/GoogleSoftwareUpdate.pkg',
113 '<(DEPTH)/chrome/installer/mac/pkg-dmg',
114 ],
115 'remoting_host_installer_win_roots': [
116 'host/installer/win/',
117 ],
118 'remoting_host_installer_win_files': [
119 'host/installer/win/chromoting.wxs',
120 'host/installer/win/parameters.json',
121 ],
122 }, 71 },
123 72
124 'includes': [ 73 'includes': [
125 '../chrome/js_unittest_vars.gypi', 74 '../chrome/js_unittest_vars.gypi',
126 'remoting_android.gypi', 75 'remoting_android.gypi',
127 'remoting_webapp.gypi', 76 'remoting_client.gypi',
77 'remoting_host.gypi',
78 'remoting_test.gypi',
128 'remoting_version.gypi', 79 'remoting_version.gypi',
80 'remoting_webapp_files.gypi',
129 ], 81 ],
130 82
131 'target_defaults': { 83 'target_defaults': {
132 'defines': [ 84 'defines': [
133 'BINARY_CORE=1', 85 'BINARY_CORE=1',
134 'BINARY_DESKTOP=2', 86 'BINARY_DESKTOP=2',
135 'BINARY_HOST_ME2ME=3', 87 'BINARY_HOST_ME2ME=3',
136 'BINARY_HOST_PLUGIN=4', 88 'BINARY_HOST_PLUGIN=4',
137 ], 89 ],
138 'include_dirs': [ 90 'include_dirs': [
(...skipping 20 matching lines...) Expand all
159 ], 111 ],
160 }], 112 }],
161 ['remoting_multi_process != 0', { 113 ['remoting_multi_process != 0', {
162 'defines': [ 114 'defines': [
163 'REMOTING_MULTI_PROCESS', 115 'REMOTING_MULTI_PROCESS',
164 ], 116 ],
165 }], 117 }],
166 ], 118 ],
167 }, 119 },
168 120
169 'conditions': [
170 ['enable_remoting_host==1', {
171 'targets': [
172 {
173 'target_name': 'remoting_host',
174 'type': 'static_library',
175 'variables': { 'enable_wexit_time_destructors': 1, },
176 'dependencies': [
177 'remoting_base',
178 'remoting_protocol',
179 'remoting_resources',
180 '../crypto/crypto.gyp:crypto',
181 '../google_apis/google_apis.gyp:google_apis',
182 '../ipc/ipc.gyp:ipc',
183 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
184 '../ui/events/events.gyp:dom4_keycode_converter',
185 ],
186 'defines': [
187 'VERSION=<(version_full)',
188 ],
189 'sources': [
190 'host/audio_capturer.cc',
191 'host/audio_capturer.h',
192 'host/audio_capturer_linux.cc',
193 'host/audio_capturer_linux.h',
194 'host/audio_capturer_mac.cc',
195 'host/audio_capturer_win.cc',
196 'host/audio_capturer_win.h',
197 'host/audio_scheduler.cc',
198 'host/audio_scheduler.h',
199 'host/audio_silence_detector.cc',
200 'host/audio_silence_detector.h',
201 'host/basic_desktop_environment.cc',
202 'host/basic_desktop_environment.h',
203 'host/branding.cc',
204 'host/branding.h',
205 'host/capture_scheduler.cc',
206 'host/capture_scheduler.h',
207 'host/chromoting_host.cc',
208 'host/chromoting_host.h',
209 'host/chromoting_host_context.cc',
210 'host/chromoting_host_context.h',
211 'host/chromoting_messages.cc',
212 'host/chromoting_messages.h',
213 'host/chromoting_param_traits.cc',
214 'host/chromoting_param_traits.h',
215 'host/client_session.cc',
216 'host/client_session.h',
217 'host/client_session_control.h',
218 'host/clipboard.h',
219 'host/clipboard_mac.mm',
220 'host/clipboard_win.cc',
221 'host/clipboard_x11.cc',
222 'host/config_file_watcher.cc',
223 'host/config_file_watcher.h',
224 'host/config_watcher.h',
225 'host/constants_mac.cc',
226 'host/constants_mac.h',
227 'host/continue_window.cc',
228 'host/continue_window.h',
229 'host/continue_window_aura.cc',
230 'host/continue_window_gtk.cc',
231 'host/continue_window_mac.mm',
232 'host/continue_window_win.cc',
233 'host/daemon_process.cc',
234 'host/daemon_process.h',
235 'host/daemon_process_win.cc',
236 'host/desktop_environment.h',
237 'host/desktop_process.cc',
238 'host/desktop_process.h',
239 'host/desktop_resizer.h',
240 'host/desktop_resizer_linux.cc',
241 'host/desktop_session.cc',
242 'host/desktop_session.h',
243 'host/desktop_session_agent.cc',
244 'host/desktop_session_agent.h',
245 'host/desktop_session_win.cc',
246 'host/desktop_session_win.h',
247 'host/desktop_resizer_mac.cc',
248 'host/desktop_resizer_win.cc',
249 'host/desktop_session_connector.h',
250 'host/desktop_session_proxy.cc',
251 'host/desktop_session_proxy.h',
252 'host/desktop_shape_tracker.h',
253 'host/desktop_shape_tracker_mac.cc',
254 'host/desktop_shape_tracker_win.cc',
255 'host/desktop_shape_tracker_x11.cc',
256 'host/disconnect_window_aura.cc',
257 'host/disconnect_window_gtk.cc',
258 'host/disconnect_window_mac.h',
259 'host/disconnect_window_mac.mm',
260 'host/disconnect_window_win.cc',
261 'host/dns_blackhole_checker.cc',
262 'host/dns_blackhole_checker.h',
263 'host/heartbeat_sender.cc',
264 'host/heartbeat_sender.h',
265 'host/host_change_notification_listener.cc',
266 'host/host_change_notification_listener.h',
267 'host/host_config.cc',
268 'host/host_config.h',
269 'host/host_event_logger.h',
270 'host/host_event_logger_posix.cc',
271 'host/host_event_logger_win.cc',
272 'host/host_exit_codes.cc',
273 'host/host_exit_codes.h',
274 'host/host_export.h',
275 'host/host_secret.cc',
276 'host/host_secret.h',
277 'host/host_status_monitor.h',
278 'host/host_status_observer.h',
279 'host/host_status_sender.cc',
280 'host/host_status_sender.h',
281 'host/host_window.h',
282 'host/host_window_proxy.cc',
283 'host/host_window_proxy.h',
284 'host/in_memory_host_config.cc',
285 'host/in_memory_host_config.h',
286 'host/input_injector.h',
287 'host/input_injector_linux.cc',
288 'host/input_injector_mac.cc',
289 'host/input_injector_win.cc',
290 'host/ipc_audio_capturer.cc',
291 'host/ipc_audio_capturer.h',
292 'host/ipc_constants.cc',
293 'host/ipc_constants.h',
294 'host/ipc_desktop_environment.cc',
295 'host/ipc_desktop_environment.h',
296 'host/ipc_host_event_logger.cc',
297 'host/ipc_host_event_logger.h',
298 'host/ipc_input_injector.cc',
299 'host/ipc_input_injector.h',
300 'host/ipc_screen_controls.cc',
301 'host/ipc_screen_controls.h',
302 'host/ipc_util.h',
303 'host/ipc_util_posix.cc',
304 'host/ipc_util_win.cc',
305 'host/ipc_video_frame_capturer.cc',
306 'host/ipc_video_frame_capturer.h',
307 'host/it2me_desktop_environment.cc',
308 'host/it2me_desktop_environment.h',
309 'host/json_host_config.cc',
310 'host/json_host_config.h',
311 'host/linux/audio_pipe_reader.cc',
312 'host/linux/audio_pipe_reader.h',
313 'host/linux/x11_util.cc',
314 'host/linux/x11_util.h',
315 'host/linux/x_server_clipboard.cc',
316 'host/linux/x_server_clipboard.h',
317 'host/local_input_monitor.h',
318 'host/local_input_monitor_linux.cc',
319 'host/local_input_monitor_mac.mm',
320 'host/local_input_monitor_win.cc',
321 'host/log_to_server.cc',
322 'host/log_to_server.h',
323 'host/logging.h',
324 'host/logging_posix.cc',
325 'host/logging_win.cc',
326 'host/me2me_desktop_environment.cc',
327 'host/me2me_desktop_environment.h',
328 'host/mouse_clamping_filter.cc',
329 'host/mouse_clamping_filter.h',
330 'host/pairing_registry_delegate.cc',
331 'host/pairing_registry_delegate.h',
332 'host/pairing_registry_delegate_linux.cc',
333 'host/pairing_registry_delegate_linux.h',
334 'host/pairing_registry_delegate_mac.cc',
335 'host/pairing_registry_delegate_win.cc',
336 'host/pairing_registry_delegate_win.h',
337 'host/pam_authorization_factory_posix.cc',
338 'host/pam_authorization_factory_posix.h',
339 'host/pin_hash.cc',
340 'host/pin_hash.h',
341 'host/policy_hack/policy_watcher.cc',
342 'host/policy_hack/policy_watcher.h',
343 'host/policy_hack/policy_watcher_linux.cc',
344 'host/policy_hack/policy_watcher_mac.mm',
345 'host/policy_hack/policy_watcher_win.cc',
346 'host/register_support_host_request.cc',
347 'host/register_support_host_request.h',
348 'host/remote_input_filter.cc',
349 'host/remote_input_filter.h',
350 'host/resizing_host_observer.cc',
351 'host/resizing_host_observer.h',
352 'host/sas_injector.h',
353 'host/sas_injector_win.cc',
354 'host/screen_controls.h',
355 'host/screen_resolution.cc',
356 'host/screen_resolution.h',
357 'host/server_log_entry.cc',
358 'host/server_log_entry.h',
359 'host/service_urls.cc',
360 'host/service_urls.h',
361 'host/session_manager_factory.cc',
362 'host/session_manager_factory.h',
363 'host/shaped_screen_capturer.cc',
364 'host/shaped_screen_capturer.h',
365 'host/signaling_connector.cc',
366 'host/signaling_connector.h',
367 'host/token_validator_factory_impl.cc',
368 'host/token_validator_factory_impl.h',
369 'host/usage_stats_consent.h',
370 'host/usage_stats_consent_mac.cc',
371 'host/usage_stats_consent_win.cc',
372 'host/username.cc',
373 'host/username.h',
374 'host/video_scheduler.cc',
375 'host/video_scheduler.h',
376 'host/win/com_security.cc',
377 'host/win/com_security.h',
378 'host/win/launch_process_with_token.cc',
379 'host/win/launch_process_with_token.h',
380 'host/win/omaha.cc',
381 'host/win/omaha.h',
382 'host/win/rdp_client.cc',
383 'host/win/rdp_client.h',
384 'host/win/rdp_client_window.cc',
385 'host/win/rdp_client_window.h',
386 'host/win/security_descriptor.cc',
387 'host/win/security_descriptor.h',
388 'host/win/session_desktop_environment.cc',
389 'host/win/session_desktop_environment.h',
390 'host/win/session_input_injector.cc',
391 'host/win/session_input_injector.h',
392 'host/win/window_station_and_desktop.cc',
393 'host/win/window_station_and_desktop.h',
394 'host/win/wts_terminal_monitor.cc',
395 'host/win/wts_terminal_monitor.h',
396 'host/win/wts_terminal_observer.h',
397 ],
398 'conditions': [
399 ['OS=="linux"', {
400 'dependencies': [
401 # Always use GTK on Linux, even for Aura builds.
402 #
403 # TODO(lambroslambrou): Once the DisconnectWindow and
404 # ContinueWindow classes have been implemented for Aura,
405 # remove this dependency.
406 '../build/linux/system.gyp:gtk',
407 ],
408 'link_settings': {
409 'libraries': [
410 '-lX11',
411 '-lXext',
412 '-lXfixes',
413 '-lXtst',
414 '-lXi',
415 '-lXrandr',
416 '-lpam',
417 ],
418 },
419 }, { # else OS != "linux"
420 'sources!': [
421 'host/continue_window_aura.cc',
422 'host/disconnect_window_aura.cc',
423 ],
424 }],
425 ['OS=="mac"', {
426 'dependencies': [
427 '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gy p:google_toolbox_for_mac',
428 ],
429 'link_settings': {
430 'libraries': [
431 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
432 'libpam.a',
433 ],
434 },
435 }],
436 ['OS=="win"', {
437 'defines': [
438 '_ATL_NO_EXCEPTIONS',
439 'ISOLATION_AWARE_ENABLED=1',
440 ],
441 'dependencies': [
442 '../sandbox/sandbox.gyp:sandbox',
443 'remoting_host_messages',
444 ],
445 'msvs_settings': {
446 'VCCLCompilerTool': {
447 # /MP conflicts with #import directive so we limit the number
448 # of processes to spawn to 1.
449 'AdditionalOptions': ['/MP1'],
450 },
451 },
452 'variables': {
453 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
454 },
455 'sources': [
456 '<(output_dir)/remoting_host_messages.mc',
457 ],
458 'include_dirs': [
459 '<(output_dir)',
460 ],
461 'direct_dependent_settings': {
462 'include_dirs': [
463 '<(output_dir)',
464 ],
465 },
466 'rules': [{
467 # Rule to run the message compiler.
468 'rule_name': 'message_compiler',
469 'extension': 'mc',
470 'inputs': [ '<(RULE_INPUT_PATH)' ],
471 'outputs': [
472 '<(output_dir)/<(RULE_INPUT_ROOT).h',
473 '<(output_dir)/<(RULE_INPUT_ROOT).rc',
474 ],
475 'action': [
476 'mc.exe',
477 '-h', '<(output_dir)',
478 '-r', '<(output_dir)/.',
479 '-u',
480 '<(RULE_INPUT_PATH)',
481 ],
482 'process_outputs_as_sources': 1,
483 'message': 'Running message compiler on <(RULE_INPUT_PATH)',
484 }],
485 }],
486 ],
487 }, # end of target 'remoting_host'
488
489 {
490 'target_name': 'remoting_native_messaging_base',
491 'type': 'static_library',
492 'variables': { 'enable_wexit_time_destructors': 1, },
493 'dependencies': [
494 '../base/base.gyp:base',
495 ],
496 'sources': [
497 'host/native_messaging/native_messaging_channel.cc',
498 'host/native_messaging/native_messaging_channel.h',
499 'host/native_messaging/native_messaging_reader.cc',
500 'host/native_messaging/native_messaging_reader.h',
501 'host/native_messaging/native_messaging_writer.cc',
502 'host/native_messaging/native_messaging_writer.h',
503 ],
504 }, # end of target 'remoting_native_messaging_base'
505
506 {
507 'target_name': 'remoting_me2me_host_static',
508 'type': 'static_library',
509 'variables': { 'enable_wexit_time_destructors': 1, },
510 'dependencies': [
511 '../base/base.gyp:base',
512 '../base/base.gyp:base_i18n',
513 '../net/net.gyp:net',
514 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
515 'remoting_base',
516 'remoting_breakpad',
517 'remoting_host',
518 'remoting_protocol',
519 ],
520 'defines': [
521 'VERSION=<(version_full)',
522 ],
523 'sources': [
524 'host/curtain_mode.h',
525 'host/curtain_mode_linux.cc',
526 'host/curtain_mode_mac.cc',
527 'host/curtain_mode_win.cc',
528 'host/posix/signal_handler.cc',
529 'host/posix/signal_handler.h',
530 ],
531 'conditions': [
532 ['os_posix != 1', {
533 'sources/': [
534 ['exclude', '^host/posix/'],
535 ],
536 }],
537 ], # end of 'conditions'
538 }, # end of target 'remoting_me2me_host_static'
539
540 {
541 'target_name': 'remoting_host_setup_base',
542 'type': 'static_library',
543 'variables': { 'enable_wexit_time_destructors': 1, },
544 'dependencies': [
545 '../base/base.gyp:base',
546 '../google_apis/google_apis.gyp:google_apis',
547 'remoting_host',
548 ],
549 'defines': [
550 'VERSION=<(version_full)',
551 ],
552 'sources': [
553 'host/setup/daemon_controller.cc',
554 'host/setup/daemon_controller.h',
555 'host/setup/daemon_controller_delegate_linux.cc',
556 'host/setup/daemon_controller_delegate_linux.h',
557 'host/setup/daemon_controller_delegate_mac.h',
558 'host/setup/daemon_controller_delegate_mac.mm',
559 'host/setup/daemon_controller_delegate_win.cc',
560 'host/setup/daemon_controller_delegate_win.h',
561 'host/setup/daemon_installer_win.cc',
562 'host/setup/daemon_installer_win.h',
563 'host/setup/me2me_native_messaging_host.cc',
564 'host/setup/me2me_native_messaging_host.h',
565 'host/setup/oauth_client.cc',
566 'host/setup/oauth_client.h',
567 'host/setup/oauth_helper.cc',
568 'host/setup/oauth_helper.h',
569 'host/setup/pin_validator.cc',
570 'host/setup/pin_validator.h',
571 'host/setup/service_client.cc',
572 'host/setup/service_client.h',
573 'host/setup/test_util.cc',
574 'host/setup/test_util.h',
575 'host/setup/win/auth_code_getter.cc',
576 'host/setup/win/auth_code_getter.h',
577 ],
578 'conditions': [
579 ['OS=="win"', {
580 'dependencies': [
581 '../google_update/google_update.gyp:google_update',
582 'remoting_lib_idl',
583 ],
584 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
585 'msvs_disabled_warnings': [4267, ],
586 }],
587 ],
588 }, # end of target 'remoting_host_setup_base'
589
590 {
591 'target_name': 'remoting_host_plugin',
592 'type': 'loadable_module',
593 'variables': { 'enable_wexit_time_destructors': 1, },
594 'product_extension': '<(host_plugin_extension)',
595 'product_prefix': '<(host_plugin_prefix)',
596 'defines': [
597 'HOST_PLUGIN_MIME_TYPE=<(host_plugin_mime_type)',
598 ],
599 'dependencies': [
600 '../base/base.gyp:base_i18n',
601 '../net/net.gyp:net',
602 '../third_party/npapi/npapi.gyp:npapi',
603 'remoting_base',
604 'remoting_host',
605 'remoting_host_setup_base',
606 'remoting_infoplist_strings',
607 'remoting_it2me_host_static',
608 'remoting_protocol',
609 'remoting_resources',
610 ],
611 'sources': [
612 'base/dispatch_win.h',
613 'host/plugin/host_log_handler.cc',
614 'host/plugin/host_log_handler.h',
615 'host/plugin/host_plugin.cc',
616 'host/plugin/host_plugin_utils.cc',
617 'host/plugin/host_plugin_utils.h',
618 'host/plugin/host_script_object.cc',
619 'host/plugin/host_script_object.h',
620 'host/win/core_resource.h',
621 ],
622 'conditions': [
623 ['OS=="mac"', {
624 'mac_bundle': 1,
625 'xcode_settings': {
626 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
627 'INFOPLIST_FILE': 'host/plugin/host_plugin-Info.plist',
628 'INFOPLIST_PREPROCESS': 'YES',
629 # TODO(maruel): Use INFOPLIST_PREFIX_HEADER to remove the need t o
630 # duplicate string once
631 # http://code.google.com/p/gyp/issues/detail?id=243 is fixed.
632 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'HOST_PLUGIN_MIME_TYPE="<( host_plugin_mime_type)" VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_ short)"',
633 },
634 # TODO(mark): Come up with a fancier way to do this. It should
635 # only be necessary to list host_plugin-Info.plist once, not the
636 # three times it is listed here.
637 'mac_bundle_resources': [
638 'host/disconnect_window.xib',
639 'host/plugin/host_plugin-Info.plist',
640 'resources/chromoting16.png',
641 'resources/chromoting48.png',
642 'resources/chromoting128.png',
643 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT _DIR) <(remoting_locales))',
644
645 # Localized strings for 'Info.plist'
646 '<!@pymod_do_main(remoting_localize --locale_output '
647 '"<(SHARED_INTERMEDIATE_DIR)/remoting/host_plugin-InfoPlist. strings/@{json_suffix}.lproj/InfoPlist.strings" '
648 '--print_only <(remoting_locales))',
649 ],
650 'mac_bundle_resources!': [
651 'host/plugin/host_plugin-Info.plist',
652 ],
653 'conditions': [
654 ['mac_breakpad==1', {
655 'variables': {
656 # A real .dSYM is needed for dump_syms to operate on.
657 'mac_real_dsym': 1,
658 },
659 }],
660 ], # conditions
661 }], # OS=="mac"
662 [ 'OS=="win"', {
663 'defines': [
664 'BINARY=BINARY_HOST_PLUGIN',
665 'ISOLATION_AWARE_ENABLED=1',
666 ],
667 'dependencies': [
668 'remoting_lib_idl',
669 'remoting_windows_resources',
670 ],
671 'include_dirs': [
672 '<(INTERMEDIATE_DIR)',
673 ],
674 'sources': [
675 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
676 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
677 'host/plugin/host_plugin.def',
678 ],
679 'msvs_settings': {
680 'VCManifestTool': {
681 'EmbedManifest': 'true',
682 'AdditionalManifestFiles': [
683 'host/win/common-controls.manifest',
684 ],
685 },
686 },
687 }],
688 ],
689 }, # end of target 'remoting_host_plugin'
690 {
691 'target_name': 'remoting_it2me_host_static',
692 'type': 'static_library',
693 'variables': { 'enable_wexit_time_destructors': 1, },
694 'dependencies': [
695 '../base/base.gyp:base_i18n',
696 '../net/net.gyp:net',
697 'remoting_base',
698 'remoting_host',
699 'remoting_infoplist_strings',
700 'remoting_protocol',
701 'remoting_resources',
702 ],
703 'defines': [
704 'VERSION=<(version_full)',
705 ],
706 'sources': [
707 'host/it2me/it2me_host.cc',
708 'host/it2me/it2me_host.h',
709 'host/it2me/it2me_native_messaging_host.cc',
710 'host/it2me/it2me_native_messaging_host.h',
711 ],
712 }, # end of target 'remoting_it2me_host_static'
713 {
714 'target_name': 'remoting_it2me_native_messaging_host',
715 'type': 'executable',
716 'variables': { 'enable_wexit_time_destructors': 1, },
717 'dependencies': [
718 '../base/base.gyp:base',
719 'remoting_base',
720 'remoting_host',
721 'remoting_it2me_host_static',
722 'remoting_native_messaging_base',
723 'remoting_protocol',
724 ],
725 'sources': [
726 'host/it2me/it2me_native_messaging_host_main.cc',
727 ],
728 'conditions': [
729 ['OS=="linux" and linux_use_tcmalloc==1', {
730 'dependencies': [
731 '../base/allocator/allocator.gyp:allocator',
732 ],
733 }],
734 ],
735 }, # end of target 'remoting_it2me_native_messaging_host'
736
737 # Generates native messaging manifest files.
738 {
739 'target_name': 'remoting_native_messaging_manifests',
740 'type': 'none',
741 'conditions': [
742 [ 'OS == "win"', {
743 'variables': {
744 'me2me_host_path': 'remoting_host.exe',
745 'it2me_host_path': 'remoting_assistance_host.exe',
746 },
747 }],
748 [ 'OS == "mac"', {
749 'variables': {
750 'me2me_host_path':
751 '/Library/PrivilegedHelperTools/org.chromium.chromoting.me2m e_host.app/Contents/MacOS/native_messaging_host',
752 'it2me_host_path':
753 '/Library/PrivilegedHelperTools/org.chromium.chromoting.me2m e_host.app/Contents/MacOS/remote_assistance_host',
754 },
755 }],
756 [ 'OS != "mac" and OS != "win"', {
757 'variables': {
758 'me2me_host_path':
759 '/opt/google/chrome-remote-desktop/native-messaging-host',
760 'it2me_host_path':
761 '/opt/google/chrome-remote-desktop/remote-assistance-host',
762 },
763 }],
764 ], # conditions
765 'sources': [
766 'host/it2me/com.google.chrome.remote_assistance.json.jinja2',
767 'host/setup/com.google.chrome.remote_desktop.json.jinja2',
768 ],
769 'rules': [{
770 'rule_name': 'generate_manifest',
771 'extension': 'jinja2',
772 'inputs': [
773 '<(remoting_localize_path)',
774 '<(branding_path)',
775 '<(RULE_INPUT_PATH)',
776 ],
777 'outputs': [
778 '<(PRODUCT_DIR)/remoting/<(RULE_INPUT_ROOT)',
779 ],
780 'action': [
781 'python', '<(remoting_localize_path)',
782 '--define', 'ME2ME_HOST_PATH=<(me2me_host_path)',
783 '--define', 'IT2ME_HOST_PATH=<(me2me_host_path)',
784 '--variables', '<(branding_path)',
785 '--template', '<(RULE_INPUT_PATH)',
786 '--locale_output', '<@(_outputs)',
787 'en',
788 ],
789 }],
790 }, # end of target 'remoting_native_messaging_manifests'
791
792 {
793 'target_name': 'remoting_infoplist_strings',
794 'type': 'none',
795 'dependencies': [
796 'remoting_resources',
797 ],
798 'sources': [
799 'host/plugin/host_plugin-InfoPlist.strings.jinja2',
800 'host/remoting_me2me_host-InfoPlist.strings.jinja2',
801 'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
802 'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strin gs.jinja2',
803 ],
804 'rules': [{
805 'rule_name': 'generate_strings',
806 'extension': 'jinja2',
807 'inputs': [
808 '<(remoting_localize_path)',
809 '<(RULE_INPUT_PATH)',
810 ],
811 'outputs': [
812 '<!@pymod_do_main(remoting_localize --locale_output '
813 '"<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{jso n_suffix}.lproj/InfoPlist.strings" '
814 '--print_only <(remoting_locales))',
815 ],
816 'action': [
817 'python', '<(remoting_localize_path)',
818 '--locale_dir', '<(webapp_locale_dir)',
819 '--template', '<(RULE_INPUT_PATH)',
820 '--locale_output',
821 '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)/@{json_suf fix}.lproj/InfoPlist.strings',
822 '<@(remoting_locales)',
823 ]},
824 ],
825 }, # end of target 'remoting_infoplist_strings'
826 ], # end of 'targets'
827 }], # 'enable_remoting_host==1'
828
829 ['OS=="linux" and branding=="Chrome" and enable_remoting_host==1', {
830 'variables': {
831 'build_deb_script': 'host/installer/linux/build-deb.sh',
832 'deb_filename': 'host/installer/<!(["<(build_deb_script)", "-p", "-s", " <(DEPTH)"])',
833 'packaging_outputs': [
834 '<(deb_filename)',
835 '<!(echo <(deb_filename) | sed -e "s/.deb$/.changes/")',
836 '<(PRODUCT_DIR)/remoting_me2me_host.debug',
837 '<(PRODUCT_DIR)/remoting_start_host.debug',
838 '<(PRODUCT_DIR)/remoting_native_messaging_host.debug',
839 ]
840 },
841 'targets': [
842 {
843 # Store the installer package(s) into a zip file so there is a
844 # consistent filename to reference for build archiving (i.e. in
845 # FILES.cfg). This also avoids possible conflicts with "wildcard"
846 # package handling in other build/signing scripts.
847 'target_name': 'remoting_me2me_host_archive',
848 'type': 'none',
849 'dependencies': [
850 'remoting_me2me_host_deb_installer',
851 ],
852 'actions': [
853 {
854 'action_name': 'build_linux_installer_zip',
855 'inputs': [
856 '<@(packaging_outputs)',
857 ],
858 'outputs': [
859 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
860 ],
861 'action': [ 'zip', '-j', '-0', '<@(_outputs)', '<@(_inputs)' ],
862 },
863 ],
864 },
865 {
866 'target_name': 'remoting_me2me_host_deb_installer',
867 'type': 'none',
868 'dependencies': [
869 '<(icu_gyp_path):icudata',
870 'remoting_it2me_native_messaging_host',
871 'remoting_me2me_host',
872 'remoting_me2me_native_messaging_host',
873 'remoting_native_messaging_manifests',
874 'remoting_resources',
875 'remoting_start_host',
876 ],
877 'actions': [
878 {
879 'action_name': 'build_debian_package',
880 'inputs': [
881 '<(build_deb_script)',
882 'host/installer/linux/Makefile',
883 'host/installer/linux/debian/chrome-remote-desktop.init',
884 'host/installer/linux/debian/chrome-remote-desktop.pam',
885 'host/installer/linux/debian/compat',
886 'host/installer/linux/debian/control',
887 'host/installer/linux/debian/copyright',
888 'host/installer/linux/debian/postinst',
889 'host/installer/linux/debian/preinst',
890 'host/installer/linux/debian/rules',
891 ],
892 'outputs': [
893 '<@(packaging_outputs)',
894 ],
895 'action': [ '<(build_deb_script)', '-s', '<(DEPTH)' ],
896 },
897 ],
898 },
899 ],
900 }], # OS=="linux" and branding=="Chrome"
901
902 ['OS!="win" and enable_remoting_host==1', {
903 'targets': [
904 {
905 'target_name': 'remoting_me2me_host',
906 'type': 'executable',
907 'variables': { 'enable_wexit_time_destructors': 1, },
908 'dependencies': [
909 '../base/base.gyp:base',
910 '../base/base.gyp:base_i18n',
911 '../net/net.gyp:net',
912 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
913 'remoting_base',
914 'remoting_breakpad',
915 'remoting_host',
916 'remoting_infoplist_strings',
917 'remoting_me2me_host_static',
918 'remoting_protocol',
919 ],
920 'defines': [
921 'VERSION=<(version_full)',
922 ],
923 'sources': [
924 'host/host_main.cc',
925 'host/host_main.h',
926 'host/remoting_me2me_host.cc',
927 ],
928 'conditions': [
929 ['OS=="mac"', {
930 'mac_bundle': 1,
931 'variables': {
932 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_p ath) -t "@MAC_HOST_BUNDLE_ID@")',
933 },
934 'xcode_settings': {
935 'INFOPLIST_FILE': 'host/remoting_me2me_host-Info.plist',
936 'INFOPLIST_PREPROCESS': 'YES',
937 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_f ull)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
938 },
939 'mac_bundle_resources': [
940 'host/disconnect_window.xib',
941 'host/remoting_me2me_host.icns',
942 'host/remoting_me2me_host-Info.plist',
943 '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT _DIR) <(remoting_locales))',
944
945 # Localized strings for 'Info.plist'
946 '<!@pymod_do_main(remoting_localize --locale_output '
947 '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_me2me_host-In foPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
948 '--print_only <(remoting_locales))',
949 ],
950 'mac_bundle_resources!': [
951 'host/remoting_me2me_host-Info.plist',
952 ],
953 'conditions': [
954 ['mac_breakpad==1', {
955 'variables': {
956 # A real .dSYM is needed for dump_syms to operate on.
957 'mac_real_dsym': 1,
958 },
959 'copies': [
960 {
961 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Res ources',
962 'files': [
963 '<(PRODUCT_DIR)/crash_inspector',
964 '<(PRODUCT_DIR)/crash_report_sender.app'
965 ],
966 },
967 ],
968 'dependencies': [
969 '../breakpad/breakpad.gyp:dump_syms',
970 ],
971 'postbuilds': [
972 {
973 'postbuild_name': 'Dump Symbols',
974 'variables': {
975 'dump_product_syms_path':
976 'scripts/mac/dump_product_syms',
977 },
978 'action': [
979 '<(dump_product_syms_path)',
980 '<(version_full)',
981 ],
982 }, # end of postbuild 'dump_symbols'
983 ], # end of 'postbuilds'
984 }], # mac_breakpad==1
985 ], # conditions
986 }], # OS=mac
987 ['OS=="linux" and linux_use_tcmalloc==1', {
988 'dependencies': [
989 '../base/allocator/allocator.gyp:allocator',
990 ],
991 }], # OS=linux
992 ], # end of 'conditions'
993 }, # end of target 'remoting_me2me_host'
994 {
995 'target_name': 'remoting_me2me_native_messaging_host',
996 'type': 'executable',
997 'product_name': 'remoting_native_messaging_host',
998 'variables': { 'enable_wexit_time_destructors': 1, },
999 'dependencies': [
1000 '../base/base.gyp:base',
1001 'remoting_host',
1002 'remoting_host_setup_base',
1003 'remoting_native_messaging_base',
1004 ],
1005 'sources': [
1006 'host/setup/me2me_native_messaging_host_main.cc',
1007 ],
1008 'conditions': [
1009 ['OS=="linux" and linux_use_tcmalloc==1', {
1010 'dependencies': [
1011 '../base/allocator/allocator.gyp:allocator',
1012 ],
1013 }],
1014 ],
1015 }, # end of target 'remoting_me2me_native_messaging_host'
1016 ], # end of 'targets'
1017 }], # OS!="win"
1018
1019 ['OS=="linux" and enable_remoting_host==1', {
1020 'targets': [
1021 # Linux breakpad processing
1022 {
1023 'target_name': 'remoting_linux_symbols',
1024 'type': 'none',
1025 'conditions': [
1026 ['linux_dump_symbols==1', {
1027 'actions': [
1028 {
1029 'action_name': 'dump_symbols',
1030 'variables': {
1031 'plugin_file': '<(host_plugin_prefix)remoting_host_plugin.<( host_plugin_extension)',
1032 },
1033 'inputs': [
1034 '<(DEPTH)/build/linux/dump_app_syms',
1035 '<(PRODUCT_DIR)/dump_syms',
1036 '<(PRODUCT_DIR)/<(plugin_file)',
1037 ],
1038 'outputs': [
1039 '<(PRODUCT_DIR)/<(plugin_file).breakpad.<(target_arch)',
1040 ],
1041 'action': ['<(DEPTH)/build/linux/dump_app_syms',
1042 '<(PRODUCT_DIR)/dump_syms',
1043 '<(linux_strip_binary)',
1044 '<(PRODUCT_DIR)/<(plugin_file)',
1045 '<@(_outputs)'],
1046 'message': 'Dumping breakpad symbols to <(_outputs)',
1047 'process_outputs_as_sources': 1,
1048 },
1049 ],
1050 'dependencies': [
1051 'remoting_host_plugin',
1052 '../breakpad/breakpad.gyp:dump_syms',
1053 ],
1054 }], # 'linux_dump_symbols==1'
1055 ], # end of 'conditions'
1056 }, # end of target 'linux_symbols'
1057 {
1058 'target_name': 'remoting_start_host',
1059 'type': 'executable',
1060 'dependencies': [
1061 'remoting_host_setup_base',
1062 ],
1063 'sources': [
1064 'host/setup/host_starter.cc',
1065 'host/setup/host_starter.h',
1066 'host/setup/start_host.cc',
1067 ],
1068 'conditions': [
1069 ['linux_use_tcmalloc==1', {
1070 'dependencies': [
1071 '../base/allocator/allocator.gyp:allocator',
1072 ],
1073 }],
1074 ],
1075 }, # end of target 'remoting_start_host'
1076 ], # end of 'targets'
1077 }], # 'OS=="linux"'
1078
1079 ['OS=="mac"', {
1080 'targets': [
1081 {
1082 'target_name': 'remoting_host_uninstaller',
1083 'type': 'executable',
1084 'mac_bundle': 1,
1085 'variables': {
1086 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@ MAC_UNINSTALLER_BUNDLE_ID@")',
1087 },
1088 'dependencies': [
1089 '<(DEPTH)/base/base.gyp:base',
1090 'remoting_infoplist_strings',
1091 ],
1092 'sources': [
1093 'host/constants_mac.cc',
1094 'host/constants_mac.h',
1095 'host/installer/mac/uninstaller/remoting_uninstaller.h',
1096 'host/installer/mac/uninstaller/remoting_uninstaller.mm',
1097 'host/installer/mac/uninstaller/remoting_uninstaller_app.h',
1098 'host/installer/mac/uninstaller/remoting_uninstaller_app.mm',
1099 ],
1100 'xcode_settings': {
1101 'INFOPLIST_FILE': 'host/installer/mac/uninstaller/remoting_uninstall er-Info.plist',
1102 'INFOPLIST_PREPROCESS': 'YES',
1103 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full) " VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
1104 },
1105 'mac_bundle_resources': [
1106 'host/installer/mac/uninstaller/remoting_uninstaller.icns',
1107 'host/installer/mac/uninstaller/remoting_uninstaller.xib',
1108 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1109
1110 # Localized strings for 'Info.plist'
1111 '<!@pymod_do_main(remoting_localize --locale_output '
1112 '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_uninstaller-InfoP list.strings/@{json_suffix}.lproj/InfoPlist.strings" '
1113 '--print_only <(remoting_locales))',
1114 ],
1115 'mac_bundle_resources!': [
1116 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
1117 ],
1118 }, # end of target 'remoting_host_uninstaller'
1119
1120 # This packages up the files needed for the remoting host installer so
1121 # they can be sent off to be signed.
1122 # We don't build an installer here because we don't have signed binaries .
1123 {
1124 'target_name': 'remoting_me2me_host_archive',
1125 'type': 'none',
1126 'dependencies': [
1127 'remoting_host_prefpane',
1128 'remoting_host_uninstaller',
1129 'remoting_me2me_host',
1130 'remoting_me2me_native_messaging_host',
1131 'remoting_native_messaging_manifests',
1132 ],
1133 'variables': {
1134 'host_name': '<!(python <(version_py_path) -f <(branding_path) -t "@ HOST_PLUGIN_FILE_NAME@")',
1135 'host_service_name': '<!(python <(version_py_path) -f <(branding_pat h) -t "@DAEMON_FILE_NAME@")',
1136 'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding _path) -t "@MAC_UNINSTALLER_NAME@")',
1137 'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) - t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
1138 },
1139 'actions': [
1140 {
1141 'action_name': 'Zip installer files for signing',
1142 'temp_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting-me2me-ho st',
1143 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1144 'variables': {
1145 'host_name_nospace': '<!(echo <(host_name) | sed "s/ //g")',
1146 'host_service_name_nospace': '<!(echo <(host_service_name) | sed "s/ //g")',
1147 'host_uninstaller_name_nospace': '<!(echo <(host_uninstaller_nam e) | sed "s/ //g")',
1148 },
1149 'generated_files': [
1150 '<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
1151 '<(PRODUCT_DIR)/remoting_me2me_host.app',
1152 '<(PRODUCT_DIR)/remoting_host_uninstaller.app',
1153 '<(PRODUCT_DIR)/remoting_native_messaging_host',
1154 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
1155 ],
1156 'generated_files_dst': [
1157 'PreferencePanes/org.chromium.chromoting.prefPane',
1158 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app',
1159 'Applications/<(host_uninstaller_name).app',
1160 'PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app/Co ntents/MacOS/native_messaging_host',
1161 'Config/com.google.chrome.remote_desktop.json',
1162 ],
1163 'source_files': [
1164 '<@(remoting_host_installer_mac_files)',
1165 ],
1166 'defs': [
1167 'VERSION=<(version_full)',
1168 'VERSION_SHORT=<(version_short)',
1169 'VERSION_MAJOR=<(version_major)',
1170 'VERSION_MINOR=<(version_minor)',
1171 'HOST_NAME=<(host_name)',
1172 'HOST_SERVICE_NAME=<(host_service_name)',
1173 'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
1174 'HOST_PKG=<(host_name)',
1175 'HOST_SERVICE_PKG=<(host_service_name_nospace)',
1176 'HOST_UNINSTALLER_PKG=<(host_uninstaller_name_nospace)',
1177 'BUNDLE_ID_HOST=<(bundle_prefix).<(host_name_nospace)',
1178 'BUNDLE_ID_HOST_SERVICE=<(bundle_prefix).<(host_service_name_nos pace)',
1179 'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_ name_nospace)',
1180 'DMG_VOLUME_NAME=<(host_name) <(version_full)',
1181 'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_fu ll)',
1182 ],
1183 'inputs': [
1184 'host/installer/build-installer-archive.py',
1185 '<@(_source_files)',
1186 ],
1187 'outputs': [
1188 '<(_zip_path)',
1189 ],
1190 'action': [
1191 'python', 'host/installer/build-installer-archive.py',
1192 '<(_temp_dir)',
1193 '<(_zip_path)',
1194 '--source-file-roots', '<@(remoting_host_installer_mac_roots)',
1195 '--source-files', '<@(_source_files)',
1196 '--generated-files', '<@(_generated_files)',
1197 '--generated-files-dst', '<@(_generated_files_dst)',
1198 '--defs', '<@(_defs)',
1199 ],
1200 },
1201 ], # actions
1202 }, # end of target 'remoting_me2me_host_archive'
1203
1204 {
1205 'target_name': 'remoting_host_prefpane',
1206 'type': 'loadable_module',
1207 'mac_bundle': 1,
1208 'product_extension': 'prefPane',
1209 'defines': [
1210 'JSON_USE_EXCEPTION=0',
1211 ],
1212 'dependencies': [
1213 'remoting_infoplist_strings',
1214 ],
1215 'include_dirs': [
1216 '../third_party/jsoncpp/overrides/include/',
1217 '../third_party/jsoncpp/source/include/',
1218 '../third_party/jsoncpp/source/src/lib_json/',
1219 ],
1220
1221 # These source files are included directly, instead of adding target
1222 # dependencies, because the targets are not yet built for 64-bit on
1223 # Mac OS X - http://crbug.com/125116.
1224 #
1225 # TODO(lambroslambrou): Fix this when Chrome supports building for
1226 # Mac OS X 64-bit - http://crbug.com/128122.
1227 'sources': [
1228 '../third_party/jsoncpp/source/src/lib_json/json_reader.cpp',
1229 '../third_party/jsoncpp/overrides/src/lib_json/json_value.cpp',
1230 '../third_party/jsoncpp/source/src/lib_json/json_writer.cpp',
1231 '../third_party/modp_b64/modp_b64.cc',
1232 'host/constants_mac.cc',
1233 'host/constants_mac.h',
1234 'host/host_config.cc',
1235 'host/mac/me2me_preference_pane.h',
1236 'host/mac/me2me_preference_pane.mm',
1237 'host/mac/me2me_preference_pane_confirm_pin.h',
1238 'host/mac/me2me_preference_pane_confirm_pin.mm',
1239 'host/mac/me2me_preference_pane_disable.h',
1240 'host/mac/me2me_preference_pane_disable.mm',
1241 ],
1242 'link_settings': {
1243 'libraries': [
1244 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1245 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
1246 '$(SDKROOT)/System/Library/Frameworks/PreferencePanes.framework',
1247 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
1248 ],
1249 },
1250 'variables': {
1251 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@ MAC_PREFPANE_BUNDLE_ID@")',
1252 },
1253 'xcode_settings': {
1254 'ARCHS': ['i386', 'x86_64'],
1255 'GCC_ENABLE_OBJC_GC': 'supported',
1256 'INFOPLIST_FILE': 'host/mac/me2me_preference_pane-Info.plist',
1257 'INFOPLIST_PREPROCESS': 'YES',
1258 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full) " VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
1259 },
1260 'mac_bundle_resources': [
1261 'host/mac/me2me_preference_pane.xib',
1262 'host/mac/me2me_preference_pane_confirm_pin.xib',
1263 'host/mac/me2me_preference_pane_disable.xib',
1264 'host/mac/me2me_preference_pane-Info.plist',
1265 'resources/chromoting128.png',
1266
1267 # Localized strings for 'Info.plist'
1268 '<!@pymod_do_main(remoting_localize --locale_output '
1269 '"<(SHARED_INTERMEDIATE_DIR)/remoting/me2me_preference_pane-Info Plist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
1270 '--print_only <(remoting_locales))',
1271 ],
1272 'mac_bundle_resources!': [
1273 'host/mac/me2me_preference_pane-Info.plist',
1274 ],
1275 'conditions': [
1276 ['mac_breakpad==1', {
1277 'variables': {
1278 # A real .dSYM is needed for dump_syms to operate on.
1279 'mac_real_dsym': 1,
1280 },
1281 }], # 'mac_breakpad==1'
1282 ], # conditions
1283 }, # end of target 'remoting_host_prefpane'
1284 ], # end of 'targets'
1285 }], # 'OS=="mac"'
1286
1287 ['OS=="win"', {
1288 'targets': [
1289 {
1290 'target_name': 'remoting_breakpad_tester',
1291 'type': 'executable',
1292 'variables': { 'enable_wexit_time_destructors': 1, },
1293 'dependencies': [
1294 '../base/base.gyp:base',
1295 'remoting_host',
1296 ],
1297 'sources': [
1298 'tools/breakpad_tester_win.cc',
1299 ],
1300 }, # end of target 'remoting_breakpad_tester'
1301 {
1302 'target_name': 'remoting_lib_idl',
1303 'type': 'static_library',
1304 'sources': [
1305 'host/win/chromoting_lib_idl.templ',
1306 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.h',
1307 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
1308 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_i.c',
1309 ],
1310 # This target exports a hard dependency because dependent targets may
1311 # include chromoting_lib.h, a generated header.
1312 'hard_dependency': 1,
1313 'msvs_settings': {
1314 'VCMIDLTool': {
1315 'OutputDirectory': '<(SHARED_INTERMEDIATE_DIR)/remoting/host',
1316 },
1317 },
1318 'direct_dependent_settings': {
1319 'include_dirs': [
1320 '<(SHARED_INTERMEDIATE_DIR)',
1321 ],
1322 },
1323 'rules': [
1324 {
1325 'rule_name': 'generate_idl',
1326 'extension': 'templ',
1327 'outputs': [
1328 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
1329 ],
1330 'action': [
1331 'python', '<(version_py_path)',
1332 '-e', "DAEMON_CONTROLLER_CLSID='<(daemon_controller_clsid)'",
1333 '-e', "RDP_DESKTOP_SESSION_CLSID='<(rdp_desktop_session_clsid)'" ,
1334 '<(RULE_INPUT_PATH)',
1335 '<@(_outputs)',
1336 ],
1337 'process_outputs_as_sources': 1,
1338 'message': 'Generating <@(_outputs)',
1339 },
1340 ],
1341 }, # end of target 'remoting_lib_idl'
1342
1343 # remoting_lib_ps builds the proxy/stub code generated by MIDL (see
1344 # remoting_lib_idl).
1345 {
1346 'target_name': 'remoting_lib_ps',
1347 'type': 'static_library',
1348 'defines': [
1349 # Prepend 'Ps' to the MIDL-generated routines. This includes
1350 # DllGetClassObject, DllCanUnloadNow, DllRegisterServer,
1351 # DllUnregisterServer, and DllMain.
1352 'ENTRY_PREFIX=Ps',
1353 'REGISTER_PROXY_DLL',
1354 ],
1355 'dependencies': [
1356 'remoting_lib_idl',
1357 ],
1358 'sources': [
1359 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.dlldata.c',
1360 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_p.c',
1361 ],
1362 }, # end of target 'remoting_lib_ps'
1363
1364 # Regenerates 'chromoting_lib.rc' (used to embed 'chromoting_lib.tlb'
1365 # into remoting_core.dll's resources) every time
1366 # 'chromoting_lib_idl.templ' changes. Making remoting_core depend on
1367 # both this and 'remoting_lib_idl' targets ensures that the resorces
1368 # are rebuilt every time the type library is updated. GYP alone is
1369 # not smart enough to figure out this dependency on its own.
1370 {
1371 'target_name': 'remoting_lib_rc',
1372 'type': 'none',
1373 'sources': [
1374 'host/win/chromoting_lib_idl.templ',
1375 ],
1376 'hard_dependency': 1,
1377 'direct_dependent_settings': {
1378 'include_dirs': [
1379 '<(SHARED_INTERMEDIATE_DIR)',
1380 ],
1381 },
1382 'rules': [
1383 {
1384 'rule_name': 'generate_rc',
1385 'extension': 'templ',
1386 'outputs': [
1387 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1388 ],
1389 'action': [
1390 'echo 1 typelib "remoting/host/chromoting_lib.tlb" > <@(_outputs )',
1391 ],
1392 'message': 'Generating <@(_outputs)',
1393 },
1394 ],
1395 }, # end of target 'remoting_lib_rc'
1396 # The only difference between |remoting_console.exe| and
1397 # |remoting_host.exe| is that the former is a console application.
1398 # |remoting_console.exe| is used for debugging purposes.
1399 {
1400 'target_name': 'remoting_console',
1401 'type': 'executable',
1402 'variables': { 'enable_wexit_time_destructors': 1, },
1403 'defines': [
1404 'BINARY=BINARY_HOST_ME2ME',
1405 ],
1406 'dependencies': [
1407 'remoting_core',
1408 'remoting_windows_resources',
1409 ],
1410 'sources': [
1411 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1412 'host/win/entry_point.cc',
1413 ],
1414 'msvs_settings': {
1415 'VCManifestTool': {
1416 'AdditionalManifestFiles': [
1417 'host/win/dpi_aware.manifest',
1418 ],
1419 },
1420 'VCLinkerTool': {
1421 'EntryPointSymbol': 'HostEntryPoint',
1422 'IgnoreAllDefaultLibraries': 'true',
1423 'SubSystem': '1', # /SUBSYSTEM:CONSOLE
1424 },
1425 },
1426 }, # end of target 'remoting_console'
1427 {
1428 'target_name': 'remoting_core',
1429 'type': 'shared_library',
1430 'variables': { 'enable_wexit_time_destructors': 1, },
1431 'defines' : [
1432 '_ATL_APARTMENT_THREADED',
1433 '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
1434 '_ATL_NO_AUTOMATIC_NAMESPACE',
1435 '_ATL_NO_EXCEPTIONS',
1436 'BINARY=BINARY_CORE',
1437 'DAEMON_CONTROLLER_CLSID="{<(daemon_controller_clsid)}"',
1438 'RDP_DESKTOP_SESSION_CLSID="{<(rdp_desktop_session_clsid)}"',
1439 'HOST_IMPLEMENTATION',
1440 'ISOLATION_AWARE_ENABLED=1',
1441 'STRICT',
1442 'VERSION=<(version_full)',
1443 ],
1444 'dependencies': [
1445 '../base/base.gyp:base',
1446 '../base/base.gyp:base_static',
1447 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations',
1448 '../ipc/ipc.gyp:ipc',
1449 '../net/net.gyp:net',
1450 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
1451 'remoting_base',
1452 'remoting_breakpad',
1453 'remoting_host',
1454 'remoting_host_setup_base',
1455 'remoting_lib_idl',
1456 'remoting_lib_ps',
1457 'remoting_lib_rc',
1458 'remoting_me2me_host_static',
1459 'remoting_native_messaging_base',
1460 'remoting_protocol',
1461 'remoting_windows_resources',
1462 ],
1463 'sources': [
1464 '<(SHARED_INTERMEDIATE_DIR)/remoting/core.rc',
1465 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
1466 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc' ,
1467 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1468 'host/desktop_process_main.cc',
1469 'host/host_main.cc',
1470 'host/host_main.h',
1471 'host/ipc_constants.cc',
1472 'host/ipc_constants.h',
1473 'host/remoting_me2me_host.cc',
1474 'host/sas_injector.h',
1475 'host/sas_injector_win.cc',
1476 'host/setup/me2me_native_messaging_host_main.cc',
1477 'host/verify_config_window_win.cc',
1478 'host/verify_config_window_win.h',
1479 'host/win/chromoting_module.cc',
1480 'host/win/chromoting_module.h',
1481 'host/win/core.cc',
1482 'host/win/core_resource.h',
1483 'host/win/elevated_controller.cc',
1484 'host/win/elevated_controller.h',
1485 'host/win/host_service.cc',
1486 'host/win/host_service.h',
1487 'host/win/omaha.cc',
1488 'host/win/omaha.h',
1489 'host/win/rdp_desktop_session.cc',
1490 'host/win/rdp_desktop_session.h',
1491 'host/win/unprivileged_process_delegate.cc',
1492 'host/win/unprivileged_process_delegate.h',
1493 'host/win/worker_process_launcher.cc',
1494 'host/win/worker_process_launcher.h',
1495 'host/win/wts_session_process_delegate.cc',
1496 'host/win/wts_session_process_delegate.h',
1497 'host/worker_process_ipc_delegate.h',
1498 ],
1499 'msvs_settings': {
1500 'VCManifestTool': {
1501 'EmbedManifest': 'true',
1502 'AdditionalManifestFiles': [
1503 'host/win/common-controls.manifest',
1504 ],
1505 },
1506 'VCLinkerTool': {
1507 'AdditionalDependencies': [
1508 'comctl32.lib',
1509 'rpcns4.lib',
1510 'rpcrt4.lib',
1511 'uuid.lib',
1512 'wtsapi32.lib',
1513 ],
1514 'AdditionalOptions': [
1515 # Export the proxy/stub entry points. Note that the generated
1516 # routines have 'Ps' prefix to avoid conflicts with our own
1517 # DllMain().
1518 '/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE',
1519 '/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE',
1520 '/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE',
1521 '/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE',
1522 ],
1523 },
1524 },
1525 }, # end of target 'remoting_core'
1526 {
1527 'target_name': 'remoting_desktop',
1528 'type': 'executable',
1529 'variables': { 'enable_wexit_time_destructors': 1, },
1530 'defines': [
1531 'BINARY=BINARY_DESKTOP',
1532 ],
1533 'dependencies': [
1534 'remoting_core',
1535 'remoting_windows_resources',
1536 ],
1537 'sources': [
1538 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1539 'host/win/entry_point.cc',
1540 ],
1541 'msvs_settings': {
1542 'VCManifestTool': {
1543 'AdditionalManifestFiles': [
1544 'host/win/dpi_aware.manifest',
1545 ],
1546 },
1547 'VCLinkerTool': {
1548 'EnableUAC': 'true',
1549 # Add 'level="requireAdministrator" uiAccess="true"' to
1550 # the manifest only for the official builds because it requires
1551 # the binary to be signed to work.
1552 'conditions': [
1553 ['buildtype == "Official"', {
1554 'UACExecutionLevel': 2,
1555 'UACUIAccess': 'true',
1556 }],
1557 ],
1558 'EntryPointSymbol': 'HostEntryPoint',
1559 'IgnoreAllDefaultLibraries': 'true',
1560 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1561 },
1562 },
1563 }, # end of target 'remoting_desktop'
1564 {
1565 'target_name': 'remoting_host_exe',
1566 'product_name': 'remoting_host',
1567 'type': 'executable',
1568 'variables': { 'enable_wexit_time_destructors': 1, },
1569 'defines': [
1570 'BINARY=BINARY_HOST_ME2ME',
1571 ],
1572 'dependencies': [
1573 'remoting_core',
1574 'remoting_windows_resources',
1575 ],
1576 'sources': [
1577 '<(SHARED_INTERMEDIATE_DIR)/remoting/version.rc',
1578 'host/win/entry_point.cc',
1579 ],
1580 'msvs_settings': {
1581 'VCManifestTool': {
1582 'AdditionalManifestFiles': [
1583 'host/win/dpi_aware.manifest',
1584 ],
1585 },
1586 'VCLinkerTool': {
1587 'EntryPointSymbol': 'HostEntryPoint',
1588 'IgnoreAllDefaultLibraries': 'true',
1589 'ImportLibrary': '$(OutDir)\\lib\\remoting_host_exe.lib',
1590 'OutputFile': '$(OutDir)\\remoting_host.exe',
1591 'SubSystem': '2', # /SUBSYSTEM:WINDOWS
1592 },
1593 },
1594 }, # end of target 'remoting_host_exe'
1595 {
1596 'target_name': 'remoting_host_messages',
1597 'type': 'none',
1598 'dependencies': [
1599 'remoting_resources',
1600 ],
1601 'hard_dependency': 1,
1602 'direct_dependent_settings': {
1603 'include_dirs': [
1604 '<(SHARED_INTERMEDIATE_DIR)',
1605 ],
1606 },
1607 'sources': [
1608 'host/win/host_messages.mc.jinja2'
1609 ],
1610 'rules': [
1611 {
1612 'rule_name': 'localize',
1613 'extension': 'jinja2',
1614 'outputs': [
1615 '<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages .mc',
1616 ],
1617 'action': [
1618 'python', '<(remoting_localize_path)',
1619 '--locale_dir', '<(webapp_locale_dir)',
1620 '--template', '<(RULE_INPUT_PATH)',
1621 '--output', '<@(_outputs)',
1622 '--encoding', 'utf-16',
1623 '<@(remoting_locales)',
1624 ],
1625 'message': 'Localizing the event log messages'
1626 },
1627 ],
1628 }, # end of target 'remoting_host_messages'
1629
1630 # Generates localized resources for the Windows binaries.
1631 # The substitution strings are taken from:
1632 # - build/util/LASTCHANGE - the last source code revision.
1633 # - chrome/VERSION - the major, build & patch versions.
1634 # - remoting/VERSION - the chromoting patch version (and overrides
1635 # for chrome/VERSION).
1636 # - translated webapp strings
1637 {
1638 'target_name': 'remoting_windows_resources',
1639 'type': 'none',
1640 'dependencies': [
1641 'remoting_resources',
1642 ],
1643 'hard_dependency': 1,
1644 'direct_dependent_settings': {
1645 'include_dirs': [
1646 '<(SHARED_INTERMEDIATE_DIR)',
1647 ],
1648 },
1649 'sources': [
1650 'host/win/core.rc.jinja2',
1651 'host/win/version.rc.jinja2',
1652 ],
1653 'rules': [
1654 {
1655 'rule_name': 'version',
1656 'extension': 'jinja2',
1657 'variables': {
1658 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
1659 },
1660 'inputs': [
1661 '<(chrome_version_path)',
1662 '<(lastchange_path)',
1663 '<(remoting_version_path)',
1664 '<(RULE_INPUT_PATH)',
1665 ],
1666 'outputs': [
1667 '<(SHARED_INTERMEDIATE_DIR)/remoting/<(RULE_INPUT_ROOT)',
1668 ],
1669 'action': [
1670 'python', '<(remoting_localize_path)',
1671 '--variables', '<(chrome_version_path)',
1672 # |remoting_version_path| must be after |chrome_version_path|
1673 # because it can contain overrides for the version numbers.
1674 '--variables', '<(remoting_version_path)',
1675 '--variables', '<(lastchange_path)',
1676 '--locale_dir', '<(webapp_locale_dir)',
1677 '--template', '<(RULE_INPUT_PATH)',
1678 '--output', '<@(_outputs)',
1679 '--encoding', 'utf-16',
1680 '<@(remoting_locales)',
1681 ],
1682 'message': 'Localizing the version information'
1683 },
1684 ],
1685 }, # end of target 'remoting_windows_resources'
1686 ], # end of 'targets'
1687 }], # 'OS=="win"'
1688
1689 # The host installation is generated only if WiX is available. If
1690 # component build is used the produced installation will not work due to
1691 # missing DLLs. We build it anyway to make sure the GYP scripts are executed
1692 # by the bots.
1693 ['OS == "win" and wix_exists == "True" and sas_dll_exists == "True"', {
1694 'targets': [
1695 {
1696 'target_name': 'remoting_host_installation',
1697 'type': 'none',
1698 'dependencies': [
1699 'remoting_me2me_host_archive',
1700 ],
1701 'sources': [
1702 '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1703 ],
1704 'outputs': [
1705 '<(PRODUCT_DIR)/chromoting.msi',
1706 ],
1707 'rules': [
1708 {
1709 'rule_name': 'zip2msi',
1710 'extension': 'zip',
1711 'inputs': [
1712 'tools/zip2msi.py',
1713 ],
1714 'outputs': [
1715 '<(PRODUCT_DIR)/chromoting.msi',
1716 ],
1717 'action': [
1718 'python', 'tools/zip2msi.py',
1719 '--wix_path', '<(wix_path)',
1720 '--intermediate_dir', '<(INTERMEDIATE_DIR)/installation',
1721 '<(RULE_INPUT_PATH)',
1722 '<@(_outputs)',
1723 ],
1724 'message': 'Generating <@(_outputs)',
1725 },
1726 ],
1727 }, # end of target 'remoting_host_installation'
1728
1729 {
1730 'target_name': 'remoting_me2me_host_archive',
1731 'type': 'none',
1732 'dependencies': [
1733 '<(icu_gyp_path):icudata',
1734 'remoting_core',
1735 'remoting_desktop',
1736 'remoting_host_exe',
1737 'remoting_native_messaging_manifests',
1738 ],
1739 'compiled_inputs': [
1740 '<(PRODUCT_DIR)/remoting_core.dll',
1741 '<(PRODUCT_DIR)/remoting_desktop.exe',
1742 '<(PRODUCT_DIR)/remoting_host.exe',
1743 ],
1744 'compiled_inputs_dst': [
1745 'files/remoting_core.dll',
1746 'files/remoting_desktop.exe',
1747 'files/remoting_host.exe',
1748 ],
1749 'conditions': [
1750 ['buildtype == "Official"', {
1751 'defs': [
1752 'OFFICIAL_BUILD=1',
1753 ],
1754 }, { # else buildtype != "Official"
1755 'defs': [
1756 'OFFICIAL_BUILD=0',
1757 ],
1758 }],
1759 ],
1760 'defs': [
1761 'BRANDING=<(branding)',
1762 'DAEMON_CONTROLLER_CLSID={<(daemon_controller_clsid)}',
1763 'RDP_DESKTOP_SESSION_CLSID={<(rdp_desktop_session_clsid)}',
1764 'VERSION=<(version_full)',
1765 ],
1766 'generated_files': [
1767 '<@(_compiled_inputs)',
1768 '<(sas_dll_path)/sas.dll',
1769 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
1770 'resources/chromoting.ico',
1771 '<(PRODUCT_DIR)/icudtl.dat',
1772 ],
1773 'generated_files_dst': [
1774 '<@(_compiled_inputs_dst)',
1775 'files/sas.dll',
1776 'files/com.google.chrome.remote_desktop.json',
1777 'files/chromoting.ico',
1778 'files/icudtl.dat',
1779 ],
1780 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
1781 'outputs': [
1782 '<(_zip_path)',
1783 ],
1784 'actions': [
1785 {
1786 'action_name': 'Zip installer files for signing',
1787 'temp_dir': '<(INTERMEDIATE_DIR)/installation',
1788 'source_files': [
1789 '<@(remoting_host_installer_win_files)',
1790 ],
1791 'inputs': [
1792 '<@(_compiled_inputs)',
1793 '<(sas_dll_path)/sas.dll',
1794 '<@(_source_files)',
1795 'host/installer/build-installer-archive.py',
1796 'resources/chromoting.ico',
1797 ],
1798 'outputs': [
1799 '<(_zip_path)',
1800 ],
1801 'action': [
1802 'python', 'host/installer/build-installer-archive.py',
1803 '<(_temp_dir)',
1804 '<(_zip_path)',
1805 '--source-file-roots', '<@(remoting_host_installer_win_roots)',
1806 '--source-files', '<@(_source_files)',
1807 '--generated-files', '<@(_generated_files)',
1808 '--generated-files-dst', '<@(_generated_files_dst)',
1809 '--defs', '<@(_defs)',
1810 ],
1811 },
1812 ], # actions
1813 }, # end of target 'remoting_me2me_host_archive'
1814 ], # end of 'targets'
1815 }], # '<(wix_path) != ""'
1816
1817 ], # end of 'conditions'
1818
1819 'targets': [ 121 'targets': [
1820 { 122 {
1821 'target_name': 'remoting_breakpad', 123 'target_name': 'remoting_breakpad',
1822 'type': 'static_library', 124 'type': 'static_library',
1823 'variables': { 'enable_wexit_time_destructors': 1, }, 125 'variables': { 'enable_wexit_time_destructors': 1, },
1824 'dependencies': [ 126 'dependencies': [
1825 '../base/base.gyp:base', 127 '../base/base.gyp:base',
1826 ], 128 ],
1827 'sources': [ 129 'sources': [
1828 'base/breakpad.h', 130 'base/breakpad.h',
1829 'base/breakpad_linux.cc', 131 'base/breakpad_linux.cc',
1830 'base/breakpad_mac.mm', 132 'base/breakpad_mac.mm',
1831 'base/breakpad_win.cc', 133 'base/breakpad_win.cc',
1832 ], 134 ],
1833 'conditions': [ 135 'conditions': [
1834 ['OS=="mac"', { 136 ['OS=="mac"', {
1835 'dependencies': [ 137 'dependencies': [
1836 '../breakpad/breakpad.gyp:breakpad', 138 '../breakpad/breakpad.gyp:breakpad',
1837 ], 139 ],
1838 }], 140 }],
1839 ['OS=="win"', { 141 ['OS=="win"', {
1840 'dependencies': [ 142 'dependencies': [
1841 '../breakpad/breakpad.gyp:breakpad_handler', 143 '../breakpad/breakpad.gyp:breakpad_handler',
1842 ], 144 ],
1843 }], 145 }],
1844 ], 146 ],
1845 }, # end of target 'remoting_breakpad' 147 }, # end of target 'remoting_breakpad'
1846 148
1847 { 149 # TODO(garykac): This target should be moved into remoting_client.gypi.
1848 'target_name': 'remoting_client_plugin', 150 # It can't currently because of an issue with GYP where initialized
1849 'type': 'static_library', 151 # path variables in gypi includes cause a GYP failure.
1850 'variables': { 'enable_wexit_time_destructors': 1, }, 152 # See crrev.com/15968005 and crrev.com/15972007 for context.
1851 'defines': [
1852 'HAVE_STDINT_H', # Required by on2_integer.h
1853 ],
1854 'dependencies': [
1855 '../net/net.gyp:net',
1856 '../ppapi/ppapi.gyp:ppapi_cpp_objects',
1857 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
1858 '../ui/events/events.gyp:dom4_keycode_converter',
1859 'remoting_base',
1860 'remoting_client',
1861 'remoting_protocol',
1862 ],
1863 'sources': [
1864 'client/plugin/chromoting_instance.cc',
1865 'client/plugin/chromoting_instance.h',
1866 'client/plugin/delegating_signal_strategy.cc',
1867 'client/plugin/delegating_signal_strategy.h',
1868 'client/plugin/normalizing_input_filter.cc',
1869 'client/plugin/normalizing_input_filter.h',
1870 'client/plugin/normalizing_input_filter_cros.cc',
1871 'client/plugin/normalizing_input_filter_mac.cc',
1872 'client/plugin/pepper_audio_player.cc',
1873 'client/plugin/pepper_audio_player.h',
1874 'client/plugin/pepper_entrypoints.cc',
1875 'client/plugin/pepper_entrypoints.h',
1876 'client/plugin/pepper_input_handler.cc',
1877 'client/plugin/pepper_input_handler.h',
1878 'client/plugin/pepper_network_manager.cc',
1879 'client/plugin/pepper_network_manager.h',
1880 'client/plugin/pepper_packet_socket_factory.cc',
1881 'client/plugin/pepper_packet_socket_factory.h',
1882 'client/plugin/pepper_plugin_thread_delegate.cc',
1883 'client/plugin/pepper_plugin_thread_delegate.h',
1884 'client/plugin/pepper_port_allocator.cc',
1885 'client/plugin/pepper_port_allocator.h',
1886 'client/plugin/pepper_token_fetcher.cc',
1887 'client/plugin/pepper_token_fetcher.h',
1888 'client/plugin/pepper_util.cc',
1889 'client/plugin/pepper_util.h',
1890 'client/plugin/pepper_view.cc',
1891 'client/plugin/pepper_view.h',
1892 ],
1893 'conditions' : [
1894 [ 'chromeos==0', {
1895 'sources!': [
1896 'client/plugin/normalizing_input_filter_cros.cc',
1897 ],
1898 }],
1899 ],
1900 }, # end of target 'remoting_client_plugin'
1901
1902 { 153 {
1903 'target_name': 'remoting_webapp', 154 'target_name': 'remoting_webapp',
1904 'type': 'none', 155 'type': 'none',
1905 'variables': { 156 'variables': {
1906 'remoting_webapp_patch_files': [ 157 'remoting_webapp_patch_files': [
1907 'webapp/appsv2.patch', 158 'webapp/appsv2.patch',
1908 ], 159 ],
1909 'remoting_webapp_apps_v2_js_files': [ 160 'remoting_webapp_apps_v2_js_files': [
1910 'webapp/background.js', 161 'webapp/background.js',
1911 ], 162 ],
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
2190 'codec/video_decoder_vpx.h', 441 'codec/video_decoder_vpx.h',
2191 'codec/video_encoder.h', 442 'codec/video_encoder.h',
2192 'codec/video_encoder_verbatim.cc', 443 'codec/video_encoder_verbatim.cc',
2193 'codec/video_encoder_verbatim.h', 444 'codec/video_encoder_verbatim.h',
2194 'codec/video_encoder_vpx.cc', 445 'codec/video_encoder_vpx.cc',
2195 'codec/video_encoder_vpx.h', 446 'codec/video_encoder_vpx.h',
2196 ], 447 ],
2197 }, # end of target 'remoting_base' 448 }, # end of target 'remoting_base'
2198 449
2199 { 450 {
2200 'target_name': 'remoting_client',
2201 'type': 'static_library',
2202 'variables': { 'enable_wexit_time_destructors': 1, },
2203 'dependencies': [
2204 'remoting_base',
2205 'remoting_protocol',
2206 '../third_party/libyuv/libyuv.gyp:libyuv',
2207 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2208 ],
2209 'sources': [
2210 'client/audio_decode_scheduler.cc',
2211 'client/audio_decode_scheduler.h',
2212 'client/audio_player.cc',
2213 'client/audio_player.h',
2214 'client/chromoting_client.cc',
2215 'client/chromoting_client.h',
2216 'client/chromoting_stats.cc',
2217 'client/chromoting_stats.h',
2218 'client/client_config.cc',
2219 'client/client_config.h',
2220 'client/client_context.cc',
2221 'client/client_context.h',
2222 'client/client_user_interface.h',
2223 'client/frame_consumer.h',
2224 'client/frame_consumer_proxy.cc',
2225 'client/frame_consumer_proxy.h',
2226 'client/frame_producer.h',
2227 'client/key_event_mapper.cc',
2228 'client/key_event_mapper.h',
2229 'client/software_video_renderer.cc',
2230 'client/software_video_renderer.h',
2231 'client/video_renderer.h',
2232 ],
2233 }, # end of target 'remoting_client'
2234
2235 {
2236 'target_name': 'remoting_protocol', 451 'target_name': 'remoting_protocol',
2237 'type': 'static_library', 452 'type': 'static_library',
2238 'variables': { 'enable_wexit_time_destructors': 1, }, 453 'variables': { 'enable_wexit_time_destructors': 1, },
2239 'dependencies': [ 454 'dependencies': [
2240 '../base/base.gyp:base', 455 '../base/base.gyp:base',
2241 '../crypto/crypto.gyp:crypto', 456 '../crypto/crypto.gyp:crypto',
2242 '../jingle/jingle.gyp:jingle_glue', 457 '../jingle/jingle.gyp:jingle_glue',
2243 '../jingle/jingle.gyp:notifier', 458 '../jingle/jingle.gyp:notifier',
2244 '../net/net.gyp:net', 459 '../net/net.gyp:net',
2245 '../third_party/libjingle/libjingle.gyp:libjingle', 460 '../third_party/libjingle/libjingle.gyp:libjingle',
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2363 'protocol/third_party_host_authenticator.h', 578 'protocol/third_party_host_authenticator.h',
2364 'protocol/v2_authenticator.cc', 579 'protocol/v2_authenticator.cc',
2365 'protocol/v2_authenticator.h', 580 'protocol/v2_authenticator.h',
2366 'protocol/video_reader.cc', 581 'protocol/video_reader.cc',
2367 'protocol/video_reader.h', 582 'protocol/video_reader.h',
2368 'protocol/video_stub.h', 583 'protocol/video_stub.h',
2369 'protocol/video_writer.cc', 584 'protocol/video_writer.cc',
2370 'protocol/video_writer.h', 585 'protocol/video_writer.h',
2371 ], 586 ],
2372 }, # end of target 'remoting_protocol' 587 }, # end of target 'remoting_protocol'
2373
2374 # Remoting unit tests
2375 {
2376 'target_name': 'remoting_unittests',
2377 'type': '<(gtest_target_type)',
2378 'dependencies': [
2379 '../base/base.gyp:base',
2380 '../base/base.gyp:base_i18n',
2381 '../base/base.gyp:test_support_base',
2382 '../ipc/ipc.gyp:ipc',
2383 '../net/net.gyp:net_test_support',
2384 '../ppapi/ppapi.gyp:ppapi_cpp',
2385 '../testing/gmock.gyp:gmock',
2386 '../testing/gtest.gyp:gtest',
2387 '../third_party/webrtc/modules/modules.gyp:desktop_capture',
2388 '../ui/gfx/gfx.gyp:gfx',
2389 '../ui/gfx/gfx.gyp:gfx_geometry',
2390 '../ui/ui.gyp:ui',
2391 'remoting_base',
2392 'remoting_breakpad',
2393 'remoting_client',
2394 'remoting_client_plugin',
2395 'remoting_host',
2396 'remoting_host_setup_base',
2397 'remoting_it2me_host_static',
2398 'remoting_native_messaging_base',
2399 'remoting_protocol',
2400 'remoting_resources',
2401 ],
2402 'defines': [
2403 'VERSION=<(version_full)',
2404 ],
2405 'include_dirs': [
2406 '../testing/gmock/include',
2407 ],
2408 'sources': [
2409 '../chrome/test/base/run_all_remoting_unittests.cc',
2410 'base/auth_token_util_unittest.cc',
2411 'base/auto_thread_task_runner_unittest.cc',
2412 'base/auto_thread_unittest.cc',
2413 'base/breakpad_win_unittest.cc',
2414 'base/capabilities_unittest.cc',
2415 'base/compound_buffer_unittest.cc',
2416 'base/rate_counter_unittest.cc',
2417 'base/resources_unittest.cc',
2418 'base/rsa_key_pair_unittest.cc',
2419 'base/running_average_unittest.cc',
2420 'base/test_rsa_key_pair.h',
2421 'base/typed_buffer_unittest.cc',
2422 'base/util_unittest.cc',
2423 'client/audio_player_unittest.cc',
2424 'client/key_event_mapper_unittest.cc',
2425 'client/plugin/normalizing_input_filter_cros_unittest.cc',
2426 'client/plugin/normalizing_input_filter_mac_unittest.cc',
2427 'codec/audio_encoder_opus_unittest.cc',
2428 'codec/codec_test.cc',
2429 'codec/codec_test.h',
2430 'codec/video_decoder_vpx_unittest.cc',
2431 'codec/video_encoder_verbatim_unittest.cc',
2432 'codec/video_encoder_vpx_unittest.cc',
2433 'host/audio_silence_detector_unittest.cc',
2434 'host/branding.cc',
2435 'host/branding.h',
2436 'host/capture_scheduler_unittest.cc',
2437 'host/chromoting_host_context_unittest.cc',
2438 'host/chromoting_host_unittest.cc',
2439 'host/client_session_unittest.cc',
2440 'host/config_file_watcher_unittest.cc',
2441 'host/daemon_process_unittest.cc',
2442 'host/desktop_process_unittest.cc',
2443 'host/desktop_shape_tracker_unittest.cc',
2444 'host/heartbeat_sender_unittest.cc',
2445 'host/host_change_notification_listener_unittest.cc',
2446 'host/host_mock_objects.cc',
2447 'host/host_status_monitor_fake.h',
2448 'host/host_status_sender_unittest.cc',
2449 'host/ipc_desktop_environment_unittest.cc',
2450 'host/it2me/it2me_native_messaging_host_unittest.cc',
2451 'host/json_host_config_unittest.cc',
2452 'host/linux/x_server_clipboard_unittest.cc',
2453 'host/local_input_monitor_unittest.cc',
2454 'host/log_to_server_unittest.cc',
2455 'host/native_messaging/native_messaging_reader_unittest.cc',
2456 'host/native_messaging/native_messaging_writer_unittest.cc',
2457 'host/pairing_registry_delegate_linux_unittest.cc',
2458 'host/pairing_registry_delegate_win_unittest.cc',
2459 'host/pin_hash_unittest.cc',
2460 'host/policy_hack/fake_policy_watcher.cc',
2461 'host/policy_hack/fake_policy_watcher.h',
2462 'host/policy_hack/mock_policy_callback.cc',
2463 'host/policy_hack/mock_policy_callback.h',
2464 'host/policy_hack/policy_watcher_unittest.cc',
2465 'host/register_support_host_request_unittest.cc',
2466 'host/remote_input_filter_unittest.cc',
2467 'host/resizing_host_observer_unittest.cc',
2468 'host/screen_capturer_fake.cc',
2469 'host/screen_capturer_fake.h',
2470 'host/screen_resolution_unittest.cc',
2471 'host/server_log_entry_unittest.cc',
2472 'host/setup/me2me_native_messaging_host_unittest.cc',
2473 'host/setup/oauth_helper_unittest.cc',
2474 'host/setup/pin_validator_unittest.cc',
2475 'host/shaped_screen_capturer_unittest.cc',
2476 'host/token_validator_factory_impl_unittest.cc',
2477 'host/video_scheduler_unittest.cc',
2478 'host/win/rdp_client_unittest.cc',
2479 'host/win/worker_process_launcher.cc',
2480 'host/win/worker_process_launcher.h',
2481 'host/win/worker_process_launcher_unittest.cc',
2482 'jingle_glue/chromium_socket_factory_unittest.cc',
2483 'jingle_glue/fake_signal_strategy.cc',
2484 'jingle_glue/fake_signal_strategy.h',
2485 'jingle_glue/iq_sender_unittest.cc',
2486 'jingle_glue/mock_objects.cc',
2487 'jingle_glue/mock_objects.h',
2488 'protocol/authenticator_test_base.cc',
2489 'protocol/authenticator_test_base.h',
2490 'protocol/buffered_socket_writer_unittest.cc',
2491 'protocol/channel_multiplexer_unittest.cc',
2492 'protocol/clipboard_echo_filter_unittest.cc',
2493 'protocol/clipboard_filter_unittest.cc',
2494 'protocol/connection_tester.cc',
2495 'protocol/connection_tester.h',
2496 'protocol/connection_to_client_unittest.cc',
2497 'protocol/content_description_unittest.cc',
2498 'protocol/fake_authenticator.cc',
2499 'protocol/fake_authenticator.h',
2500 'protocol/fake_session.cc',
2501 'protocol/fake_session.h',
2502 'protocol/input_event_tracker_unittest.cc',
2503 'protocol/input_filter_unittest.cc',
2504 'protocol/jingle_messages_unittest.cc',
2505 'protocol/jingle_session_unittest.cc',
2506 'protocol/message_decoder_unittest.cc',
2507 'protocol/message_reader_unittest.cc',
2508 'protocol/mouse_input_filter_unittest.cc',
2509 'protocol/negotiating_authenticator_unittest.cc',
2510 'protocol/pairing_registry_unittest.cc',
2511 'protocol/ppapi_module_stub.cc',
2512 'protocol/protocol_mock_objects.cc',
2513 'protocol/protocol_mock_objects.h',
2514 'protocol/ssl_hmac_channel_authenticator_unittest.cc',
2515 'protocol/third_party_authenticator_unittest.cc',
2516 'protocol/v2_authenticator_unittest.cc',
2517 ],
2518 'conditions': [
2519 [ 'OS=="win"', {
2520 'defines': [
2521 '_ATL_NO_EXCEPTIONS',
2522 ],
2523 'include_dirs': [
2524 '../breakpad/src',
2525 ],
2526 'link_settings': {
2527 'libraries': [
2528 '-lrpcrt4.lib',
2529 '-lwtsapi32.lib',
2530 ],
2531 },
2532 }],
2533 [ 'OS=="mac" or (OS=="linux" and chromeos==0)', {
2534 # Javascript unittests are disabled on CrOS because they cause
2535 # valgrind and test errors.
2536 #
2537 # Javascript unittests are disabled on Windows because they add a
2538 # dependency on 'common_constants' which (only on Windows) requires
2539 # additional dependencies:
2540 # '../content/content.gyp:content_common',
2541 # 'installer_util',
2542 # These targets are defined in .gypi files that would need to be
2543 # included here:
2544 # '../chrome/chrome_common.gypi',
2545 # '../chrome/chrome_installer.gypi',
2546 # '../chrome/chrome_installer_util.gypi',
2547 # But we can't do that because ninja will complain about multiple
2548 # target definitions.
2549 # TODO(garykac): Move installer_util into a proper .gyp file so that
2550 # it can be included in multiple .gyp files.
2551 'includes': [
2552 '../chrome/js_unittest_rules.gypi',
2553 ],
2554 'dependencies': [
2555 '../chrome/common_constants.gyp:common_constants',
2556 '../v8/tools/gyp/v8.gyp:v8',
2557 ],
2558 'sources': [
2559 '../chrome/test/base/v8_unit_test.cc',
2560 '../chrome/test/base/v8_unit_test.h',
2561 'webapp/browser_globals.gtestjs',
2562 'webapp/all_js_load.gtestjs',
2563 'webapp/format_iq.gtestjs',
2564 '<@(remoting_webapp_js_files)',
2565 ],
2566 }],
2567 [ 'OS=="android"', {
2568 'dependencies!': [
2569 'remoting_client_plugin',
2570 ],
2571 }],
2572 [ 'OS=="android" and gtest_target_type=="shared_library"', {
2573 'dependencies': [
2574 '../testing/android/native_test.gyp:native_test_native_code',
2575 ],
2576 }],
2577 [ 'chromeos==0', {
2578 'sources!': [
2579 'client/plugin/normalizing_input_filter_cros_unittest.cc',
2580 ],
2581 }],
2582 ['enable_remoting_host == 0', {
2583 'dependencies!': [
2584 'remoting_host',
2585 'remoting_host_setup_base',
2586 'remoting_it2me_host_static',
2587 'remoting_native_messaging_base',
2588 ],
2589 'sources/': [
2590 ['exclude', '^codec/'],
2591 ['exclude', '^host/'],
2592 ['exclude', '^base/resources_unittest\\.cc$'],
2593 ]
2594 }],
2595 ['toolkit_uses_gtk == 1', {
2596 'dependencies': [
2597 # Needed for the following #include chain:
2598 # base/run_all_unittests.cc
2599 # ../base/test_suite.h
2600 # gtk/gtk.h
2601 '../build/linux/system.gyp:gtk',
2602 '../build/linux/system.gyp:ssl',
2603 ],
2604 'conditions': [
2605 [ 'linux_use_tcmalloc==1', {
2606 'dependencies': [
2607 '../base/allocator/allocator.gyp:allocator',
2608 ],
2609 },
2610 ],
2611 ],
2612 }], # end of 'toolkit_uses_gtk == 1'
2613 ], # end of 'conditions'
2614 }, # end of target 'remoting_unittests'
2615 ], # end of targets 588 ], # end of targets
2616 } 589 }
OLDNEW
« no previous file with comments | « no previous file | remoting/remoting_client.gypi » ('j') | remoting/remoting_client.gypi » ('J')

Powered by Google App Engine
This is Rietveld 408576698