# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//base/allocator/allocator.gni")
import("//build/config/features.gni")
static_library("cpp") {
sources = [
"controller.cc",
"controller.h",
"profiling_client.cc",
"profiling_client.h",
"settings.cc",
"settings.h",
"switches.cc",
"switches.h",
]
public_deps = [
"//base",
"//components/services/heap_profiling/public/mojom",
"//mojo/public/cpp/bindings",
]
deps = [
"//base:debugging_buildflags",
"//base/allocator:buildflags",
]
if (!is_ios || use_allocator_shim) {
sources += [
"merge_samples.cc",
"merge_samples.h",
]
}
if (use_blink) {
sources += [
"heap_profiling_trace_source.cc",
"heap_profiling_trace_source.h",
]
deps += [ "//services/tracing/public/cpp:cpp" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [ "switches_unittest.cc" ]
deps = [
":cpp",
"//base",
"//base/allocator:buildflags",
"//base/test:test_support",
"//testing/gtest",
]
if (!is_ios || use_allocator_shim) {
sources += [ "merge_samples_unittests.cc" ]
}
if (use_blink) {
sources += [ "heap_profiling_trace_source_unittest.cc" ]
deps += [
"//services/tracing:test_utils",
"//services/tracing/public/cpp:cpp",
"//third_party/perfetto/protos/perfetto/trace:lite",
"//third_party/perfetto/protos/perfetto/trace/profiling:lite",
]
}
}