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

# See //content/BUILD.gn for how this works.
group("gpu") {
  if (is_component_build) {
    public_deps = [
      "//content",
    ]
  } else {
    public_deps = [
      ":gpu_sources",
    ]
  }
}

if (is_component_build) {
  link_target_type = "source_set"
} else {
  link_target_type = "static_library"
}
target(link_target_type, "gpu_sources") {
  # You must depend on this via //content/public/gpu above for the component
  # build to work properly.
  visibility = [ "//content/*" ]

  configs += [ "//content:content_implementation" ]

  sources = [
    "content_gpu_client.cc",
    "content_gpu_client.h",
  ]

  deps = [
    "//base",
    "//content:export",
    "//content/gpu:gpu_sources",
    "//content/public/common:common_sources",
    "//gpu/command_buffer/service",
    "//gpu/config",
  ]

  allow_circular_includes_from = [ "//content/gpu:gpu_sources" ]
}
