# 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.

# Keep in sync with remoting/remoting_enable.gypi.

import("//build/config/ui.gni")

enable_remoting_host = false
enable_me2me_host = false

if (is_win || (is_linux && !is_chromeos && use_x11) || is_mac) {
  enable_remoting_host = true
  enable_me2me_host = true
}

if (is_linux && is_chromeos) {
  enable_remoting_host = true
}

if (is_android) {
  enable_remoting_host = true
}
