Chromium Code Reviews| Index: remoting/host/BUILD.gn |
| diff --git a/remoting/host/BUILD.gn b/remoting/host/BUILD.gn |
| index 8a918fa432492d302b1f47a308a3be190b3bbfb5..7d1d209f2465fa73e9734f27d4855d15f2d80bf9 100644 |
| --- a/remoting/host/BUILD.gn |
| +++ b/remoting/host/BUILD.gn |
| @@ -369,6 +369,55 @@ if (is_mac) { # TODO(GYP) Mac build of remoting host. |
| ] |
| } |
| + # GYP version: remoting/remoting_host_win.gypi:remoting_lib_ps |
| + static_library("remoting_lib_ps") { |
| + 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", |
| + ] |
| + |
| + 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", |
| + ] |
| + } |
| + } |
| + |
| + # GYP version: remoting/remoting_host_win.gypi:remoting_lib_rc |
| + action("remoting_lib_rc") { |
| + sources = [ |
| + "win/chromoting_lib_idl.templ", |
| + ] |
| + |
| + script = "gen_remoting_lib_rc.py" |
| + |
| + outputs = [ |
| + "$target_gen_dir/chromoting_lib.rc", |
| + ] |
| + |
| + args = [ rebase_path(outputs[0], root_build_dir) ] |
| + } |
| + |
| # Makes the .mc file from the .mc.jinja file. |
| remoting_localize("messages_localizing") { |
| sources = [ |
| @@ -396,6 +445,237 @@ if (is_mac) { # TODO(GYP) Mac build of remoting host. |
| ] |
| } |
| + # GYP version: remoting/remoting_host_win.gypi:remoting_console |
| + executable("remoting_console") { |
| + configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| + |
| + defines = [ "BINARY=BINARY_HOST_ME2ME" ] |
| + |
| + deps = [ |
| + ":remoting_core", |
| + ":remoting_windows_resources", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/version.rc", |
| + "win/entry_point.cc", |
| + ] |
| + |
| + ldflags = [ |
| + "/MANIFEST:EMBED", |
| + "/MANIFESTINPUT:" + |
| + rebase_path("win/dpi_aware.manifest", root_build_dir), |
| + "/ENTRY:HostEntryPoint", |
| + "/NODEFAULTLIB", |
| + ] |
| + } |
| + |
| + # GYP version: //remoting/remoting_host_win.gypi:remoting_core |
| + shared_library("remoting_core") { |
| + configs += [ |
| + "//base/allocator:allocator_shim_define", |
| + "//build/config/compiler:wexit_time_destructors", |
| + ] |
| + |
| + defines = [ |
| + "_ATL_APARTMENT_THREADED", |
| + "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS", |
| + "_ATL_NO_AUTOMATIC_NAMESPACE", |
| + "_ATL_NO_EXCEPTIONS", |
| + "BINARY=BINARY_CORE", |
| + "BINARY_CORE=1", |
| + "BINARY_DESKTOP=2", |
| + "BINARY_HOST_ME2ME=3", |
| + "BINARY_NATIVE_MESSAGING_HOST=4", |
| + "BINARY_REMOTE_ASSISTANCE_HOST=5", |
| + "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 (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) { |
| + defines += [ "REMOTING_RDP_SESSION" ] |
| + } |
| + |
| + if (remoting_multi_process != 0) { |
| + defines += [ "REMOTING_MULTI_PROCESS" ] |
| + } |
| + |
| + deps = [ |
| + ":remoting_lib_idl", |
| + ":remoting_lib_ps", |
| + ":remoting_lib_rc", |
| + ":remoting_me2me_host_static", |
| + ":remoting_windows_resources", |
| + "//base", |
| + "//base:base_static", |
| + "//base/third_party/dynamic_annotations", |
| + "//ipc", |
| + "//net", |
| + "//remoting/base", |
| + "//remoting/base:breakpad", |
| + "//remoting/codec", |
| + "//remoting/host", |
| + "//remoting/host:messages", |
| + "//remoting/host/it2me:common", |
| + "//remoting/host/native_messaging", |
| + "//remoting/host/setup", |
| + "//remoting/protocol", |
| + "//sandbox/win:sandbox", # Should always use Windows version |
| + "//third_party/webrtc/modules/desktop_capture", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/host/chromoting_lib.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", |
| + "security_key/remote_security_key_main.cc", |
| + "security_key/remote_security_key_main.h", |
| + "setup/me2me_native_messaging_host_main.cc", |
| + "setup/me2me_native_messaging_host_main.h", |
| + "win/chromoting_module.cc", |
| + "win/chromoting_module.h", |
| + "win/core.cc", |
| + "win/core_resource.h", |
| + "win/host_service.cc", |
| + "win/host_service.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 = [ |
| + "/MANIFEST:EMBED", |
| + "/MANIFESTINPUT:" + |
| + rebase_path("win/common-controls.manifest", root_build_dir), |
| + "comctl32.lib", |
| + "rpcns4.lib", |
| + "rpcrt4.lib", |
| + "uuid.lib", |
| + "wtsapi32.lib", |
| + "/EXPORT:DllGetClassObject=PsDllGetClassObject,PRIVATE", |
| + "/EXPORT:DllCanUnloadNow=PsDllCanUnloadNow,PRIVATE", |
| + "/EXPORT:DllRegisterServer=PsDllRegisterServer,PRIVATE", |
| + "/EXPORT:DllUnregisterServer=PsDllUnregisterServer,PRIVATE", |
| + ] |
| + |
| + if (is_clang) { |
| + cflags += [ "-Wno-header-hygiene" ] |
| + } |
| + } |
| + |
| + # GYP version: //remoting/remoting_host_win.gypi:remoting_desktop |
| + executable("remoting_desktop") { |
| + configs += [ |
| + "//build/config/compiler:wexit_time_destructors", |
| + "//build/config/win:windowed", |
| + ] |
| + |
| + defines = [ "BINARY=BINARY_DESKTOP" ] |
| + |
| + deps = [ |
| + ":remoting_core", |
| + ":remoting_windows_resources", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/version.rc", |
| + "win/entry_point.cc", |
| + ] |
| + |
| + ldflags = [ |
| + "/MANIFEST:EMBED", |
| + "/MANIFESTINPUT:" + |
| + rebase_path("win/dpi_aware.manifest", root_build_dir), |
| + "/MANIFESTUAC", |
| + "/ENTRY:HostEntryPoint", |
| + "/NODEFAULTLIB", |
| + ] |
| + |
| + if (is_official_build) { |
| + ldflags += [ |
| + "/MANIFESTUAC:level=2", |
| + "/MANIFESTUAC:uiAccess=true", |
| + ] |
| + } |
| + } |
| + |
| + # GYP version: //remoting/remoting_host_win.gypi:remote_security_key |
| + executable("remote_security_key") { |
| + configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| + |
| + defines = [ "BINARY=BINARY_REMOTE_SECURITY_KEY" ] |
| + |
| + deps = [ |
| + ":remoting_core", |
| + ":remoting_windows_resources", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/version.rc", |
| + "security_key/remote_security_key_entry_point.cc", |
| + ] |
| + |
| + ldflags = [ "/NODEFAULTLIB" ] |
| + } |
| + |
| + # GYP version: |
| + # //remoting/remoting_host_win.gypi:remoting_me2me_native_messaging_host |
| + executable("remoting_me2me_native_messaging_host") { |
| + configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| + |
| + deps = [ |
| + ":remoting_core", |
| + ":remoting_windows_resources", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/version.rc", |
| + "setup/me2me_native_messaging_host_entry_point.cc", |
| + ] |
| + |
| + ldflags = [ "/NODEFAULTLIB" ] |
| + } |
| + |
| + # GYP version: //remoting/remoting_host_win.gypi:remoting_windows_resources |
| + remoting_localize("remoting_windows_resources") { |
| + deps = [ |
| + "//remoting/resources", |
| + ] |
| + |
| + sources = [ |
| + "win/core.rc.jinja2", |
| + "win/version.rc.jinja2", |
|
Sergey Ulanov
2016/03/02 20:46:43
Should remoting_lib.rc be in this list?
Hzj_jie
2016/03/03 09:06:35
No, seems not, gn have only foreach_action, withou
|
| + ] |
| + |
| + # TODO(zijiehe): Why version file strings are not public in GN? |
|
Sergey Ulanov
2016/03/01 20:26:43
I think GN does have variables for the version, se
Hzj_jie
2016/03/02 08:27:29
Yes, thank you. But //build/util/LASTCHANGE is not
|
| + variables = [ |
| + rebase_path("//chrome/VERSION"), |
| + rebase_path("//remoting/VERSION"), |
| + 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 |
| } |
| @@ -420,8 +700,6 @@ if (is_mac) { # TODO(GYP) Mac build of remoting host. |
| action_foreach("remoting_native_messaging_manifests") { |
| if (is_mac) { |
| assert(false, "not implemented on mac yet") |
| - } else if (is_win) { |
| - assert(false, "not implemented on win yet") |
| } else { |
| me2me_host_path = |
| "/opt/google/chrome-remote-desktop/native-messaging-host" |
| @@ -505,15 +783,57 @@ if (is_mac) { # TODO(GYP) Mac build of remoting host. |
| 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) { |
| + if (is_win) { |
| + # GYP version: //remoting/remoting_host_win.gypi:remoting_me2me_host |
| + executable("remoting_me2me_host") { |
| + configs += [ |
| + "//build/config/compiler:wexit_time_destructors", |
| + "//build/config/win:windowed", |
| + ] |
| + |
| + defines = [ "BINARY=BINARY_HOST_ME2ME" ] |
| + |
| + deps = [ |
| + ":remoting_core", |
| + ":remoting_windows_resources", |
| + ] |
| + |
| + sources = [ |
| + "$root_gen_dir/remoting/version.rc", |
| + "win/entry_point.cc", |
| + ] |
| + |
| + output_name = "remoting_host" |
| + |
| + ldflags = [ |
| + "/MANIFEST:EMBED", |
| + "/MANIFESTINPUT:" + |
| + rebase_path("win/dpi_aware.manifest", root_build_dir), |
| + "/ENTRY:HostEntryPoint", |
| + "/NODEFAULTLIB", |
| + ] |
| + } |
| + } else { |
| executable("remoting_me2me_host") { |
| sources = [ |
| "host_main.cc", |
| "host_main.h", |
| ] |
| + if (((is_mac && is_chrome_branded) || is_win) && is_official_build) { |
|
Sergey Ulanov
2016/03/01 20:26:43
What's the reason it needs to be chrome-branded on
Hzj_jie
2016/03/02 08:27:29
It's the combination of,
https://cs.corp.google.co
|
| + defines = [ "REMOTING_ENABLE_BREAKPAD" ] |
| + } |
| + |
| deps = [ |
| ":credits", |
| ":remoting_me2me_host_static", |
| @@ -546,7 +866,7 @@ if (is_mac) { # TODO(GYP) Mac build of remoting host. |
| "$remoting_version_patch" + "." + "$chrome_version_build" + |
| "." + "$chrome_version_patch" ] |
| - if (is_mac || is_win) { |
| + if (is_mac) { |
| assert(false, "not implemented on mac or win yet") |
|
Sergey Ulanov
2016/03/01 20:26:43
nit: update the message
Hzj_jie
2016/03/02 08:27:29
Done.
|
| } |
| } |