| # Copyright 2016 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/features.gni") |
| import("//chrome/version.gni") |
| import("//remoting/build/config/remoting_build.gni") |
| import("//remoting/remoting_options.gni") |
| |
| if (is_win) { |
| import("//remoting/host/installer/win/generate_clsids.gni") |
| import("//remoting/host/predefines_win.gni") |
| } |
| |
| # TODO(nicholss): Move this and other defines to version.h.in. |
| # Various remoting targets need this version definition. |
| config("version") { |
| defines = [ |
| "VERSION=$chrome_version_full", |
| "VERSION_MAJOR=$chrome_version_major", |
| "VERSION_BUILD=$chrome_version_build", |
| "VERSION_PATCH=$chrome_version_patch", |
| ] |
| } |
| |
| config("remoting_me2me_host") { |
| defines = [] |
| |
| if (is_win && remoting_multi_process != 0 && remoting_rdp_session != 0) { |
| defines += [ "REMOTING_RDP_SESSION" ] |
| } |
| |
| if (remoting_multi_process != 0) { |
| defines += [ "REMOTING_MULTI_PROCESS" ] |
| } |
| } |
| |
| # Config to be added to sources that implement a HOST_EXPORT function. Applying |
| # this config will make symbols annotated with HOST_EXPORT visible to external |
| # binaries. |
| config("host_implementation") { |
| defines = [] |
| if (is_win || is_linux || is_mac) { |
| defines += [ "HOST_IMPLEMENTATION" ] |
| |
| if (!is_mac && is_chrome_branded && is_official_build) { |
| defines += [ "REMOTING_ENABLE_CRASH_REPORTING" ] |
| } |
| } |
| if (is_win) { |
| defines += host_predefines |
| defines += [ |
| "_ATL_APARTMENT_THREADED", |
| "_ATL_CSTRING_EXPLICIT_CONSTRUCTORS", |
| "_ATL_NO_AUTOMATIC_NAMESPACE", |
| "_ATL_NO_EXCEPTIONS", |
| "REMOTING_HOST_BINARY=BINARY_CORE", |
| "RDP_DESKTOP_SESSION_CLSID=\"$rdp_desktop_session_clsid\"", |
| "HOST_IMPLEMENTATION", |
| "ISOLATION_AWARE_ENABLED=1", |
| "STRICT", |
| ] |
| |
| if (remoting_multi_process != 0 && remoting_rdp_session != 0) { |
| defines += [ "REMOTING_RDP_SESSION" ] |
| } |
| |
| if (remoting_multi_process != 0) { |
| defines += [ "REMOTING_MULTI_PROCESS" ] |
| } |
| } |
| } |
| |
| # Config to allow Mac host binaries to locate libremoting_core.dylib. |
| config("mac_host_rpath") { |
| ldflags = [ |
| # For binaries in ChromeRemoteDesktopHost.app/Contents/MacOS. |
| "-Wl,-rpath,@executable_path", |
| |
| # For binaries in Contents/MacOS of nested .app bundles. |
| "-Wl,-rpath,@executable_path/../../..", |
| ] |
| } |