# 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/sky",
    "//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" ]
  }
}
