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

group("services") {
  deps = [
    "//services/asset_bundle",
    "//services/authenticating_url_loader_interceptor",
    "//services/authentication",
    "//services/clipboard",
    "//services/dart",
    "//services/debugger",
    "//services/device_info",
    "//services/fake_surfaces",
    "//services/files",
    "//services/gles2:lib",
    "//services/http_server",
    "//services/icu_data",
    "//services/keyboard_native",
    "//services/kiosk_wm",
    "//services/native_viewport",
    "//services/prediction",
    "//services/reaper",
    "//services/surfaces",
    "//services/test_service:bindings",
    "//services/tracing",
    "//services/url_response_disk_cache",
    "//services/view_manager",
    "//services/window_manager",
  ]

  if (is_android) {
    deps += [
      "//services/android:java_handler",
      "//services/camera_roll",
      "//services/location",
      "//services/notifications",
      "//services/sensors",
      "//services/speech_recognizer",
    ]
  }

  if (is_linux) {
    deps += [ "//services/python" ]
  }

  # TODO(jamesr): We only support building V8 snapshot data on a linux host since it
  # needs a 32 bit toolchain and we don't have one configured for mac hosts.
  if (host_os == "linux") {
    deps += [ "//services/js" ]
  }
}
