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

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

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