# 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("command_buffer") {
  if (is_component_build) {
    public_deps = [
      "//gpu",
    ]
  } else {
    public_deps = [
      ":command_buffer_sources",
    ]
  }
}

if (is_component_build) {
  link_target_type = "source_set"
} else {
  link_target_type = "static_library"
}
target(link_target_type, "command_buffer_sources") {
  visibility = [ "//gpu/*" ]

  sources = [
    "gpu_in_process_thread_service.cc",
    "gpu_in_process_thread_service.h",
    "in_process_command_buffer.cc",
    "in_process_command_buffer.h",
  ]

  configs += [ "//gpu:gpu_implementation" ]

  deps = [
    "//base",
    "//gpu/command_buffer/client:client_sources",
    "//gpu/command_buffer/common:common_sources",
    "//gpu/command_buffer/service:service_sources",
    "//gpu/config:config_sources",
    "//gpu/config:crash_keys",
    "//gpu/ipc/client:ipc_client_sources",
    "//gpu/ipc/service:ipc_service_sources",
    "//ui/gfx",
    "//ui/gl",
    "//ui/gl/init",
  ]
}

component("gl_in_process_context") {
  sources = [
    "gl_in_process_context.cc",
    "gl_in_process_context.h",
    "gl_in_process_context_export.h",
  ]

  defines = [ "GL_IN_PROCESS_CONTEXT_IMPLEMENTATION" ]

  deps = [
    ":command_buffer",
    "//base",
    "//base/third_party/dynamic_annotations",
    "//gpu",
    "//gpu/command_buffer/client:gles2_implementation",
    "//gpu/command_buffer/common:gles2_utils",
    "//gpu/ipc:command_buffer",
    "//ui/gfx/geometry",
    "//ui/gl",
  ]
}