# 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("//build/config/android/config.gni")

if (target_cpu == "arm") {
  static_library("cygprofile") {
    sources = [
      "delayed_dumper.cc",
      "lightweight_cygprofile.cc",
      "lightweight_cygprofile.h",
    ]
    deps = [
      "//base",
    ]
  }

  executable("cygprofile_perftests") {
    testonly = true

    sources = [
      "lightweight_cygprofile_perftest.cc",
    ]

    deps = [
      ":cygprofile",
      "//base",
      "//testing/gtest",
      "//testing/perf",
    ]
  }
}
