# Copyright 2016 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")

group("client") {
  if (is_component_build) {
    public_deps = [
      "//gpu",
    ]
  } else {
    public_deps = [
      ":ipc_client_sources",
    ]
  }
}

source_set("ipc_client_sources") {
  sources = [
    "command_buffer_proxy_impl.cc",
    "command_buffer_proxy_impl.h",
    "gpu_channel_host.cc",
    "gpu_channel_host.h",
    "gpu_memory_buffer_impl.cc",
    "gpu_memory_buffer_impl.h",
    "gpu_memory_buffer_impl_shared_memory.cc",
    "gpu_memory_buffer_impl_shared_memory.h",
  ]
  if (is_mac) {
    sources += [
      "gpu_memory_buffer_impl_io_surface.cc",
      "gpu_memory_buffer_impl_io_surface.h",
      "gpu_process_hosted_ca_layer_tree_params.cc",
      "gpu_process_hosted_ca_layer_tree_params.h",
    ]
  }
  if (is_win) {
    sources += [
      "gpu_memory_buffer_impl_dxgi.cc",
      "gpu_memory_buffer_impl_dxgi.h",
    ]
  }
  if (is_linux) {
    sources += [
      "gpu_memory_buffer_impl_native_pixmap.cc",
      "gpu_memory_buffer_impl_native_pixmap.h",
    ]
  }
  if (is_android) {
    sources += [
      "gpu_memory_buffer_impl_android_hardware_buffer.cc",
      "gpu_memory_buffer_impl_android_hardware_buffer.h",
    ]
  }
  configs += [
    "//build/config/compiler:no_size_t_to_int_warning",
    "//gpu:gpu_implementation",
  ]
  deps = [
    "//base",
    "//gpu/command_buffer/client:client_sources",
    "//gpu/command_buffer/common:common_sources",
    "//gpu/config:config_sources",
    "//gpu/ipc/common:ipc_common_sources",
    "//mojo/public/cpp/system",
    "//ui/base/",
    "//ui/gfx/ipc",
    "//ui/gfx/ipc/geometry",
    "//ui/gl",
    "//url/ipc:url_ipc",
  ]
  public_deps = [
    "//ipc",
  ]
  if (use_ozone) {
    deps += [ "//ui/ozone" ]
  }
}