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

Side by Side Diff: remoting/host/BUILD.gn

Issue 2034513002: Adding mac support for Remoting host GN builds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « remoting/BUILD.gn ('k') | remoting/host/constants_mac.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 import("//build/config/features.gni") 5 import("//build/config/features.gni")
6 import("//build/config/ui.gni") 6 import("//build/config/ui.gni")
7 import("//build/config/win/manifest.gni") 7 import("//build/config/win/manifest.gni")
8 import("//build/util/version.gni") 8 import("//build/util/version.gni")
9 import("//chrome/version.gni")
nicholss 2016/06/10 16:40:30 See this file for where some of the old vars had b
9 import("//remoting/remoting_enable.gni") 10 import("//remoting/remoting_enable.gni")
10 import("//remoting/remoting_locales.gni") 11 import("//remoting/remoting_locales.gni")
11 import("//remoting/remoting_options.gni") 12 import("//remoting/remoting_options.gni")
12 import("//remoting/remoting_srcs.gni") 13 import("//remoting/remoting_srcs.gni")
13 import("//remoting/remoting_version.gni") 14 import("//remoting/remoting_version.gni")
14 import("//remoting/tools/build/remoting_localize.gni") 15 import("//remoting/tools/build/remoting_localize.gni")
15 16
17 process_version("remoting_version") {
18 template_file = "//remoting/host/version.h.in"
19 sources = [
20 branding_path,
21 ]
22 output = "$target_gen_dir/host/version.h"
23 }
24
16 if (is_win) { 25 if (is_win) {
17 import("//remoting/host/predefines_win.gni") 26 import("//remoting/host/predefines_win.gni")
18 } 27 }
19 28
20 # Reference this manifest to indicate that a process is per-monitor DPI aware. 29 # Reference this manifest to indicate that a process is per-monitor DPI aware.
21 dpi_aware_manifest = "//remoting/host/win/dpi_aware.manifest" 30 dpi_aware_manifest = "//remoting/host/win/dpi_aware.manifest"
22 31
23 # Depending on this target gives a default executable manifest with the addition 32 # Depending on this target gives a default executable manifest with the addition
24 # of the DPI aware tag. 33 # of the DPI aware tag.
25 windows_manifest("dpi_aware_exe_manifest") { 34 windows_manifest("dpi_aware_exe_manifest") {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 args = [ 74 args = [
66 "credits", 75 "credits",
67 rebase_path(about_credits_file, root_build_dir), 76 rebase_path(about_credits_file, root_build_dir),
68 "--file-template", 77 "--file-template",
69 rebase_path("installer/credits.tmpl", root_build_dir), 78 rebase_path("installer/credits.tmpl", root_build_dir),
70 "--entry-template", 79 "--entry-template",
71 rebase_path("installer/credits_entry.tmpl", root_build_dir), 80 rebase_path("installer/credits_entry.tmpl", root_build_dir),
72 ] 81 ]
73 } 82 }
74 83
75 if (is_mac) { 84 # This must be a static library instead of a source set because
76 # TODO(GYP) Mac build of remoting host, https://crbug.com/611859 85 # remoting_unittests requires that remoting_me2me_host.cc not be pulled in,
77 # If you fix this, also enable in //remoting/remoting_enable.gni 86 # which in turn depends on remoting_me2me_host_static which isn't part of that
78 # on mac. 87 # build.
79 group("host") { 88 #
80 } 89 # TODO fix this, successful builds should not depend on static libraries
81 group("test_support") { 90 # stripping code.
82 } 91 static_library("host") {
83 group("unit_tests") { 92 sources = rebase_path(remoting_host_srcs_gypi_values.remoting_host_sources,
84 } 93 ".",
85 } else { 94 "//remoting")
86 # This must be a static library instead of a source set because 95
87 # remoting_unittests requires that remoting_me2me_host.cc not be pulled in, 96 libs = []
88 # which in turn depends on remoting_me2me_host_static which isn't part of that 97
89 # build. 98 configs += [
90 # 99 "//build/config/compiler:wexit_time_destructors",
91 # TODO fix this, successful builds should not depend on static libraries 100 "//remoting:version",
92 # stripping code. 101 ]
93 static_library("host") { 102
94 sources = rebase_path(remoting_host_srcs_gypi_values.remoting_host_sources, 103 defines = [ "WEBRTC_CHROMIUM_BUILD" ]
95 ".", 104
96 "//remoting") 105 deps = [
97 106 "//base:i18n",
98 libs = [] 107 "//components/policy:policy_component_common",
99 108 "//crypto",
109 "//google_apis",
110 "//ipc",
111 "//remoting/base",
112 "//remoting/protocol",
113 "//remoting/resources",
114 "//ui/base",
115 "//ui/events:dom_keycode_converter",
116 "//ui/events/platform",
117 ]
118
119 if (enable_configuration_policy) {
120 deps += [ "//components/policy:policy" ]
121 }
122
123 if (is_linux && !is_chromeos) {
124 libs += [ "pam" ]
125 }
126
127 if (use_x11) {
100 configs += [ 128 configs += [
101 "//build/config/compiler:wexit_time_destructors", 129 "//build/config/linux:x11",
102 "//remoting:version", 130 "//build/config/linux:xrandr",
103 ] 131 ]
104 132 if (is_desktop_linux) {
105 defines = [ "WEBRTC_CHROMIUM_BUILD" ] 133 deps += [ "//build/config/linux/gtk2" ]
106 134 }
107 deps = [ 135 } else {
108 "//base:i18n", 136 sources -= [
109 "//components/policy:policy_component_common", 137 "clipboard_x11.cc",
110 "//crypto", 138 "desktop_resizer_x11.cc",
111 "//google_apis", 139 "input_injector_x11.cc",
112 "//ipc", 140 "local_input_monitor_x11.cc",
113 "//remoting/base", 141 ]
114 "//remoting/protocol", 142 if (is_linux) {
115 "//remoting/resources", 143 # These will already be filtered out on non-Linux.
116 "//ui/base", 144 sources -= [
117 "//ui/events:dom_keycode_converter", 145 "linux/unicode_to_keysym.cc",
118 "//ui/events/platform", 146 "linux/x11_util.cc",
119 ] 147 "linux/x_server_clipboard.cc",
120 148 "linux/x_server_clipboard.h",
121 if (enable_configuration_policy) { 149 ]
122 deps += [ "//components/policy:policy" ] 150 }
123 } 151 }
124 152
125 if (is_linux && !is_chromeos) { 153 if (!use_ozone) {
126 libs += [ "pam" ] 154 sources -= [ "desktop_resizer_ozone.cc" ]
127 } 155 }
128 156
129 if (use_x11) { 157 if (is_chromeos) {
130 configs += [ 158 # TODO(GYP): crbug.com/481627. These should only be included
131 "//build/config/linux:x11", 159 # when enable_me2me_host is true.
132 "//build/config/linux:xrandr", 160 sources -= [
133 ] 161 "me2me_desktop_environment.cc",
134 if (is_desktop_linux) { 162 "me2me_desktop_environment.h",
135 deps += [ "//build/config/linux/gtk2" ] 163 ]
136 } 164 deps += [
165 "//cc",
166 "//gpu/command_buffer/common",
167 "//ppapi/host",
168 "//skia",
169 "//ui/aura",
170 "//ui/compositor",
171 "//ui/events",
172 "//ui/views",
173 ]
174
175 if (use_ash) {
176 deps += [ "//ash" ]
177 }
178
179 if (use_ozone) {
180 deps += [ "//ui/ozone" ]
181 sources -= [ "desktop_resizer_ozone.cc" ]
137 } else { 182 } else {
138 sources -= [ 183 sources -= [
139 "clipboard_x11.cc", 184 "clipboard_x11.cc",
140 "desktop_resizer_x11.cc", 185 "desktop_resizer_x11.cc",
141 "input_injector_x11.cc", 186 "input_injector_chromeos.cc",
187 "input_injector_chromeos.h",
188 "linux/x_server_clipboard.cc",
189 "linux/x_server_clipboard.h",
142 "local_input_monitor_x11.cc", 190 "local_input_monitor_x11.cc",
143 ] 191 ]
144 if (is_linux) { 192 }
145 # These will already be filtered out on non-Linux. 193
146 sources -= [ 194 sources -= [
147 "linux/unicode_to_keysym.cc", 195 "continue_window_linux.cc",
148 "linux/x11_util.cc", 196 "curtain_mode_linux.cc",
149 "linux/x_server_clipboard.cc", 197 "disconnect_window_linux.cc",
150 "linux/x_server_clipboard.h", 198 ]
151 ] 199 }
152 } 200
153 } 201 if (is_mac) {
154 202 libs += [ "Accelerate.framework" ]
155 if (!use_ozone) { 203
156 sources -= [ "desktop_resizer_ozone.cc" ] 204 # TODO(nicholss): When we can delete GYP builds,
157 } 205 # this flag and usage can be removed.
158 206 defines += [ "GN_BUILD=1" ]
159 if (is_chromeos) { 207 deps += [
160 # TODO(GYP): crbug.com/481627. These should only be included 208 ":remoting_version",
161 # when enable_me2me_host is true. 209 "//third_party/google_toolbox_for_mac",
162 sources -= [ 210 ]
163 "me2me_desktop_environment.cc", 211 }
164 "me2me_desktop_environment.h", 212
165 ] 213 if (is_win) {
166 deps += [ 214 deps += [
167 "//cc", 215 ":messages",
168 "//gpu/command_buffer/common", 216 ":remoting_lib_idl",
169 "//ppapi/host", 217 ]
170 "//skia", 218 }
171 "//ui/aura", 219
172 "//ui/compositor", 220 if (enable_webrtc) {
173 "//ui/events", 221 deps += [ "//third_party/webrtc/modules/desktop_capture" ]
174 "//ui/views", 222 }
175 ] 223
176 224 if (is_android) {
177 if (use_ash) { 225 sources -= [
178 deps += [ "//ash" ] 226 "single_window_desktop_environment.cc",
179 } 227 "single_window_desktop_environment.h",
180 228 ]
181 if (use_ozone) { 229 }
182 deps += [ "//ui/ozone" ] 230 }
183 sources -= [ "desktop_resizer_ozone.cc" ] 231
184 } else { 232 source_set("test_support") {
185 sources -= [ 233 testonly = true
186 "clipboard_x11.cc", 234
187 "desktop_resizer_x11.cc", 235 sources = [
188 "input_injector_chromeos.cc", 236 "fake_desktop_environment.cc",
189 "input_injector_chromeos.h", 237 "fake_desktop_environment.h",
190 "linux/x_server_clipboard.cc", 238 "fake_host_extension.cc",
191 "linux/x_server_clipboard.h", 239 "fake_host_extension.h",
192 "local_input_monitor_x11.cc", 240 "fake_host_status_monitor.h",
193 ] 241 "fake_host_status_monitor.h",
194 } 242 "fake_mouse_cursor_monitor.cc",
195 243 "fake_mouse_cursor_monitor.h",
196 sources -= [ 244 "fake_oauth_token_getter.cc",
197 "continue_window_linux.cc", 245 "fake_oauth_token_getter.h",
198 "curtain_mode_linux.cc", 246 "host_mock_objects.cc",
199 "disconnect_window_linux.cc", 247 "host_mock_objects.h",
200 ] 248 "security_key/fake_ipc_gnubby_auth_handler.cc",
201 } 249 "security_key/fake_ipc_gnubby_auth_handler.h",
202 250 "security_key/fake_remote_security_key_ipc_client.cc",
203 if (is_mac) { 251 "security_key/fake_remote_security_key_ipc_client.h",
204 # TODO(GYP) Mac host_bundle_name and prefpane_bundle_name. 252 "security_key/fake_remote_security_key_ipc_server.cc",
Sergey Ulanov 2016/06/09 23:37:30 If I understand correctly this comment is the reas
nicholss 2016/06/10 16:40:31 They are set by importing on remoting_versiong.gni
205 # Note if you are looking at this: It really sucks to have to synchronousl y 253 "security_key/fake_remote_security_key_ipc_server.h",
206 # call into python twice to get these values. They should instead be 254 "security_key/fake_remote_security_key_message_reader.cc",
207 # written into a generated header via the process_version template, and we 255 "security_key/fake_remote_security_key_message_reader.h",
208 # change the source files to include that header rather than rely on these 256 "security_key/fake_remote_security_key_message_writer.cc",
209 # defines being set in the build. 257 "security_key/fake_remote_security_key_message_writer.h",
210 #defines += [ 258 "setup/mock_oauth_client.cc",
211 # "HOST_BUNDLE_NAME=\"$host_bundle_name\"", 259 "setup/mock_oauth_client.h",
212 # "PREFPANE_BUNDLE_NAME=\"$prefpane_bundle_name\"", 260 ]
213 #] 261
214 262 configs += [ "//remoting:version" ]
215 libs += [ 263
216 "Accelerate.framework", 264 deps = [
217 "libpam.a", 265 "//remoting/proto",
218 ] 266 "//testing/gmock",
219 267 "//testing/gtest",
220 deps += [ "//third_party/google_toolbox_for_mac" ] 268 ]
221 } 269 public_deps = [
222 270 ":host",
223 if (is_win) { 271 "//third_party/protobuf:protobuf_lite",
224 deps += [ 272 ]
225 ":messages", 273
226 ":remoting_lib_idl", 274 if (enable_webrtc) {
227 ] 275 public_deps += [
228 } 276 "//third_party/libjingle:libjingle_webrtc",
229 277 "//third_party/webrtc/modules/desktop_capture",
230 if (enable_webrtc) { 278 ]
231 deps += [ "//third_party/webrtc/modules/desktop_capture" ] 279 }
232 } 280 }
233 281
234 if (is_android) { 282 # The host portions of the remoting unit tests.
235 sources -= [ 283 source_set("unit_tests") {
236 "single_window_desktop_environment.cc", 284 testonly = true
237 "single_window_desktop_environment.h", 285
238 ] 286 sources = [
239 } 287 "audio_pump_unittest.cc",
240 } 288 "audio_silence_detector_unittest.cc",
241 289 "backoff_timer_unittest.cc",
242 source_set("test_support") { 290 "chromeos/aura_desktop_capturer_unittest.cc",
243 testonly = true 291 "chromeos/clipboard_aura_unittest.cc",
292 "chromoting_host_context_unittest.cc",
293 "chromoting_host_unittest.cc",
294 "client_session_unittest.cc",
295 "config_file_watcher_unittest.cc",
296 "daemon_process_unittest.cc",
297 "desktop_process_unittest.cc",
298 "gcd_rest_client_unittest.cc",
299 "gcd_state_updater_unittest.cc",
300 "heartbeat_sender_unittest.cc",
301 "host_change_notification_listener_unittest.cc",
302 "host_config_unittest.cc",
303 "host_extension_session_manager_unittest.cc",
304 "host_status_logger_unittest.cc",
305 "ipc_desktop_environment_unittest.cc",
306 "it2me/it2me_confirmation_dialog_proxy_unittest.cc",
307 "it2me/it2me_native_messaging_host_unittest.cc",
308 "linux/audio_pipe_reader_unittest.cc",
309 "linux/certificate_watcher_unittest.cc",
310 "linux/unicode_to_keysym_unittest.cc",
311 "linux/x_server_clipboard_unittest.cc",
312 "local_input_monitor_unittest.cc",
313 "mouse_cursor_monitor_proxy_unittest.cc",
314 "mouse_shape_pump_unittest.cc",
315 "native_messaging/native_messaging_reader_unittest.cc",
316 "native_messaging/native_messaging_writer_unittest.cc",
317 "pairing_registry_delegate_linux_unittest.cc",
318 "pairing_registry_delegate_win_unittest.cc",
319 "pin_hash_unittest.cc",
320 "policy_watcher_unittest.cc",
321 "register_support_host_request_unittest.cc",
322 "remote_input_filter_unittest.cc",
323 "resizing_host_observer_unittest.cc",
324 "resources_unittest.cc",
325 "screen_resolution_unittest.cc",
326 "security_key/gnubby_auth_handler_linux_unittest.cc",
327 "security_key/gnubby_auth_handler_win_unittest.cc",
328 "security_key/gnubby_extension_session_unittest.cc",
329 "security_key/remote_security_key_ipc_client_unittest.cc",
330 "security_key/remote_security_key_ipc_server_unittest.cc",
331 "security_key/remote_security_key_message_handler_unittest.cc",
332 "security_key/remote_security_key_message_reader_impl_unittest.cc",
333 "security_key/remote_security_key_message_writer_impl_unittest.cc",
334 "server_log_entry_host_unittest.cc",
335 "setup/me2me_native_messaging_host_unittest.cc",
336 "setup/oauth_helper_unittest.cc",
337 "setup/pin_validator_unittest.cc",
338 "third_party_auth_config_unittest.cc",
339 "token_validator_factory_impl_unittest.cc",
340 "touch_injector_win_unittest.cc",
341 "win/rdp_client_unittest.cc",
342 "win/worker_process_launcher_unittest.cc",
343 ]
344
345 if (!use_x11 && is_linux) {
346 sources -= [ "linux/unicode_to_keysym_unittest.cc" ]
347 }
348 if (use_ozone || is_chromeos) {
349 sources -= [ "local_input_monitor_unittest.cc" ]
350 }
351 if (is_chromeos) {
352 sources -= [ "linux/x_server_clipboard_unittest.cc" ]
353 }
354 if (is_android) {
355 sources -= [ "it2me/it2me_native_messaging_host_unittest.cc" ]
356 }
357
358 configs += [ "//remoting:version" ]
359
360 deps = [
361 ":host",
362 ":test_support",
363 "//remoting/host/it2me:common",
364 "//remoting/host/native_messaging",
365 "//remoting/host/setup",
366 "//remoting/proto",
367 "//skia",
368 "//testing/gmock",
369 "//testing/gtest",
370 ]
371
372 if (enable_configuration_policy) {
373 deps += [ "//components/policy:policy_component_test_support" ]
374 }
375 }
376
377 if (is_win) {
378 import("//build/toolchain/win/midl.gni")
379 import("//build/win/message_compiler.gni")
380
381 # TODO(brettw) these should not be generated via exec_script. This should be
382 # part of the build process rather than the metabuild. Instead, a script
383 # should generate a header containing the #defines for this as well as the
384 # IDL file with the values.
385 clsids = exec_script("win/get_clsids.py",
386 [
387 remoting_srcs_gypi_values.daemon_controller_guid,
388 remoting_srcs_gypi_values.rdp_desktop_session_guid,
389 chrome_version_full,
390 ],
391 "value")
392 daemon_controller_clsid = clsids[0]
393 rdp_desktop_session_clsid = clsids[1]
394
395 action("generate_idl") {
396 script = "//build/util/version.py"
397
398 inputs = [
399 "win/chromoting_lib_idl.templ",
400 ]
401 outputs = [
402 "$target_gen_dir/chromoting_lib.idl",
403 ]
404
405 args = [
406 "-e",
407 "DAEMON_CONTROLLER_CLSID='$daemon_controller_clsid'",
408 "-e",
409 "RDP_DESKTOP_SESSION_CLSID='$rdp_desktop_session_clsid'",
410 rebase_path(inputs[0], root_build_dir),
411 rebase_path(outputs[0], root_build_dir),
412 ]
413 }
414
415 midl("remoting_lib_idl") {
416 sources = get_target_outputs(":generate_idl")
417 deps = [
418 ":generate_idl",
419 ]
420 }
421
422 config("MIDL_config") {
423 if (is_clang) {
424 cflags = [
425 # MIDL generated code has a habit of omitting optional braces.
426 "-Wno-missing-braces",
427
428 # Source files generated by the MIDL compiler trigger warnings with
429 # -Wincompatible-pointer-types enabled.
430 "-Wno-incompatible-pointer-types",
431
432 # Generated code contains unused variables.
433 "-Wno-unused-variable",
434
435 # PROXYFILE_LIST_START is an extern with initializer.
436 "-Wno-extern-initializer",
437 ]
438 }
439 }
440
441 # GYP version: remoting/remoting_host_win.gypi:remoting_lib_ps
442 static_library("remoting_lib_ps") {
443 configs += [ ":MIDL_config" ]
444
445 defines = [
446 "ENTRY_PREFIX=Ps",
447 "REGISTER_PROXY_DLL",
448 ]
449
450 deps = [
451 ":remoting_lib_idl",
452 ]
244 453
245 sources = [ 454 sources = [
246 "fake_desktop_environment.cc", 455 "$root_gen_dir/remoting/host/chromoting_lib.dlldata.c",
247 "fake_desktop_environment.h", 456 "$root_gen_dir/remoting/host/chromoting_lib_p.c",
248 "fake_host_extension.cc", 457 ]
249 "fake_host_extension.h", 458 }
250 "fake_host_status_monitor.h", 459
251 "fake_host_status_monitor.h", 460 # Makes the .mc file from the .mc.jinja file.
252 "fake_mouse_cursor_monitor.cc", 461 remoting_localize("messages_localizing") {
253 "fake_mouse_cursor_monitor.h", 462 sources = [
254 "fake_oauth_token_getter.cc", 463 "win/host_messages.mc.jinja2",
255 "fake_oauth_token_getter.h", 464 ]
256 "host_mock_objects.cc", 465 locales = remoting_locales
257 "host_mock_objects.h", 466 locale_dir = webapp_locale_dir
258 "security_key/fake_ipc_gnubby_auth_handler.cc", 467 encoding = "utf-16"
259 "security_key/fake_ipc_gnubby_auth_handler.h", 468
260 "security_key/fake_remote_security_key_ipc_client.cc", 469 # This target is funny. It only produces one file and the output doesn't
261 "security_key/fake_remote_security_key_ipc_client.h", 470 # match the input. We want to generate remoting_host_messages.mc from
262 "security_key/fake_remote_security_key_ipc_server.cc", 471 # host_messages.mg.jinja2. GN complains if it doesn't see a pattern in the
263 "security_key/fake_remote_security_key_ipc_server.h", 472 # output, so the following pattern produces the name we want with a template
264 "security_key/fake_remote_security_key_message_reader.cc", 473 # based on the input.
265 "security_key/fake_remote_security_key_message_reader.h", 474 #
266 "security_key/fake_remote_security_key_message_writer.cc", 475 # TODO: This is for GYP compat. We should just make the names match instead.
267 "security_key/fake_remote_security_key_message_writer.h", 476 output = "$target_gen_dir/remoting_{{source_name_part}}"
268 "setup/mock_oauth_client.cc", 477 }
269 "setup/mock_oauth_client.h", 478
270 ] 479 # Makes the .h/.rc files from the .mc file.
271 480 message_compiler("messages") {
272 configs += [ "//remoting:version" ] 481 compile_generated_code = false
273 482 sources = get_target_outputs(":messages_localizing")
274 deps = [ 483 deps = [
275 "//remoting/proto", 484 ":messages_localizing",
276 "//testing/gmock", 485 ]
277 "//testing/gtest", 486 }
278 ] 487
279 public_deps = [ 488 # GYP version: remoting/remoting_host_win.gypi:remoting_console
280 ":host", 489 executable("remoting_console") {
281 "//third_party/protobuf:protobuf_lite", 490 configs += [ "//build/config/compiler:wexit_time_destructors" ]
282 ] 491
283 492 defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ]
284 if (enable_webrtc) { 493
285 public_deps += [ 494 deps = [
286 "//third_party/libjingle:libjingle_webrtc", 495 ":dpi_aware_exe_manifest",
287 "//third_party/webrtc/modules/desktop_capture", 496 ":remoting_core",
288 ] 497 ":remoting_windows_resources",
289 } 498 ]
290 }
291
292 # The host portions of the remoting unit tests.
293 source_set("unit_tests") {
294 testonly = true
295 499
296 sources = [ 500 sources = [
297 "audio_pump_unittest.cc", 501 "$root_gen_dir/remoting/version.rc",
298 "audio_silence_detector_unittest.cc", 502 "win/entry_point.cc",
299 "backoff_timer_unittest.cc", 503 ]
300 "chromeos/aura_desktop_capturer_unittest.cc", 504
301 "chromeos/clipboard_aura_unittest.cc", 505 ldflags = [
302 "chromoting_host_context_unittest.cc", 506 "/ENTRY:HostEntryPoint",
303 "chromoting_host_unittest.cc", 507 # "/NODEFAULTLIB",
304 "client_session_unittest.cc", 508 ]
305 "config_file_watcher_unittest.cc", 509 }
306 "daemon_process_unittest.cc", 510
307 "desktop_process_unittest.cc", 511 # GYP version: //remoting/remoting_host_win.gypi:remoting_core
308 "gcd_rest_client_unittest.cc", 512 shared_library("remoting_core") {
309 "gcd_state_updater_unittest.cc", 513 configs += [ "//build/config/compiler:wexit_time_destructors" ]
310 "heartbeat_sender_unittest.cc", 514
311 "host_change_notification_listener_unittest.cc", 515 defines = host_predefines + [
312 "host_config_unittest.cc", 516 "_ATL_APARTMENT_THREADED",
313 "host_extension_session_manager_unittest.cc", 517 "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS",
314 "host_status_logger_unittest.cc", 518 "_ATL_NO_AUTOMATIC_NAMESPACE",
315 "ipc_desktop_environment_unittest.cc", 519 "_ATL_NO_EXCEPTIONS",
316 "it2me/it2me_confirmation_dialog_proxy_unittest.cc", 520 "BINARY=BINARY_CORE",
317 "it2me/it2me_native_messaging_host_unittest.cc", 521 "DAEMON_CONTROLLER_CLSID=\"$daemon_controller_clsid\"",
318 "linux/audio_pipe_reader_unittest.cc", 522 "RDP_DESKTOP_SESSION_CLSID=\"$rdp_desktop_session_clsid\"",
319 "linux/certificate_watcher_unittest.cc", 523 "HOST_IMPLEMENTATION",
320 "linux/unicode_to_keysym_unittest.cc", 524 "ISOLATION_AWARE_ENABLED=1",
321 "linux/x_server_clipboard_unittest.cc", 525 "STRICT",
322 "local_input_monitor_unittest.cc", 526 "VERSION=$chrome_version_full",
323 "mouse_cursor_monitor_proxy_unittest.cc", 527 ]
324 "mouse_shape_pump_unittest.cc", 528
325 "native_messaging/native_messaging_reader_unittest.cc", 529 if (remoting_multi_process != 0 && remoting_rdp_session != 0) {
326 "native_messaging/native_messaging_writer_unittest.cc", 530 defines += [ "REMOTING_RDP_SESSION" ]
327 "pairing_registry_delegate_linux_unittest.cc", 531 }
328 "pairing_registry_delegate_win_unittest.cc", 532
329 "pin_hash_unittest.cc", 533 if (remoting_multi_process != 0) {
330 "policy_watcher_unittest.cc", 534 defines += [ "REMOTING_MULTI_PROCESS" ]
331 "register_support_host_request_unittest.cc", 535 }
332 "remote_input_filter_unittest.cc",
333 "resizing_host_observer_unittest.cc",
334 "resources_unittest.cc",
335 "screen_resolution_unittest.cc",
336 "security_key/gnubby_auth_handler_linux_unittest.cc",
337 "security_key/gnubby_auth_handler_win_unittest.cc",
338 "security_key/gnubby_extension_session_unittest.cc",
339 "security_key/remote_security_key_ipc_client_unittest.cc",
340 "security_key/remote_security_key_ipc_server_unittest.cc",
341 "security_key/remote_security_key_message_handler_unittest.cc",
342 "security_key/remote_security_key_message_reader_impl_unittest.cc",
343 "security_key/remote_security_key_message_writer_impl_unittest.cc",
344 "server_log_entry_host_unittest.cc",
345 "setup/me2me_native_messaging_host_unittest.cc",
346 "setup/oauth_helper_unittest.cc",
347 "setup/pin_validator_unittest.cc",
348 "third_party_auth_config_unittest.cc",
349 "token_validator_factory_impl_unittest.cc",
350 "touch_injector_win_unittest.cc",
351 "win/rdp_client_unittest.cc",
352 "win/worker_process_launcher_unittest.cc",
353 ]
354
355 if (!use_x11 && is_linux) {
356 sources -= [ "linux/unicode_to_keysym_unittest.cc" ]
357 }
358 if (use_ozone || is_chromeos) {
359 sources -= [ "local_input_monitor_unittest.cc" ]
360 }
361 if (is_chromeos) {
362 sources -= [ "linux/x_server_clipboard_unittest.cc" ]
363 }
364 if (is_android) {
365 sources -= [ "it2me/it2me_native_messaging_host_unittest.cc" ]
366 }
367
368 configs += [ "//remoting:version" ]
369 536
370 deps = [ 537 deps = [
371 ":host", 538 ":host",
372 ":test_support", 539 ":messages",
540 ":remoting_lib_idl",
541 ":remoting_lib_ps",
542 ":remoting_me2me_host_static",
543 ":remoting_windows_resources",
544 "//base",
545 "//base:base_static",
546 "//base/allocator",
547 "//base/third_party/dynamic_annotations",
548 "//build/win:default_exe_manifest",
549 "//ipc",
550 "//net",
551 "//remoting/base",
552 "//remoting/base:breakpad",
553 "//remoting/codec",
373 "//remoting/host/it2me:common", 554 "//remoting/host/it2me:common",
374 "//remoting/host/native_messaging", 555 "//remoting/host/native_messaging",
375 "//remoting/host/setup", 556 "//remoting/host/setup",
557 "//remoting/protocol",
558 "//sandbox/win:sandbox", # Should always use Windows version
559 "//third_party/webrtc/modules/desktop_capture",
560 ]
561
562 sources = [
563 "$root_gen_dir/remoting/core.rc",
564 "$root_gen_dir/remoting/host/remoting_host_messages.rc",
565 "$root_gen_dir/remoting/version.rc",
566 "desktop_process_main.cc",
567 "host_main.cc",
568 "host_main.h",
569 "it2me/it2me_native_messaging_host_main.cc",
570 "it2me/it2me_native_messaging_host_main.h",
571 "security_key/remote_security_key_main.cc",
572 "security_key/remote_security_key_main.h",
573 "setup/me2me_native_messaging_host_main.cc",
574 "setup/me2me_native_messaging_host_main.h",
575 "win/chromoting_lib.rc",
576 "win/chromoting_module.cc",
577 "win/chromoting_module.h",
578 "win/core.cc",
579 "win/core_resource.h",
580 "win/host_service.cc",
581 "win/host_service.h",
582 "win/omaha.cc",
583 "win/omaha.h",
584 "win/rdp_desktop_session.cc",
585 "win/rdp_desktop_session.h",
586 "win/unprivileged_process_delegate.cc",
587 "win/unprivileged_process_delegate.h",
588 "win/wts_session_process_delegate.cc",
589 "win/wts_session_process_delegate.h",
590 "worker_process_ipc_delegate.h",
591 ]
592
593 ldflags = [
594 "/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE",
595 "/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE",
596 "/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE",
597 "/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE",
598 ]
599
600 libs = [
601 "comctl32.lib",
602 "rpcns4.lib",
603 "rpcrt4.lib",
604 "uuid.lib",
605 "wtsapi32.lib",
606 ]
607
608 if (is_clang) {
609 cflags = [ "-Wno-header-hygiene" ]
610 }
611 }
612
613 # GYP version: //remoting/remoting_host_win.gypi:remoting_desktop
614 executable("remoting_desktop") {
615 configs += [
616 "//build/config/compiler:wexit_time_destructors",
617 "//build/config/win:windowed",
618 ]
619
620 defines = host_predefines + [ "BINARY=BINARY_DESKTOP" ]
621
622 deps = [
623 ":remoting_core",
624 ":remoting_windows_resources",
625 ]
626
627 if (is_official_build) {
628 deps += [ ":dpi_aware_elevated_exe_manifest" ]
629 } else {
630 deps += [ ":dpi_aware_exe_manifest" ]
631 }
632
633 sources = [
634 "$root_gen_dir/remoting/version.rc",
635 "win/entry_point.cc",
636 ]
637
638 ldflags = [
639 "/ENTRY:HostEntryPoint",
640 # "/NODEFAULTLIB",
641 ]
642 }
643
644 # GYP version: //remoting/remoting_host_win.gypi:remote_security_key
645 executable("remote_security_key") {
646 configs += [ "//build/config/compiler:wexit_time_destructors" ]
647
648 defines = [ "BINARY=BINARY_REMOTE_SECURITY_KEY" ]
649
650 deps = [
651 ":remoting_core",
652 ":remoting_windows_resources",
653 "//build/win:default_exe_manifest",
654 ]
655
656 sources = [
657 "$root_gen_dir/remoting/version.rc",
658 "security_key/remote_security_key_entry_point.cc",
659 ]
660 }
661
662 # GYP version:
663 # //remoting/remoting_host_win.gypi:remoting_me2me_native_messaging_host
664 executable("remoting_native_messaging_host") {
665 configs += [ "//build/config/compiler:wexit_time_destructors" ]
666
667 defines = host_predefines + [ "BINARY=BINARY_NATIVE_MESSAGING_HOST" ]
668
669 deps = [
670 ":remoting_core",
671 ":remoting_windows_resources",
672 "//build/win:default_exe_manifest",
673 ]
674
675 sources = [
676 "$root_gen_dir/remoting/version.rc",
677 "setup/me2me_native_messaging_host_entry_point.cc",
678 ]
679 }
680
681 # GYP version: //remoting/remoting_host_win.gypi:remoting_windows_resources
682 remoting_localize("remoting_windows_resources") {
683 deps = [
684 "//remoting/resources",
685 ]
686
687 sources = [
688 "win/core.rc.jinja2",
689 "win/version.rc.jinja2",
690 ]
691
692 # TODO(zijiehe): Export lastchange_path from
693 # //chrome/version.gni:process_version
694 variables = [
695 rebase_path(chrome_version_file),
696 rebase_path(remoting_version_file),
697 rebase_path("//build/util/LASTCHANGE"),
698 ]
699
700 output = "$root_gen_dir/remoting/{{source_name_part}}"
701
702 locale_dir = webapp_locale_dir
703
704 encoding = "utf-16"
705
706 locales = remoting_locales
707 }
708
709 # TODO(GYP) More Windows remoting targets from remoting_host_win.gypi
Sergey Ulanov 2016/06/09 23:37:30 This is an outdated TODO. Please remove.
nicholss 2016/06/10 16:40:30 Done.
710 }
711
712 if (enable_remoting_host && !is_android) {
713 executable("remoting_start_host") {
714 sources = [
715 "setup/host_starter.cc",
716 "setup/host_starter.h",
717 "setup/start_host.cc",
718 ]
719
720 deps = [
721 "//build/config/sanitizers:deps",
722 "//build/win:default_exe_manifest",
723 "//remoting/host/setup",
724 ]
725
726 if (enable_webrtc) {
727 deps += [ "//third_party/libjingle:libjingle_webrtc" ]
728 }
729 }
730
731 action_foreach("remoting_native_messaging_manifests") {
732 if (is_mac) {
733 me2me_host_path = "/Library/PrivilegedHelperTools/$me2me_host_bundle_name/ Contents/MacOS/$native_messaging_host_bundle_name/Contents/MacOS/native_messagin g_host"
734 it2me_host_path = "/Library/PrivilegedHelperTools/<(me2me_host_bundle_name )/Contents/MacOS/$remote_assistance_host_bundle_name/Contents/MacOS/remote_assis tance_host"
735 } else if (is_win) {
736 me2me_host_path = "remoting_native_messaging_host.exe"
737 it2me_host_path = "remote_assistance_host.exe"
738 } else {
739 me2me_host_path =
740 "/opt/google/chrome-remote-desktop/native-messaging-host"
741 it2me_host_path =
742 "/opt/google/chrome-remote-desktop/remote-assistance-host"
743 }
744
745 script = "../tools/build/remoting_localize.py"
746
747 sources = [
748 "it2me/com.google.chrome.remote_assistance.json.jinja2",
749 "setup/com.google.chrome.remote_desktop.json.jinja2",
750 ]
751
752 inputs = [
753 branding_path,
754 ]
755
756 outputs = [
757 "$root_build_dir/remoting/{{source_name_part}}",
758 ]
759
760 args = [
761 "--define",
762 "ME2ME_HOST_PATH=$me2me_host_path",
763 "--define",
764 "IT2ME_HOST_PATH=$it2me_host_path",
765 "--variables",
766 rebase_path(branding_path),
767 "--template",
768 "{{source}}",
769 "--locale_output",
770 "remoting/{{source_name_part}}",
771 "en",
772 ]
773 }
774
775 # TODO(crbug.com/512899) This still needs to be ported to GN.
776 group("remoting_infoplist_strings") {
777 }
778 }
779
780 if (enable_me2me_host) {
781 source_set("remoting_me2me_host_static") {
782 sources = [
783 "pam_authorization_factory_posix.cc",
784 "pam_authorization_factory_posix.h",
785 "remoting_me2me_host.cc",
786 ]
787 defines = []
788
789 configs += [ "//remoting:version" ]
790
791 deps = [
792 "//base",
793 "//base:i18n",
794 "//components/policy:policy_component_common",
795 "//net",
796 "//remoting/base",
797 "//remoting/host",
376 "//remoting/proto", 798 "//remoting/proto",
377 "//skia", 799 "//third_party/webrtc/modules/desktop_capture",
378 "//testing/gmock",
379 "//testing/gtest",
380 ] 800 ]
381 801
382 if (enable_configuration_policy) { 802 if (enable_configuration_policy) {
383 deps += [ "//components/policy:policy_component_test_support" ] 803 deps += [ "//components/policy" ]
804 }
805
806 if (enable_webrtc) {
807 deps += [ "//third_party/libjingle:libjingle_webrtc" ]
808 }
809
810 if (is_desktop_linux) {
811 deps += [ "//build/config/linux/gtk2" ]
812 }
813 if ((is_linux && !is_chromeos) || is_mac) {
814 libs = [ "pam" ]
815 }
816
817 if (is_mac && is_official_build) {
818 sources += [ "internal/internal_mac-inl.h" ]
819 defines += [ "USE_REMOTING_MACOSX_INTERNAL" ]
820 }
821
822 if (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) {
823 defines += [ "REMOTING_RDP_SESSION" ]
824 }
825
826 if (remoting_multi_process != 0) {
827 defines += [ "REMOTING_MULTI_PROCESS" ]
384 } 828 }
385 } 829 }
386 830
387 if (is_win) { 831 if (is_win) {
388 import("//build/toolchain/win/midl.gni") 832 # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host
389 import("//build/win/message_compiler.gni") 833 executable("remoting_me2me_host") {
390 834 configs += [
391 # TODO(brettw) these should not be generated via exec_script. This should be 835 "//build/config/compiler:wexit_time_destructors",
392 # part of the build process rather than the metabuild. Instead, a script 836 "//build/config/win:windowed",
393 # should generate a header containing the #defines for this as well as the 837 ]
394 # IDL file with the values.
395 clsids = exec_script("win/get_clsids.py",
396 [
397 remoting_srcs_gypi_values.daemon_controller_guid,
398 remoting_srcs_gypi_values.rdp_desktop_session_guid,
399 chrome_version_full,
400 ],
401 "value")
402 daemon_controller_clsid = clsids[0]
403 rdp_desktop_session_clsid = clsids[1]
404
405 action("generate_idl") {
406 script = "//build/util/version.py"
407
408 inputs = [
409 "win/chromoting_lib_idl.templ",
410 ]
411 outputs = [
412 "$target_gen_dir/chromoting_lib.idl",
413 ]
414
415 args = [
416 "-e",
417 "DAEMON_CONTROLLER_CLSID='$daemon_controller_clsid'",
418 "-e",
419 "RDP_DESKTOP_SESSION_CLSID='$rdp_desktop_session_clsid'",
420 rebase_path(inputs[0], root_build_dir),
421 rebase_path(outputs[0], root_build_dir),
422 ]
423 }
424
425 midl("remoting_lib_idl") {
426 sources = get_target_outputs(":generate_idl")
427 deps = [
428 ":generate_idl",
429 ]
430 }
431
432 config("MIDL_config") {
433 if (is_clang) {
434 cflags = [
435 # MIDL generated code has a habit of omitting optional braces.
436 "-Wno-missing-braces",
437
438 # Source files generated by the MIDL compiler trigger warnings with
439 # -Wincompatible-pointer-types enabled.
440 "-Wno-incompatible-pointer-types",
441
442 # Generated code contains unused variables.
443 "-Wno-unused-variable",
444
445 # PROXYFILE_LIST_START is an extern with initializer.
446 "-Wno-extern-initializer",
447 ]
448 }
449 }
450
451 # GYP version: remoting/remoting_host_win.gypi:remoting_lib_ps
452 static_library("remoting_lib_ps") {
453 configs += [ ":MIDL_config" ]
454
455 defines = [
456 "ENTRY_PREFIX=Ps",
457 "REGISTER_PROXY_DLL",
458 ]
459
460 deps = [
461 ":remoting_lib_idl",
462 ]
463
464 sources = [
465 "$root_gen_dir/remoting/host/chromoting_lib.dlldata.c",
466 "$root_gen_dir/remoting/host/chromoting_lib_p.c",
467 ]
468 }
469
470 # Makes the .mc file from the .mc.jinja file.
471 remoting_localize("messages_localizing") {
472 sources = [
473 "win/host_messages.mc.jinja2",
474 ]
475 locales = remoting_locales
476 locale_dir = webapp_locale_dir
477 encoding = "utf-16"
478
479 # This target is funny. It only produces one file and the output doesn't
480 # match the input. We want to generate remoting_host_messages.mc from
481 # host_messages.mg.jinja2. GN complains if it doesn't see a pattern in the
482 # output, so the following pattern produces the name we want with a templa te
483 # based on the input.
484 #
485 # TODO: This is for GYP compat. We should just make the names match instea d.
486 output = "$target_gen_dir/remoting_{{source_name_part}}"
487 }
488
489 # Makes the .h/.rc files from the .mc file.
490 message_compiler("messages") {
491 compile_generated_code = false
492 sources = get_target_outputs(":messages_localizing")
493 deps = [
494 ":messages_localizing",
495 ]
496 }
497
498 # GYP version: remoting/remoting_host_win.gypi:remoting_console
499 executable("remoting_console") {
500 configs += [ "//build/config/compiler:wexit_time_destructors" ]
501 838
502 defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ] 839 defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ]
503 840
504 deps = [ 841 deps = [
505 ":dpi_aware_exe_manifest", 842 ":dpi_aware_exe_manifest",
506 ":remoting_core", 843 ":remoting_core",
507 ":remoting_windows_resources", 844 ":remoting_windows_resources",
508 ] 845 ]
509 846
510 sources = [ 847 sources = [
511 "$root_gen_dir/remoting/version.rc", 848 "$root_gen_dir/remoting/version.rc",
512 "win/entry_point.cc", 849 "win/entry_point.cc",
513 ] 850 ]
514 851
852 output_name = "remoting_host"
853
515 ldflags = [ 854 ldflags = [
516 "/ENTRY:HostEntryPoint", 855 "/ENTRY:HostEntryPoint",
517 # "/NODEFAULTLIB", 856 # "/NODEFAULTLIB",
518 ] 857 ]
519 } 858 }
520 859 } else {
521 # GYP version: //remoting/remoting_host_win.gypi:remoting_core 860 executable("remoting_me2me_host") {
522 shared_library("remoting_core") { 861 configs += [ "//remoting:version" ]
523 configs += [ "//build/config/compiler:wexit_time_destructors" ] 862
524 863 sources = [
525 defines = host_predefines + [ 864 "host_main.cc",
526 "_ATL_APARTMENT_THREADED", 865 "host_main.h",
527 "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS", 866 ]
528 "_ATL_NO_AUTOMATIC_NAMESPACE", 867
529 "_ATL_NO_EXCEPTIONS", 868 if (is_mac && is_chrome_branded && is_official_build) {
530 "BINARY=BINARY_CORE", 869 defines = [ "REMOTING_ENABLE_BREAKPAD" ]
531 "DAEMON_CONTROLLER_CLSID=\"$daemon_controller_clsid\"",
532 "RDP_DESKTOP_SESSION_CLSID=\"$rdp_desktop_session_clsid\"",
533 "HOST_IMPLEMENTATION",
534 "ISOLATION_AWARE_ENABLED=1",
535 "STRICT",
536 "VERSION=$chrome_version_full",
537 ]
538
539 if (remoting_multi_process != 0 && remoting_rdp_session != 0) {
540 defines += [ "REMOTING_RDP_SESSION" ]
541 } 870 }
542 871
543 if (remoting_multi_process != 0) { 872 deps = [
544 defines += [ "REMOTING_MULTI_PROCESS" ] 873 ":credits",
874 ":remoting_me2me_host_static",
875 "//build/config/sanitizers:deps",
876 ]
877 }
878
879 if (is_linux) {
880 copy("remoting_me2me_host_copy_script") {
881 sources = [
882 "linux/linux_me2me_host.py",
883 ]
884 outputs = [
885 "$root_build_dir/remoting/chrome-remote-desktop",
886 ]
545 } 887 }
888 copy("remoting_me2me_host_copy_host") {
889 sources = [
890 "linux/remoting_me2me_host_wrapper.sh",
891 ]
892 outputs = [
893 "$root_build_dir/remoting/chrome-remote-desktop-host",
894 ]
895 deps = [
896 ":remoting_me2me_host",
897 ]
898 }
899 group("remoting_dev_me2me_host") {
900 deps = [
901 ":remoting_me2me_host",
902 ":remoting_me2me_host_copy_host",
903 ":remoting_me2me_host_copy_script",
904 ]
905 }
906 }
907
908 executable("native_messaging_host") {
909 sources = [
910 "setup/me2me_native_messaging_host_entry_point.cc",
911 "setup/me2me_native_messaging_host_main.cc",
912 "setup/me2me_native_messaging_host_main.h",
913 ]
546 914
547 deps = [ 915 deps = [
548 ":host", 916 ":remoting_infoplist_strings",
549 ":messages",
550 ":remoting_lib_idl",
551 ":remoting_lib_ps",
552 ":remoting_me2me_host_static",
553 ":remoting_windows_resources",
554 "//base", 917 "//base",
555 "//base:base_static",
556 "//base/allocator",
557 "//base/third_party/dynamic_annotations",
558 "//build/win:default_exe_manifest",
559 "//ipc",
560 "//net",
561 "//remoting/base",
562 "//remoting/base:breakpad", 918 "//remoting/base:breakpad",
563 "//remoting/codec", 919 "//remoting/host",
564 "//remoting/host/it2me:common",
565 "//remoting/host/native_messaging", 920 "//remoting/host/native_messaging",
566 "//remoting/host/setup", 921 "//remoting/host/setup",
567 "//remoting/protocol", 922 ]
568 "//sandbox/win:sandbox", # Should always use Windows version 923
569 "//third_party/webrtc/modules/desktop_capture", 924 configs += [ "//build/config/compiler:wexit_time_destructors" ]
570 ] 925
571 926 # The |major|, |build| and |patch| versions are inherited from Chrome.
927 # Since Chrome's |minor| version is always '0', we replace it with a
928 # Chromoting-specific patch version.
929 defines = [ "VERSION=" + "$chrome_version_major" + "." +
930 "$remoting_version_patch" + "." + "$chrome_version_build" +
931 "." + "$chrome_version_patch" ]
932 }
933 }
934
935 if (is_chrome_branded && enable_me2me_host && is_linux && !is_chromeos) {
936 # TODO(GYP): add support for archive_chromoting_tests variable?
937
938 import("//build/config/zip.gni")
939
940 build_deb_script = "installer/linux/build_deb.py"
941 deb_filename =
942 "$root_build_dir/" + exec_script(build_deb_script,
943 [
944 "-p",
945 "-s",
946 rebase_path("//"),
947 ],
948 "string",
949 [ "installer/linux/build-deb.sh" ])
950 changes_filename =
951 "$root_build_dir/" + get_path_info(deb_filename, "name") + ".changes"
952
953 packaging_outputs = [
954 deb_filename,
955 changes_filename,
956
957 # TODO(GYP): Check that these are generated by build_deb.py.
958 #"$root_build_dir/remoting_me2me_host.debug",
959 #"$root_build_dir/remoting_start_host.debug",
960 #"$root_build_dir/native_messaging_host.debug",
961 #"$root_build_dir/remote_assistance_host.debug",
962 ]
963
964 zip("remoting_me2me_host_archive") {
965 # Store the installer package(s) into a zip file so there is a
966 # consistent filename to reference for build archiving (i.e. in
967 # FILES.cfg). This also avoids possible conflicts with "wildcard"
968 # package handling in other build/signing scripts.
969 inputs = packaging_outputs
970 output = "$root_build_dir/remoting-me2me-host-linux.zip"
971 deps = [
972 ":remoting_me2me_host_copy",
973 ]
974 }
975
976 copy("remoting_me2me_host_copy") {
977 # Copy the debian package file, which has version info in it,
978 # to a consistewnt filename for use on Chromoting swarming bots.
572 sources = [ 979 sources = [
573 "$root_gen_dir/remoting/core.rc", 980 deb_filename,
574 "$root_gen_dir/remoting/host/remoting_host_messages.rc", 981 ]
575 "$root_gen_dir/remoting/version.rc", 982 outputs = [
576 "desktop_process_main.cc", 983 "$root_build_dir/remoting-me2me-host.deb",
577 "host_main.cc", 984 ]
578 "host_main.h", 985 public_deps = [
579 "it2me/it2me_native_messaging_host_main.cc", 986 ":remoting_me2me_host_deb_installer",
580 "it2me/it2me_native_messaging_host_main.h", 987 ]
581 "security_key/remote_security_key_main.cc", 988 }
582 "security_key/remote_security_key_main.h", 989
583 "setup/me2me_native_messaging_host_main.cc", 990 action("remoting_me2me_host_deb_installer") {
584 "setup/me2me_native_messaging_host_main.h", 991 script = build_deb_script
585 "win/chromoting_lib.rc", 992 inputs = [
586 "win/chromoting_module.cc", 993 build_deb_script,
587 "win/chromoting_module.h", 994 "installer/linux/Makefile",
588 "win/core.cc", 995 "installer/linux/debian/chrome-remote-desktop.init",
589 "win/core_resource.h", 996 "installer/linux/debian/chrome-remote-desktop.pam",
590 "win/host_service.cc", 997 "installer/linux/debian/compat",
591 "win/host_service.h", 998 "installer/linux/debian/control",
592 "win/omaha.cc", 999 "installer/linux/debian/copyright",
593 "win/omaha.h", 1000 "installer/linux/debian/postinst",
594 "win/rdp_desktop_session.cc", 1001 "installer/linux/debian/preinst",
595 "win/rdp_desktop_session.h", 1002 "installer/linux/debian/rules",
596 "win/unprivileged_process_delegate.cc", 1003 ]
597 "win/unprivileged_process_delegate.h", 1004 outputs = packaging_outputs
598 "win/wts_session_process_delegate.cc", 1005 sources = [
599 "win/wts_session_process_delegate.h", 1006 "installer/linux/build-deb.sh",
600 "worker_process_ipc_delegate.h", 1007 ]
601 ] 1008 args = [
602 1009 "-s",
603 ldflags = [ 1010 rebase_path("//"),
604 "/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE", 1011 "-o",
605 "/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE", 1012 rebase_path("$root_build_dir"),
606 "/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE", 1013 ]
607 "/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE", 1014
608 ] 1015 deps = [
609 1016 ":native_messaging_host",
610 libs = [ 1017 ":remoting_me2me_host",
611 "comctl32.lib", 1018 ":remoting_native_messaging_manifests",
612 "rpcns4.lib", 1019 ":remoting_start_host",
613 "rpcrt4.lib", 1020 "//remoting/host/it2me:remote_assistance_host",
614 "uuid.lib", 1021 "//remoting/resources",
615 "wtsapi32.lib", 1022 "//third_party/icu:icudata",
616 ] 1023 ]
617 1024 }
618 if (is_clang) { 1025 } else if (is_win) {
619 cflags = [ "-Wno-header-hygiene" ] 1026 # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host_archive
1027 action("remoting_me2me_host_archive") {
1028 script = "//remoting/host/installer/build-installer-archive.py"
1029
1030 deps = [
1031 ":credits",
1032 ":remote_security_key",
1033 ":remoting_core",
1034 ":remoting_desktop",
1035 ":remoting_me2me_host",
1036 ":remoting_native_messaging_host",
1037 ":remoting_native_messaging_manifests",
1038 ":remoting_start_host",
1039 "it2me:remote_assistance_host",
1040 "//third_party/icu:icudata",
1041 ]
1042
1043 _output = "$root_out_dir/remoting-me2me-host-$target_os.zip"
1044
1045 outputs = [
1046 _output,
1047 ]
1048 if (is_chrome_branded) {
1049 _branding = "Chrome"
1050 } else {
1051 _branding = "Chromium"
620 } 1052 }
621 } 1053
622 1054 if (is_official_build) {
623 # GYP version: //remoting/remoting_host_win.gypi:remoting_desktop 1055 _official_build = "1"
624 executable("remoting_desktop") { 1056 } else {
625 configs += [ 1057 _official_build = "0"
626 "//build/config/compiler:wexit_time_destructors", 1058 }
627 "//build/config/win:windowed", 1059
628 ] 1060 _generated_files = rebase_path(
629 1061 [
630 defines = host_predefines + [ "BINARY=BINARY_DESKTOP" ] 1062 "$root_out_dir/remote_assistance_host.exe",
631 1063 "$root_out_dir/remote_security_key.exe",
1064 "$root_out_dir/remoting_core.dll",
1065 "$root_out_dir/remoting_desktop.exe",
1066 "$root_out_dir/remoting_host.exe",
1067 "$root_out_dir/remoting_native_messaging_host.exe",
1068 "$root_out_dir/remoting_start_host.exe",
1069 "$root_gen_dir/remoting/CREDITS.txt",
1070 "$root_out_dir/remoting/com.google.chrome.remote_assistance.json ",
1071 "$root_out_dir/remoting/com.google.chrome.remote_desktop.json",
1072 "$root_out_dir/icudtl.dat",
1073 ],
1074 root_build_dir)
1075 _extra_files = []
1076 if (is_chrome_branded) {
1077 if (target_cpu == "x64") {
1078 _redist_cpu_path = "amd64"
1079 } else {
1080 _redist_cpu_path = "x86"
1081 }
1082 _generated_files +=
1083 [ rebase_path("//third_party/platformsdk_win7/files/Redist/" +
1084 "$_redist_cpu_path/sas.dll",
1085 root_build_dir) ]
1086 _extra_files += [ "files/sas.dll" ]
1087 }
1088
1089 args = [
1090 rebase_path("$root_gen_dir/installation", root_build_dir),
1091 rebase_path(_output, root_build_dir),
1092 "--source-file-roots",
1093 rebase_path("//remoting/host/installer/win"),
1094 "--source-files",
1095 rebase_path("//remoting/host/installer/win/chromoting.wxs"),
1096 rebase_path("//remoting/host/installer/win/parameters.json"),
1097
1098 # Input files
1099 "--generated-files",
1100 ] + _generated_files +
1101 [
1102 rebase_path("//remoting/resources/chromoting.ico"),
1103
1104 # Position of files in zip file
1105 "--generated-files-dst",
1106 "files/remote_assistance_host.exe",
1107 "files/remote_security_key.exe",
1108 "files/remoting_core.dll",
1109 "files/remoting_desktop.exe",
1110 "files/remoting_host.exe",
1111 "files/remoting_native_messaging_host.exe",
1112 "files/remoting_start_host.exe",
1113 "files/CREDITS.txt",
1114 "files/com.google.chrome.remote_assistance.json",
1115 "files/com.google.chrome.remote_desktop.json",
1116 "files/chromoting.ico",
1117 "files/icudtl.dat",
1118 ] + _extra_files + # Defs
1119 [
1120 "--defs",
1121 "BRANDING=$_branding",
1122 "DAEMON_CONTROLLER_CLSID={$daemon_controller_clsid}",
1123 "RDP_DESKTOP_SESSION_CLSID={$rdp_desktop_session_clsid}",
1124 "VERSION=$chrome_version_full",
1125 "OFFICIAL_BUILD=$_official_build",
1126 ]
1127 }
1128 } else {
1129 group("remoting_me2me_host_archive") {
1130 }
1131 }
1132
1133 if (is_win && is_chrome_branded) {
1134 if (target_cpu == "x86") {
1135 # The script uses "ia32" instead of "x86".
1136 msi_script_arch = "ia32"
1137 } else {
1138 msi_script_arch = target_cpu
1139 }
1140
1141 # GYP version: remoting/remoting_host_win.gyp:remoting_host_installation
1142 action("remoting_host_installation") {
632 deps = [ 1143 deps = [
633 ":remoting_core", 1144 "//remoting/host:remoting_me2me_host_archive",
634 ":remoting_windows_resources", 1145 ]
635 ] 1146 script = "../tools/zip2msi.py"
636
637 if (is_official_build) {
638 deps += [ ":dpi_aware_elevated_exe_manifest" ]
639 } else {
640 deps += [ ":dpi_aware_exe_manifest" ]
641 }
642
643 sources = [
644 "$root_gen_dir/remoting/version.rc",
645 "win/entry_point.cc",
646 ]
647
648 ldflags = [
649 "/ENTRY:HostEntryPoint",
650 # "/NODEFAULTLIB",
651 ]
652 }
653
654 # GYP version: //remoting/remoting_host_win.gypi:remote_security_key
655 executable("remote_security_key") {
656 configs += [ "//build/config/compiler:wexit_time_destructors" ]
657
658 defines = [ "BINARY=BINARY_REMOTE_SECURITY_KEY" ]
659
660 deps = [
661 ":remoting_core",
662 ":remoting_windows_resources",
663 "//build/win:default_exe_manifest",
664 ]
665
666 sources = [
667 "$root_gen_dir/remoting/version.rc",
668 "security_key/remote_security_key_entry_point.cc",
669 ]
670 }
671
672 # GYP version:
673 # //remoting/remoting_host_win.gypi:remoting_me2me_native_messaging_host
674 executable("remoting_native_messaging_host") {
675 configs += [ "//build/config/compiler:wexit_time_destructors" ]
676
677 defines = host_predefines + [ "BINARY=BINARY_NATIVE_MESSAGING_HOST" ]
678
679 deps = [
680 ":remoting_core",
681 ":remoting_windows_resources",
682 "//build/win:default_exe_manifest",
683 ]
684
685 sources = [
686 "$root_gen_dir/remoting/version.rc",
687 "setup/me2me_native_messaging_host_entry_point.cc",
688 ]
689 }
690
691 # GYP version: //remoting/remoting_host_win.gypi:remoting_windows_resources
692 remoting_localize("remoting_windows_resources") {
693 deps = [
694 "//remoting/resources",
695 ]
696
697 sources = [
698 "win/core.rc.jinja2",
699 "win/version.rc.jinja2",
700 ]
701
702 # TODO(zijiehe): Export lastchange_path from
703 # //chrome/version.gni:process_version
704 variables = [
705 rebase_path(chrome_version_file),
706 rebase_path(remoting_version_file),
707 rebase_path("//build/util/LASTCHANGE"),
708 ]
709
710 output = "$root_gen_dir/remoting/{{source_name_part}}"
711
712 locale_dir = webapp_locale_dir
713
714 encoding = "utf-16"
715
716 locales = remoting_locales
717 }
718
719 # TODO(GYP) More Windows remoting targets from remoting_host_win.gypi
720 }
721
722 if (enable_remoting_host && !is_android) {
723 executable("remoting_start_host") {
724 sources = [
725 "setup/host_starter.cc",
726 "setup/host_starter.h",
727 "setup/start_host.cc",
728 ]
729
730 deps = [
731 "//build/config/sanitizers:deps",
732 "//build/win:default_exe_manifest",
733 "//remoting/host/setup",
734 ]
735
736 if (enable_webrtc) {
737 deps += [ "//third_party/libjingle:libjingle_webrtc" ]
738 }
739 }
740
741 action_foreach("remoting_native_messaging_manifests") {
742 if (is_mac) {
743 assert(false, "not implemented on mac yet")
744 } else if (is_win) {
745 me2me_host_path = "remoting_native_messaging_host.exe"
746 it2me_host_path = "remote_assistance_host.exe"
747 } else {
748 me2me_host_path =
749 "/opt/google/chrome-remote-desktop/native-messaging-host"
750 it2me_host_path =
751 "/opt/google/chrome-remote-desktop/remote-assistance-host"
752 }
753
754 script = "../tools/build/remoting_localize.py"
755
756 sources = [
757 "it2me/com.google.chrome.remote_assistance.json.jinja2",
758 "setup/com.google.chrome.remote_desktop.json.jinja2",
759 ]
760
761 inputs = [
762 branding_path,
763 ]
764
765 outputs = [ 1147 outputs = [
766 "$root_build_dir/remoting/{{source_name_part}}", 1148 "$root_out_dir/chromoting.msi",
767 ] 1149 ]
768
769 args = [ 1150 args = [
770 "--define", 1151 "--wix_path",
771 "ME2ME_HOST_PATH=$me2me_host_path", 1152 rebase_path("//third_party/wix"),
772 "--define", 1153 "--intermediate_dir",
773 "IT2ME_HOST_PATH=$it2me_host_path", 1154 rebase_path("$root_gen_dir/installation", root_build_dir),
774 "--variables", 1155 "--target_arch",
775 rebase_path(branding_path), 1156 msi_script_arch,
776 "--template", 1157 rebase_path("$root_out_dir/remoting-me2me-host-$current_os.zip",
777 "{{source}}", 1158 root_build_dir),
778 "--locale_output", 1159 rebase_path(outputs[0], root_build_dir),
779 "remoting/{{source_name_part}}", 1160 ]
780 "en",
781 ]
782 }
783
784 # TODO(crbug.com/512899) This still needs to be ported to GN.
785 group("remoting_infoplist_strings") {
786 }
787 }
788
789 if (enable_me2me_host) {
790 source_set("remoting_me2me_host_static") {
791 sources = [
792 "pam_authorization_factory_posix.cc",
793 "pam_authorization_factory_posix.h",
794 "remoting_me2me_host.cc",
795 ]
796 defines = []
797
798 configs += [ "//remoting:version" ]
799
800 deps = [
801 "//base",
802 "//base:i18n",
803 "//components/policy:policy_component_common",
804 "//net",
805 "//remoting/base",
806 "//remoting/host",
807 "//remoting/proto",
808 "//third_party/webrtc/modules/desktop_capture",
809 ]
810
811 if (enable_configuration_policy) {
812 deps += [ "//components/policy" ]
813 }
814
815 if (enable_webrtc) {
816 deps += [ "//third_party/libjingle:libjingle_webrtc" ]
817 }
818
819 if (is_desktop_linux) {
820 deps += [ "//build/config/linux/gtk2" ]
821 }
822 if ((is_linux && !is_chromeos) || is_mac) {
823 libs = [ "pam" ]
824 }
825
826 if (is_mac && is_official_build) {
827 sources += [ "internal/internal_mac-inl.h" ]
828 defines += [ "USE_REMOTING_MACOSX_INTERNAL" ]
829 }
830
831 if (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) {
832 defines += [ "REMOTING_RDP_SESSION" ]
833 }
834
835 if (remoting_multi_process != 0) {
836 defines += [ "REMOTING_MULTI_PROCESS" ]
837 }
838 }
839
840 if (is_win) {
841 # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host
842 executable("remoting_me2me_host") {
843 configs += [
844 "//build/config/compiler:wexit_time_destructors",
845 "//build/config/win:windowed",
846 ]
847
848 defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ]
849
850 deps = [
851 ":dpi_aware_exe_manifest",
852 ":remoting_core",
853 ":remoting_windows_resources",
854 ]
855
856 sources = [
857 "$root_gen_dir/remoting/version.rc",
858 "win/entry_point.cc",
859 ]
860
861 output_name = "remoting_host"
862
863 ldflags = [
864 "/ENTRY:HostEntryPoint",
865 # "/NODEFAULTLIB",
866 ]
867 }
868 } else {
869 executable("remoting_me2me_host") {
870 configs += [ "//remoting:version" ]
871
872 sources = [
873 "host_main.cc",
874 "host_main.h",
875 ]
876
877 if (is_mac && is_chrome_branded && is_official_build) {
878 defines = [ "REMOTING_ENABLE_BREAKPAD" ]
879 }
880
881 deps = [
882 ":credits",
883 ":remoting_me2me_host_static",
884 "//build/config/sanitizers:deps",
885 ]
886 }
887
888 if (is_linux) {
889 copy("remoting_me2me_host_copy_script") {
890 sources = [
891 "linux/linux_me2me_host.py",
892 ]
893 outputs = [
894 "$root_build_dir/remoting/chrome-remote-desktop",
895 ]
896 }
897 copy("remoting_me2me_host_copy_host") {
898 sources = [
899 "linux/remoting_me2me_host_wrapper.sh",
900 ]
901 outputs = [
902 "$root_build_dir/remoting/chrome-remote-desktop-host",
903 ]
904 deps = [
905 ":remoting_me2me_host",
906 ]
907 }
908 group("remoting_dev_me2me_host") {
909 deps = [
910 ":remoting_me2me_host",
911 ":remoting_me2me_host_copy_host",
912 ":remoting_me2me_host_copy_script",
913 ]
914 }
915 }
916
917 executable("native_messaging_host") {
918 sources = [
919 "setup/me2me_native_messaging_host_entry_point.cc",
920 "setup/me2me_native_messaging_host_main.cc",
921 "setup/me2me_native_messaging_host_main.h",
922 ]
923
924 deps = [
925 ":remoting_infoplist_strings",
926 "//base",
927 "//remoting/base:breakpad",
928 "//remoting/host",
929 "//remoting/host/native_messaging",
930 "//remoting/host/setup",
931 ]
932
933 configs += [ "//build/config/compiler:wexit_time_destructors" ]
934
935 # The |major|, |build| and |patch| versions are inherited from Chrome.
936 # Since Chrome's |minor| version is always '0', we replace it with a
937 # Chromoting-specific patch version.
938 defines = [ "VERSION=" + "$chrome_version_major" + "." +
939 "$remoting_version_patch" + "." + "$chrome_version_build" +
940 "." + "$chrome_version_patch" ]
941
942 if (is_mac) {
943 assert(false, "not implemented on mac yet")
944 }
945 }
946 }
947
948 if (is_chrome_branded && enable_me2me_host && is_linux && !is_chromeos) {
949 # TODO(GYP): add support for archive_chromoting_tests variable?
950
951 import("//build/config/zip.gni")
952
953 build_deb_script = "installer/linux/build_deb.py"
954 deb_filename =
955 "$root_build_dir/" + exec_script(build_deb_script,
956 [
957 "-p",
958 "-s",
959 rebase_path("//"),
960 ],
961 "string",
962 [ "installer/linux/build-deb.sh" ])
963 changes_filename =
964 "$root_build_dir/" + get_path_info(deb_filename, "name") + ".changes"
965
966 packaging_outputs = [
967 deb_filename,
968 changes_filename,
969
970 # TODO(GYP): Check that these are generated by build_deb.py.
971 #"$root_build_dir/remoting_me2me_host.debug",
972 #"$root_build_dir/remoting_start_host.debug",
973 #"$root_build_dir/native_messaging_host.debug",
974 #"$root_build_dir/remote_assistance_host.debug",
975 ]
976
977 zip("remoting_me2me_host_archive") {
978 # Store the installer package(s) into a zip file so there is a
979 # consistent filename to reference for build archiving (i.e. in
980 # FILES.cfg). This also avoids possible conflicts with "wildcard"
981 # package handling in other build/signing scripts.
982 inputs = packaging_outputs
983 output = "$root_build_dir/remoting-me2me-host-linux.zip"
984 deps = [
985 ":remoting_me2me_host_copy",
986 ]
987 }
988
989 copy("remoting_me2me_host_copy") {
990 # Copy the debian package file, which has version info in it,
991 # to a consistewnt filename for use on Chromoting swarming bots.
992 sources = [
993 deb_filename,
994 ]
995 outputs = [
996 "$root_build_dir/remoting-me2me-host.deb",
997 ]
998 public_deps = [
999 ":remoting_me2me_host_deb_installer",
1000 ]
1001 }
1002
1003 action("remoting_me2me_host_deb_installer") {
1004 script = build_deb_script
1005 inputs = [
1006 build_deb_script,
1007 "installer/linux/Makefile",
1008 "installer/linux/debian/chrome-remote-desktop.init",
1009 "installer/linux/debian/chrome-remote-desktop.pam",
1010 "installer/linux/debian/compat",
1011 "installer/linux/debian/control",
1012 "installer/linux/debian/copyright",
1013 "installer/linux/debian/postinst",
1014 "installer/linux/debian/preinst",
1015 "installer/linux/debian/rules",
1016 ]
1017 outputs = packaging_outputs
1018 sources = [
1019 "installer/linux/build-deb.sh",
1020 ]
1021 args = [
1022 "-s",
1023 rebase_path("//"),
1024 "-o",
1025 rebase_path("$root_build_dir"),
1026 ]
1027
1028 deps = [
1029 ":native_messaging_host",
1030 ":remoting_me2me_host",
1031 ":remoting_native_messaging_manifests",
1032 ":remoting_start_host",
1033 "//remoting/host/it2me:remote_assistance_host",
1034 "//remoting/resources",
1035 "//third_party/icu:icudata",
1036 ]
1037 }
1038 } else if (is_win) {
1039 # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host_archi ve
1040 action("remoting_me2me_host_archive") {
1041 script = "//remoting/host/installer/build-installer-archive.py"
1042
1043 deps = [
1044 ":credits",
1045 ":remote_security_key",
1046 ":remoting_core",
1047 ":remoting_desktop",
1048 ":remoting_me2me_host",
1049 ":remoting_native_messaging_host",
1050 ":remoting_native_messaging_manifests",
1051 ":remoting_start_host",
1052 "it2me:remote_assistance_host",
1053 "//third_party/icu:icudata",
1054 ]
1055
1056 _output = "$root_out_dir/remoting-me2me-host-$target_os.zip"
1057
1058 outputs = [
1059 _output,
1060 ]
1061 if (is_chrome_branded) {
1062 _branding = "Chrome"
1063 } else {
1064 _branding = "Chromium"
1065 }
1066
1067 if (is_official_build) {
1068 _official_build = "1"
1069 } else {
1070 _official_build = "0"
1071 }
1072
1073 _generated_files = rebase_path(
1074 [
1075 "$root_out_dir/remote_assistance_host.exe",
1076 "$root_out_dir/remote_security_key.exe",
1077 "$root_out_dir/remoting_core.dll",
1078 "$root_out_dir/remoting_desktop.exe",
1079 "$root_out_dir/remoting_host.exe",
1080 "$root_out_dir/remoting_native_messaging_host.exe",
1081 "$root_out_dir/remoting_start_host.exe",
1082 "$root_gen_dir/remoting/CREDITS.txt",
1083 "$root_out_dir/remoting/com.google.chrome.remote_assistance.js on",
1084 "$root_out_dir/remoting/com.google.chrome.remote_desktop.json" ,
1085 "$root_out_dir/icudtl.dat",
1086 ],
1087 root_build_dir)
1088 _extra_files = []
1089 if (is_chrome_branded) {
1090 if (target_cpu == "x64") {
1091 _redist_cpu_path = "amd64"
1092 } else {
1093 _redist_cpu_path = "x86"
1094 }
1095 _generated_files +=
1096 [ rebase_path("//third_party/platformsdk_win7/files/Redist/" +
1097 "$_redist_cpu_path/sas.dll",
1098 root_build_dir) ]
1099 _extra_files += [ "files/sas.dll" ]
1100 }
1101
1102 args = [
1103 rebase_path("$root_gen_dir/installation", root_build_dir),
1104 rebase_path(_output, root_build_dir),
1105 "--source-file-roots",
1106 rebase_path("//remoting/host/installer/win"),
1107 "--source-files",
1108 rebase_path("//remoting/host/installer/win/chromoting.wxs"),
1109 rebase_path("//remoting/host/installer/win/parameters.json"),
1110
1111 # Input files
1112 "--generated-files",
1113 ] + _generated_files +
1114 [
1115 rebase_path("//remoting/resources/chromoting.ico"),
1116
1117 # Position of files in zip file
1118 "--generated-files-dst",
1119 "files/remote_assistance_host.exe",
1120 "files/remote_security_key.exe",
1121 "files/remoting_core.dll",
1122 "files/remoting_desktop.exe",
1123 "files/remoting_host.exe",
1124 "files/remoting_native_messaging_host.exe",
1125 "files/remoting_start_host.exe",
1126 "files/CREDITS.txt",
1127 "files/com.google.chrome.remote_assistance.json",
1128 "files/com.google.chrome.remote_desktop.json",
1129 "files/chromoting.ico",
1130 "files/icudtl.dat",
1131 ] + _extra_files + # Defs
1132 [
1133 "--defs",
1134 "BRANDING=$_branding",
1135 "DAEMON_CONTROLLER_CLSID={$daemon_controller_clsid}",
1136 "RDP_DESKTOP_SESSION_CLSID={$rdp_desktop_session_clsid}",
1137 "VERSION=$chrome_version_full",
1138 "OFFICIAL_BUILD=$_official_build",
1139 ]
1140 }
1141 } else {
1142 group("remoting_me2me_host_archive") {
1143 }
1144 }
1145
1146 if (is_win && is_chrome_branded) {
1147 if (target_cpu == "x86") {
1148 # The script uses "ia32" instead of "x86".
1149 msi_script_arch = "ia32"
1150 } else {
1151 msi_script_arch = target_cpu
1152 }
1153
1154 # GYP version: remoting/remoting_host_win.gyp:remoting_host_installation
1155 action("remoting_host_installation") {
1156 deps = [
1157 "//remoting/host:remoting_me2me_host_archive",
1158 ]
1159 script = "../tools/zip2msi.py"
1160 outputs = [
1161 "$root_out_dir/chromoting.msi",
1162 ]
1163 args = [
1164 "--wix_path",
1165 rebase_path("//third_party/wix"),
1166 "--intermediate_dir",
1167 rebase_path("$root_gen_dir/installation", root_build_dir),
1168 "--target_arch",
1169 msi_script_arch,
1170 rebase_path("$root_out_dir/remoting-me2me-host-$current_os.zip",
1171 root_build_dir),
1172 rebase_path(outputs[0], root_build_dir),
1173 ]
1174 }
1175 } 1161 }
1176 } 1162 }
1177 } 1163 }
OLDNEW
« no previous file with comments | « remoting/BUILD.gn ('k') | remoting/host/constants_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698