| Index: remoting/host/BUILD.gn
|
| diff --git a/remoting/host/BUILD.gn b/remoting/host/BUILD.gn
|
| index 92263a850882578a6dbb04a4e316a151252fe53f..fd1745dc51e5f3963f5c483aa2f10deb425215e6 100644
|
| --- a/remoting/host/BUILD.gn
|
| +++ b/remoting/host/BUILD.gn
|
| @@ -3,38 +3,6 @@
|
| # found in the LICENSE file.
|
|
|
| import("//remoting/build/config/remoting_build.gni")
|
| -
|
| -group("all_tests") {
|
| - testonly = true
|
| -
|
| - deps = [
|
| - ":unit_tests",
|
| - ]
|
| -}
|
| -
|
| -group("all") {
|
| - testonly = true
|
| -
|
| - deps = [
|
| - ":host",
|
| - ]
|
| - if (enable_me2me_host) {
|
| - deps += [ "//remoting/host:remoting_me2me_host" ]
|
| - }
|
| -
|
| - if (is_chrome_branded) {
|
| - deps += [ ":remoting_host_branded" ]
|
| - }
|
| -
|
| - if (!is_chromeos && !is_android && !is_ios) {
|
| - deps += [
|
| - "//remoting/host:remoting_native_messaging_host",
|
| - "//remoting/host:remoting_native_messaging_manifests",
|
| - "//remoting/host:remoting_start_host",
|
| - "//remoting/host/it2me:remote_assistance_host",
|
| - ]
|
| - }
|
| -}
|
|
|
| process_version("remoting_version") {
|
| template_file = "//remoting/host/version.h.in"
|
| @@ -42,6 +10,85 @@
|
| branding_path,
|
| ]
|
| output = "$target_gen_dir/version.h"
|
| +}
|
| +
|
| +if (is_win) {
|
| + import("//remoting/host/predefines_win.gni")
|
| +} else if (is_mac) {
|
| + import("//build/config/mac/rules.gni")
|
| + import("//third_party/icu/config.gni")
|
| +}
|
| +
|
| +if (is_win) {
|
| + # Reference this manifest to indicate that a process is per-monitor DPI aware.
|
| + dpi_aware_manifest = "//remoting/host/win/dpi_aware.manifest"
|
| +
|
| + # Reference this manifest to give the binary the uiAccess privilege.
|
| + enable_uiaccess_manifest = "//remoting/host/win/enable_uiaccess.manifest"
|
| +
|
| + # Depending on this target gives the executable a default manifest with the
|
| + # addition of the DPI aware tag.
|
| + windows_manifest("dpi_aware_exe_manifest") {
|
| + sources = [
|
| + as_invoker_manifest,
|
| + common_controls_manifest,
|
| + default_compatibility_manifest,
|
| + dpi_aware_manifest,
|
| + ]
|
| + type = "exe"
|
| + }
|
| +
|
| + # Depending on this target gives the executable a default manifest with the
|
| + # addition of the DPI aware tag and requestedExecutionLevel of
|
| + # requireAdministrator.
|
| + windows_manifest("dpi_aware_elevated_exe_manifest") {
|
| + sources = [
|
| + common_controls_manifest,
|
| + default_compatibility_manifest,
|
| + dpi_aware_manifest,
|
| + require_administrator_manifest,
|
| + ]
|
| + type = "exe"
|
| + }
|
| +
|
| + # Depending on this target gives the executable a default manifest with the
|
| + # addition of the DPI aware tag and enables uiAccess.
|
| + windows_manifest("dpi_aware_uiaccess_exe_manifest") {
|
| + sources = [
|
| + common_controls_manifest,
|
| + default_compatibility_manifest,
|
| + dpi_aware_manifest,
|
| + enable_uiaccess_manifest,
|
| + ]
|
| + type = "exe"
|
| + }
|
| +}
|
| +
|
| +action("credits") {
|
| + # We put this in $root_build_dir/gen/remoting instead of
|
| + # $root_build_dir/gen/remoting/host (target_gen_dir) for
|
| + # compatibility w/ GYP, since the installer needs the file to
|
| + # be at the same location.
|
| + about_credits_file = "$root_build_dir/gen/remoting/CREDITS.txt"
|
| + script = "//tools/licenses.py"
|
| +
|
| + inputs = [
|
| + "installer/credits.tmpl",
|
| + "installer/credits_entry.tmpl",
|
| + ]
|
| +
|
| + outputs = [
|
| + about_credits_file,
|
| + ]
|
| +
|
| + args = [
|
| + "credits",
|
| + rebase_path(about_credits_file, root_build_dir),
|
| + "--file-template",
|
| + rebase_path("installer/credits.tmpl", root_build_dir),
|
| + "--entry-template",
|
| + rebase_path("installer/credits_entry.tmpl", root_build_dir),
|
| + ]
|
| }
|
|
|
| # This must be a static library instead of a source set because
|
| @@ -296,6 +343,32 @@
|
| "usage_stats_consent_win.cc",
|
| "username.cc",
|
| "username.h",
|
| + "win/com_imported_mstscax.tlh",
|
| + "win/com_security.cc",
|
| + "win/com_security.h",
|
| + "win/elevation_helpers.cc",
|
| + "win/elevation_helpers.h",
|
| + "win/launch_process_with_token.cc",
|
| + "win/launch_process_with_token.h",
|
| + "win/omaha.cc",
|
| + "win/omaha.h",
|
| + "win/rdp_client.cc",
|
| + "win/rdp_client.h",
|
| + "win/rdp_client_window.cc",
|
| + "win/rdp_client_window.h",
|
| + "win/security_descriptor.cc",
|
| + "win/security_descriptor.h",
|
| + "win/session_desktop_environment.cc",
|
| + "win/session_desktop_environment.h",
|
| + "win/session_input_injector.cc",
|
| + "win/session_input_injector.h",
|
| + "win/window_station_and_desktop.cc",
|
| + "win/window_station_and_desktop.h",
|
| + "win/worker_process_launcher.cc",
|
| + "win/worker_process_launcher.h",
|
| + "win/wts_terminal_monitor.cc",
|
| + "win/wts_terminal_monitor.h",
|
| + "win/wts_terminal_observer.h",
|
| ]
|
|
|
| libs = []
|
| @@ -324,8 +397,6 @@
|
| "//ui/events/platform",
|
| ]
|
|
|
| - public_deps = []
|
| -
|
| if (enable_configuration_policy) {
|
| deps += [ "//components/policy:generated" ]
|
| }
|
| @@ -425,12 +496,9 @@
|
|
|
| if (is_win) {
|
| deps += [
|
| - "//remoting/host/win",
|
| - "//remoting/host/win:messages",
|
| - "//remoting/host/win:remoting_lib_idl",
|
| - ]
|
| -
|
| - public_deps += [ "//remoting/host/win" ]
|
| + ":messages",
|
| + ":remoting_lib_idl",
|
| + ]
|
| }
|
|
|
| if (enable_webrtc) {
|
| @@ -539,6 +607,8 @@
|
| "third_party_auth_config_unittest.cc",
|
| "token_validator_factory_impl_unittest.cc",
|
| "touch_injector_win_unittest.cc",
|
| + "win/rdp_client_unittest.cc",
|
| + "win/worker_process_launcher_unittest.cc",
|
| ]
|
|
|
| if (!use_x11 && is_linux) {
|
| @@ -552,6 +622,14 @@
|
| }
|
| if (is_android) {
|
| sources -= [ "it2me/it2me_native_messaging_host_unittest.cc" ]
|
| + }
|
| + if (is_win) {
|
| + sources += [
|
| + "win/elevated_native_messaging_host.cc",
|
| + "win/elevated_native_messaging_host.h",
|
| + "win/launch_native_messaging_host_process.cc",
|
| + "win/launch_native_messaging_host_process.h",
|
| + ]
|
| }
|
|
|
| configs += [ "//remoting/build/config:version" ]
|
| @@ -569,33 +647,341 @@
|
| "//testing/gmock",
|
| "//testing/gtest",
|
| ]
|
| - if (is_win) {
|
| - deps += [ "//remoting/host/win:unit_tests" ]
|
| - }
|
|
|
| if (enable_configuration_policy) {
|
| deps += [ "//components/policy/core/browser:test_support" ]
|
| }
|
| }
|
|
|
| -group("remoting_host_branded") {
|
| - testonly = true
|
| - deps = []
|
| - if (enable_remoting_host) {
|
| - deps += [ ":remoting_host_installation" ]
|
| - }
|
| - if (enable_me2me_host) {
|
| - deps += [ "//remoting/host:remoting_me2me_host_archive" ]
|
| - }
|
| -}
|
| -
|
| -if (enable_remoting_host) {
|
| - group("remoting_host_installation") {
|
| - deps = []
|
| - if (is_win) {
|
| - deps += [ "//remoting/host/installer/win:remoting_host_installation" ]
|
| - }
|
| - }
|
| +if (is_win) {
|
| + import("//build/toolchain/win/midl.gni")
|
| + import("//build/win/message_compiler.gni")
|
| +
|
| + # TODO(brettw) these should not be generated via exec_script. This should be
|
| + # part of the build process rather than the metabuild. Instead, a script
|
| + # should generate a header containing the #defines for this as well as the
|
| + # IDL file with the values.
|
| + clsids = exec_script("win/get_clsids.py",
|
| + [
|
| + daemon_controller_guid,
|
| + rdp_desktop_session_guid,
|
| + chrome_version_full,
|
| + ],
|
| + "value")
|
| + daemon_controller_clsid = clsids[0]
|
| + rdp_desktop_session_clsid = clsids[1]
|
| +
|
| + action("generate_idl") {
|
| + script = "//build/util/version.py"
|
| +
|
| + inputs = [
|
| + "win/chromoting_lib_idl.templ",
|
| + ]
|
| + outputs = [
|
| + "$target_gen_dir/chromoting_lib.idl",
|
| + ]
|
| +
|
| + args = [
|
| + "-e",
|
| + "DAEMON_CONTROLLER_CLSID='$daemon_controller_clsid'",
|
| + "-e",
|
| + "RDP_DESKTOP_SESSION_CLSID='$rdp_desktop_session_clsid'",
|
| + rebase_path(inputs[0], root_build_dir),
|
| + rebase_path(outputs[0], root_build_dir),
|
| + ]
|
| + }
|
| +
|
| + midl("remoting_lib_idl") {
|
| + sources = get_target_outputs(":generate_idl")
|
| + deps = [
|
| + ":generate_idl",
|
| + ]
|
| + }
|
| +
|
| + config("MIDL_config") {
|
| + if (is_clang) {
|
| + cflags = [
|
| + # MIDL generated code has a habit of omitting optional braces.
|
| + "-Wno-missing-braces",
|
| +
|
| + # Source files generated by the MIDL compiler trigger warnings with
|
| + # -Wincompatible-pointer-types enabled.
|
| + "-Wno-incompatible-pointer-types",
|
| +
|
| + # Generated code contains unused variables.
|
| + "-Wno-unused-variable",
|
| +
|
| + # PROXYFILE_LIST_START is an extern with initializer.
|
| + "-Wno-extern-initializer",
|
| + ]
|
| + }
|
| + }
|
| +
|
| + static_library("remoting_lib_ps") {
|
| + configs += [ ":MIDL_config" ]
|
| +
|
| + defines = [
|
| + "ENTRY_PREFIX=Ps",
|
| + "REGISTER_PROXY_DLL",
|
| + ]
|
| +
|
| + deps = [
|
| + ":remoting_lib_idl",
|
| + ]
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/host/chromoting_lib.dlldata.c",
|
| + "$root_gen_dir/remoting/host/chromoting_lib_p.c",
|
| + ]
|
| + }
|
| +
|
| + # Makes the .mc file from the .mc.jinja file.
|
| + remoting_localize("messages_localizing") {
|
| + sources = [
|
| + "win/host_messages.mc.jinja2",
|
| + ]
|
| + locales = remoting_locales
|
| + locale_dir = webapp_locale_dir
|
| + encoding = "utf-16"
|
| +
|
| + # This target is funny. It only produces one file and the output doesn't
|
| + # match the input. We want to generate remoting_host_messages.mc from
|
| + # host_messages.mg.jinja2. GN complains if it doesn't see a pattern in the
|
| + # output, so the following pattern produces the name we want with a template
|
| + # based on the input.
|
| + #
|
| + # TODO: This is for GYP compat. We should just make the names match instead.
|
| + output = "$target_gen_dir/remoting_{{source_name_part}}"
|
| + }
|
| +
|
| + # Makes the .h/.rc files from the .mc file.
|
| + message_compiler("messages") {
|
| + compile_generated_code = false
|
| + sources = get_target_outputs(":messages_localizing")
|
| + deps = [
|
| + ":messages_localizing",
|
| + ]
|
| + }
|
| +
|
| + executable("remoting_console") {
|
| + configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
| +
|
| + defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ]
|
| +
|
| + deps = [
|
| + ":dpi_aware_exe_manifest",
|
| + ":remoting_core",
|
| + ":remoting_windows_resources",
|
| + ]
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/version.rc",
|
| + "win/entry_point.cc",
|
| + ]
|
| +
|
| + ldflags = [
|
| + "/ENTRY:HostEntryPoint",
|
| + # "/NODEFAULTLIB",
|
| + ]
|
| + }
|
| +
|
| + shared_library("remoting_core") {
|
| + configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
| +
|
| + defines = host_predefines + [
|
| + "_ATL_APARTMENT_THREADED",
|
| + "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS",
|
| + "_ATL_NO_AUTOMATIC_NAMESPACE",
|
| + "_ATL_NO_EXCEPTIONS",
|
| + "BINARY=BINARY_CORE",
|
| + "DAEMON_CONTROLLER_CLSID=\"$daemon_controller_clsid\"",
|
| + "RDP_DESKTOP_SESSION_CLSID=\"$rdp_desktop_session_clsid\"",
|
| + "HOST_IMPLEMENTATION",
|
| + "ISOLATION_AWARE_ENABLED=1",
|
| + "STRICT",
|
| + "VERSION=$chrome_version_full",
|
| + ]
|
| +
|
| + if (remoting_multi_process != 0 && remoting_rdp_session != 0) {
|
| + defines += [ "REMOTING_RDP_SESSION" ]
|
| + }
|
| +
|
| + if (remoting_multi_process != 0) {
|
| + defines += [ "REMOTING_MULTI_PROCESS" ]
|
| + }
|
| +
|
| + deps = [
|
| + ":host",
|
| + ":messages",
|
| + ":remoting_lib_idl",
|
| + ":remoting_lib_ps",
|
| + ":remoting_me2me_host_static",
|
| + ":remoting_windows_resources",
|
| + "//base",
|
| + "//base:base_static",
|
| + "//base/allocator",
|
| + "//base/third_party/dynamic_annotations",
|
| + "//build/win:default_exe_manifest",
|
| + "//ipc",
|
| + "//net",
|
| + "//remoting/base",
|
| + "//remoting/base:breakpad",
|
| + "//remoting/codec",
|
| + "//remoting/host/it2me:common",
|
| + "//remoting/host/native_messaging",
|
| + "//remoting/host/security_key:main",
|
| + "//remoting/host/setup",
|
| + "//remoting/protocol",
|
| + "//sandbox/win:sandbox", # Should always use Windows version
|
| + "//third_party/webrtc/modules/desktop_capture",
|
| + ]
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/core.rc",
|
| + "$root_gen_dir/remoting/host/remoting_host_messages.rc",
|
| + "$root_gen_dir/remoting/version.rc",
|
| + "desktop_process_main.cc",
|
| + "host_main.cc",
|
| + "host_main.h",
|
| + "it2me/it2me_native_messaging_host_main.cc",
|
| + "it2me/it2me_native_messaging_host_main.h",
|
| + "setup/host_starter.cc",
|
| + "setup/host_starter.h",
|
| + "setup/me2me_native_messaging_host_main.cc",
|
| + "setup/me2me_native_messaging_host_main.h",
|
| + "setup/start_host_main.cc",
|
| + "setup/start_host_main.h",
|
| + "win/chromoting_lib.rc",
|
| + "win/chromoting_module.cc",
|
| + "win/chromoting_module.h",
|
| + "win/core.cc",
|
| + "win/core_resource.h",
|
| + "win/elevated_native_messaging_host.cc",
|
| + "win/elevated_native_messaging_host.h",
|
| + "win/host_service.cc",
|
| + "win/host_service.h",
|
| + "win/launch_native_messaging_host_process.cc",
|
| + "win/launch_native_messaging_host_process.h",
|
| + "win/omaha.cc",
|
| + "win/omaha.h",
|
| + "win/rdp_desktop_session.cc",
|
| + "win/rdp_desktop_session.h",
|
| + "win/unprivileged_process_delegate.cc",
|
| + "win/unprivileged_process_delegate.h",
|
| + "win/wts_session_process_delegate.cc",
|
| + "win/wts_session_process_delegate.h",
|
| + "worker_process_ipc_delegate.h",
|
| + ]
|
| +
|
| + ldflags = [
|
| + "/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE",
|
| + "/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE",
|
| + "/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE",
|
| + "/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE",
|
| + ]
|
| +
|
| + libs = [
|
| + "comctl32.lib",
|
| + "rpcns4.lib",
|
| + "rpcrt4.lib",
|
| + "sas.lib",
|
| + "uuid.lib",
|
| + "wtsapi32.lib",
|
| + ]
|
| +
|
| + if (is_clang) {
|
| + cflags = [ "-Wno-header-hygiene" ]
|
| + }
|
| + }
|
| +
|
| + executable("remoting_desktop") {
|
| + configs += [
|
| + "//build/config/compiler:wexit_time_destructors",
|
| + "//build/config/win:windowed",
|
| + ]
|
| +
|
| + defines = host_predefines + [ "BINARY=BINARY_DESKTOP" ]
|
| +
|
| + deps = [
|
| + ":remoting_core",
|
| + ":remoting_windows_resources",
|
| + ]
|
| +
|
| + if (is_official_build) {
|
| + deps += [ ":dpi_aware_elevated_exe_manifest" ]
|
| + } else {
|
| + deps += [ ":dpi_aware_exe_manifest" ]
|
| + }
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/version.rc",
|
| + "win/entry_point.cc",
|
| + ]
|
| +
|
| + ldflags = [
|
| + "/ENTRY:HostEntryPoint",
|
| + # "/NODEFAULTLIB",
|
| + ]
|
| + }
|
| +
|
| + executable("remoting_native_messaging_host") {
|
| + configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
| +
|
| + defines = host_predefines + [ "BINARY=BINARY_NATIVE_MESSAGING_HOST" ]
|
| +
|
| + deps = [
|
| + ":remoting_core",
|
| + ":remoting_windows_resources",
|
| + "//build/win:default_exe_manifest",
|
| + ]
|
| +
|
| + if (is_mac) {
|
| + foreach(locale, remoting_locales_with_underscores) {
|
| + deps += [
|
| + ":native_messaging_host_strings_${locale}_bundle_data",
|
| + ":remoting_host_locale_${locale}_bundle_data",
|
| + ]
|
| + }
|
| + deps += [
|
| + ":remoting_infoplist_strings",
|
| + "//remoting/resources:copy_locales",
|
| + ]
|
| + }
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/version.rc",
|
| + "setup/me2me_native_messaging_host_entry_point.cc",
|
| + ]
|
| + }
|
| +
|
| + remoting_localize("remoting_windows_resources") {
|
| + deps = [
|
| + "//remoting/resources",
|
| + ]
|
| +
|
| + sources = [
|
| + "win/core.rc.jinja2",
|
| + "win/version.rc.jinja2",
|
| + ]
|
| +
|
| + # TODO(zijiehe): Export lastchange_path from
|
| + # //chrome/version.gni:process_version
|
| + variables = [
|
| + rebase_path(chrome_version_file),
|
| + rebase_path(remoting_version_file),
|
| + rebase_path("//build/util/LASTCHANGE"),
|
| + ]
|
| +
|
| + output = "$root_gen_dir/remoting/{{source_name_part}}"
|
| +
|
| + locale_dir = webapp_locale_dir
|
| +
|
| + encoding = "utf-16"
|
| +
|
| + locales = remoting_locales
|
| + }
|
| +
|
| + # TODO(GYP) More Windows remoting targets from remoting_host_win.gypi
|
| }
|
|
|
| if (enable_remoting_host && !is_android) {
|
| @@ -614,9 +1000,9 @@
|
| defines = host_predefines + [ "BINARY=BINARY_REMOTING_START_HOST" ]
|
|
|
| deps += [
|
| + ":remoting_core",
|
| + ":remoting_windows_resources",
|
| "//build/win:default_exe_manifest",
|
| - "//remoting/host/win:remoting_core",
|
| - "//remoting/host/win:remoting_windows_resources",
|
| ]
|
| } else {
|
| sources += [
|
| @@ -742,10 +1128,7 @@
|
| ]
|
| defines = []
|
|
|
| - configs += [
|
| - "//remoting/build/config:version",
|
| - "//remoting/build/config:remoting_me2me_host",
|
| - ]
|
| + configs += [ "//remoting/build/config:version" ]
|
|
|
| deps = [
|
| "//base",
|
| @@ -779,18 +1162,43 @@
|
|
|
| if (is_mac && is_official_build) {
|
| sources += [ "internal/internal_mac-inl.h" ]
|
| + defines += [ "USE_REMOTING_MACOSX_INTERNAL" ]
|
| + }
|
| +
|
| + if (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) {
|
| + defines += [ "REMOTING_RDP_SESSION" ]
|
| + }
|
| +
|
| + if (remoting_multi_process != 0) {
|
| + defines += [ "REMOTING_MULTI_PROCESS" ]
|
| }
|
| }
|
|
|
| if (is_win) {
|
| - group("remoting_me2me_host") {
|
| + executable("remoting_me2me_host") {
|
| + configs += [
|
| + "//build/config/compiler:wexit_time_destructors",
|
| + "//build/config/win:windowed",
|
| + ]
|
| +
|
| + defines = host_predefines + [ "BINARY=BINARY_HOST_ME2ME" ]
|
| +
|
| deps = [
|
| - "//remoting/host/win:remoting_me2me_host",
|
| - ]
|
| - }
|
| - group("remoting_native_messaging_host") {
|
| - deps = [
|
| - "//remoting/host/win:remoting_native_messaging_host",
|
| + ":dpi_aware_exe_manifest",
|
| + ":remoting_core",
|
| + ":remoting_windows_resources",
|
| + ]
|
| +
|
| + sources = [
|
| + "$root_gen_dir/remoting/version.rc",
|
| + "win/entry_point.cc",
|
| + ]
|
| +
|
| + output_name = "remoting_host"
|
| +
|
| + ldflags = [
|
| + "/ENTRY:HostEntryPoint",
|
| + # "/NODEFAULTLIB",
|
| ]
|
| }
|
| } else {
|
| @@ -833,7 +1241,7 @@
|
| ]
|
|
|
| public_deps = [
|
| - "//remoting/host/installer:credits",
|
| + ":credits",
|
| ]
|
|
|
| if (icu_use_data_file) {
|
| @@ -867,10 +1275,10 @@
|
| }
|
|
|
| deps = [
|
| + ":credits",
|
| ":remoting_me2me_host_static",
|
| "//build/config/sanitizers:deps",
|
| "//remoting/base:breakpad",
|
| - "//remoting/host/installer:credits",
|
| "//remoting/resources",
|
| ]
|
| if (is_mac) {
|
| @@ -935,7 +1343,7 @@
|
| }
|
| }
|
|
|
| - target(app_target_type, "remoting_native_messaging_host") {
|
| + target(app_target_type, "native_messaging_host") {
|
| if (is_mac) {
|
| info_plist = "setup/native_messaging_host-Info.plist"
|
| extra_configs = [ "//build/config/compiler:wexit_time_destructors" ]
|
| @@ -1064,8 +1472,8 @@
|
| ]
|
|
|
| deps = [
|
| + ":native_messaging_host",
|
| ":remoting_me2me_host",
|
| - ":remoting_native_messaging_host",
|
| ":remoting_native_messaging_manifests",
|
| ":remoting_start_host",
|
| "//remoting/host/it2me:remote_assistance_host",
|
| @@ -1074,10 +1482,107 @@
|
| ]
|
| }
|
| } else if (is_win) {
|
| - group("remoting_me2me_host_archive") {
|
| + action("remoting_me2me_host_archive") {
|
| + script = "//remoting/host/installer/build-installer-archive.py"
|
| +
|
| deps = [
|
| - "//remoting/host/installer/win:remoting_me2me_host_archive",
|
| - ]
|
| + ":credits",
|
| + ":remoting_core",
|
| + ":remoting_desktop",
|
| + ":remoting_me2me_host",
|
| + ":remoting_native_messaging_host",
|
| + ":remoting_native_messaging_manifests",
|
| + ":remoting_start_host",
|
| + "it2me:remote_assistance_host",
|
| + "it2me:remote_assistance_host_uiaccess",
|
| + "//remoting/host/security_key:remote_security_key",
|
| + "//third_party/icu:icudata",
|
| + ]
|
| +
|
| + _output = "$root_out_dir/remoting-me2me-host-$target_os.zip"
|
| +
|
| + outputs = [
|
| + _output,
|
| + ]
|
| + if (is_chrome_branded) {
|
| + _branding = "Chrome"
|
| + } else {
|
| + _branding = "Chromium"
|
| + }
|
| +
|
| + if (is_official_build) {
|
| + _official_build = "1"
|
| + } else {
|
| + _official_build = "0"
|
| + }
|
| +
|
| + # Due to GN build issue http://crbug.com/633650, we need to actively set
|
| + # inputs parameter to tell GN to depend on these files. So change to each
|
| + # following files will trigger this target to be rebuilt.
|
| + # TODO(zijiehe): Remove inputs parameter once bug 633650 has been
|
| + # addressed.
|
| + inputs = [
|
| + "$root_out_dir/remote_assistance_host.exe",
|
| + "$root_out_dir/remote_assistance_host_uiaccess.exe",
|
| + "$root_out_dir/remote_security_key.exe",
|
| + "$root_out_dir/remoting_core.dll",
|
| + "$root_out_dir/remoting_desktop.exe",
|
| + "$root_out_dir/remoting_host.exe",
|
| + "$root_out_dir/remoting_native_messaging_host.exe",
|
| + "$root_out_dir/remoting_start_host.exe",
|
| + "$root_gen_dir/remoting/CREDITS.txt",
|
| + "$root_out_dir/remoting/com.google.chrome.remote_assistance.json",
|
| + "$root_out_dir/remoting/com.google.chrome.remote_desktop.json",
|
| + "$root_out_dir/icudtl.dat",
|
| + ]
|
| +
|
| + _generated_files = rebase_path(inputs, root_build_dir)
|
| + _generated_files += [ rebase_path("//remoting/resources/chromoting.ico") ]
|
| +
|
| + # _generated_dst_files must contain the same files in the same order as
|
| + # _generated_files, otherwise the Windows MSI will not be built correctly.
|
| + _generated_dst_files = [
|
| + "files/remote_assistance_host.exe",
|
| + "files/remote_assistance_host_uiaccess.exe",
|
| + "files/remote_security_key.exe",
|
| + "files/remoting_core.dll",
|
| + "files/remoting_desktop.exe",
|
| + "files/remoting_host.exe",
|
| + "files/remoting_native_messaging_host.exe",
|
| + "files/remoting_start_host.exe",
|
| + "files/CREDITS.txt",
|
| + "files/com.google.chrome.remote_assistance.json",
|
| + "files/com.google.chrome.remote_desktop.json",
|
| + "files/icudtl.dat",
|
| + "files/chromoting.ico",
|
| + ]
|
| +
|
| + args =
|
| + [
|
| + rebase_path("$root_gen_dir/remoting_installation", root_build_dir),
|
| + rebase_path(_output, root_build_dir),
|
| + "--source-file-roots",
|
| + rebase_path("//remoting/host/installer/win"),
|
| + "--source-files",
|
| + rebase_path("//remoting/host/installer/win/chromoting.wxs"),
|
| + rebase_path("//remoting/host/installer/win/parameters.json"),
|
| +
|
| + # Input files
|
| + "--generated-files",
|
| + ] + _generated_files +
|
| + [
|
| + # Position of files in zip file
|
| + "--generated-files-dst",
|
| + ] + _generated_dst_files +
|
| + [
|
| + # Defs
|
| + "--defs",
|
| + "BRANDING=$_branding",
|
| + "DAEMON_CONTROLLER_CLSID={$daemon_controller_clsid}",
|
| + "RDP_DESKTOP_SESSION_CLSID={$rdp_desktop_session_clsid}",
|
| + "VERSION=$chrome_version_full",
|
| + "OFFICIAL_BUILD=$_official_build",
|
| + ]
|
| }
|
| } else if (is_mac) {
|
| import("//build/config/zip.gni")
|
| @@ -1165,10 +1670,10 @@
|
| ]
|
|
|
| deps = [
|
| + ":native_messaging_host",
|
| ":remoting_host_prefpane.prefPane",
|
| ":remoting_host_uninstaller",
|
| ":remoting_me2me_host",
|
| - ":remoting_native_messaging_host",
|
| ":remoting_native_messaging_manifests",
|
| "//remoting/host/it2me:remote_assistance_host",
|
| ]
|
| @@ -1369,4 +1874,37 @@
|
| group("remoting_me2me_host_archive") {
|
| }
|
| }
|
| +
|
| + if (is_win && is_chrome_branded) {
|
| + # We do not release a 64 bits binary. So to avoid any potential
|
| + # misunderstanding, we only build 32 bits MSI file.
|
| + if (!is_component_build && target_cpu == "x86") {
|
| + # The script uses "ia32" instead of "x86".
|
| + msi_script_arch = "ia32"
|
| +
|
| + action("remoting_host_installation") {
|
| + deps = [
|
| + "//remoting/host:remoting_me2me_host_archive",
|
| + ]
|
| + script = "../tools/zip2msi.py"
|
| + outputs = [
|
| + "$root_out_dir/chromoting.msi",
|
| + ]
|
| + args = [
|
| + "--wix_path",
|
| + rebase_path("//third_party/wix"),
|
| + "--intermediate_dir",
|
| + rebase_path("$root_gen_dir/remoting_installation", root_build_dir),
|
| + "--target_arch",
|
| + msi_script_arch,
|
| + rebase_path("$root_out_dir/remoting-me2me-host-$current_os.zip",
|
| + root_build_dir),
|
| + rebase_path(outputs[0], root_build_dir),
|
| + ]
|
| + }
|
| + } else {
|
| + group("remoting_host_installation") {
|
| + }
|
| + }
|
| + }
|
| }
|
|
|