chromium/cc/base/BUILD.gn

# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//cc/cc.gni")

if (is_android) {
  import("//build/config/android/rules.gni")
}

cc_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",
    "features.cc",
    "features.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",
    "protected_sequence_synchronizer.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",
    "unique_notifier.cc",
    "unique_notifier.h",
  ]

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

  defines = [ "CC_BASE_IMPLEMENTATION=1" ]
}

if (is_android) {
  java_cpp_strings("java_switches_srcjar") {
    # External code should depend on ":cc_base_java" instead.
    visibility = [ ":*" ]
    sources = [ "switches.cc" ]
    template = "android/java/src/org/chromium/cc/base/CcSwitches.java.tmpl"
  }

  java_cpp_features("java_features_srcjar") {
    # External code should depend on ":cc_base_java" instead.
    visibility = [ ":*" ]
    sources = [ "features.cc" ]
    template = "android/java/src/org/chromium/cc/base/CcFeatures.java.tmpl"
  }

  android_library("cc_base_java") {
    # Right now, this only includes the Java switches. But if we need more Java
    # files, they should be added here as necessary.
    srcjar_deps = [
      ":java_features_srcjar",
      ":java_switches_srcjar",
    ]
  }
}