# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chrome_build.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/ui.gni")

enable_remoting_host =
    is_win || (is_chromeos_ash || (is_linux && use_x11)) || is_mac

# TODO(crbug.com/1052397): Remove is_chromeos_lacros once the target_os switch is completed.
enable_me2me_host =
    is_win || ((is_linux || is_chromeos_lacros) && use_x11) || is_mac

# Enable the multi-process host on Windows by default.
if (is_win) {
  remoting_multi_process = 1
} else {
  remoting_multi_process = 0
}

remoting_rdp_session = 1

if (is_chrome_branded) {
  branding_path = "//remoting/branding_Chrome"
} else {
  branding_path = "//remoting/branding_Chromium"
}

rdp_desktop_session_guid = "6a7699f0-ee43-43e7-aa30-a6738f9bd470"
