# Copyright 2015 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("//cc/cc.gni")

component("base") {
  output_name = "cc_base"
  sources = [
    "base_export.h",
    "completion_event.h",
    "container_util.h",
    "delayed_unique_notifier.cc",
    "delayed_unique_notifier.h",
    "devtools_instrumentation.cc",
    "devtools_instrumentation.h",
    "histograms.cc",
    "histograms.h",
    "index_rect.cc",
    "index_rect.h",
    "invalidation_region.cc",
    "invalidation_region.h",
    "list_container.h",
    "list_container_helper.cc",
    "list_container_helper.h",
    "math_util.cc",
    "math_util.h",
    "region.cc",
    "region.h",
    "reverse_spiral_iterator.cc",
    "reverse_spiral_iterator.h",
    "rolling_time_delta_history.cc",
    "rolling_time_delta_history.h",
    "rtree.h",
    "simple_enclosed_region.cc",
    "simple_enclosed_region.h",
    "spiral_iterator.cc",
    "spiral_iterator.h",
    "switches.cc",
    "switches.h",
    "synced_property.h",
    "tiling_data.cc",
    "tiling_data.h",
    "time_util.h",
    "unique_notifier.cc",
    "unique_notifier.h",
  ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
    "//skia",
    "//ui/gfx:geometry_skia",
    "//ui/gfx/animation",
    "//ui/gfx/geometry",
  ]

  defines = [ "CC_BASE_IMPLEMENTATION=1" ]
}
