# Copyright 2014 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/ui.gni")
import("//mojo/public/mojo.gni")

group("services") {
  deps = [
    "//services/clipboard",
    "//services/fake_surfaces",
    "//services/gles2:lib",
    "//services/http_server",
    "//services/http_server/public",
    "//services/icu_data",
    "//services/js",
    "//services/native_viewport",
    "//services/surfaces",
    "//services/test_service:bindings",
    "//services/tracing",
    "//services/view_manager",
    "//services/window_manager",
  ]

  if (!is_android && !is_asan) {
    deps += [ "//services/dart" ]
  }
}
