# Copyright (c) 2013 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.

source_set("common") {
  sources = [
    "bitfield_helpers.h",
    "buffer.cc",
    "buffer.h",
    "capabilities.cc",
    "capabilities.h",
    "cmd_buffer_common.cc",
    "cmd_buffer_common.h",
    "command_buffer.h",
    "constants.h",
    "debug_marker_manager.cc",
    "debug_marker_manager.h",
    "gles2_cmd_format.cc",
    "gles2_cmd_format.h",
    "gles2_cmd_format.h",
    "gles2_cmd_format_autogen.h",
    "gles2_cmd_ids.h",
    "gles2_cmd_ids_autogen.h",
    "id_allocator.cc",
    "id_allocator.h",
    "mailbox.cc",
    "mailbox.h",
    "mailbox_holder.cc",
    "mailbox_holder.h",
    "thread_local.h",
    "time.h",
  ]

  defines = [ "GPU_IMPLEMENTATION" ]

  deps = [
    ":gles2_utils",
    "//base",
  ]
}

component("gles2_utils") {
  sources = [
    "gles2_cmd_utils.cc",
    "gles2_cmd_utils.h",
    "gles2_utils_export.h",
  ]

  defines = [ "GLES2_UTILS_IMPLEMENTATION" ]

  deps = [
    "//base",
  ]

  all_dependent_configs = [ "//third_party/khronos:khronos_headers" ]
}
