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

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

Powered by Google App Engine
This is Rietveld 408576698