OLD | NEW |
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 Loading... |
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 } |
OLD | NEW |