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

source_set("trace_event") {
  sources = [
    "memory_dump_manager.cc",
    "memory_dump_manager.h",
    "memory_dump_provider.h",
    "process_memory_dump.cc",
    "process_memory_dump.h",
    "process_memory_maps.cc",
    "process_memory_maps.h",
    "process_memory_maps_dump_provider.cc",
    "process_memory_maps_dump_provider.h",
    "process_memory_totals.cc",
    "process_memory_totals.h",
    "process_memory_totals_dump_provider.cc",
    "process_memory_totals_dump_provider.h",
    "trace_event.h",
    "trace_event_android.cc",
    "trace_event_argument.cc",
    "trace_event_argument.h",
    "trace_event_impl.cc",
    "trace_event_impl.h",
    "trace_event_impl_constants.cc",
    "trace_event_memory.cc",
    "trace_event_memory.h",
    "trace_event_synthetic_delay.cc",
    "trace_event_synthetic_delay.h",
    "trace_event_system_stats_monitor.cc",
    "trace_event_system_stats_monitor.h",
    "trace_event_win.cc",
    "trace_event_win.h",
  ]

  if (is_nacl) {
    sources -= [
      "process_memory_totals_dump_provider.cc",
      "trace_event_system_stats_monitor.cc",
    ]
  }

  defines = [ "BASE_IMPLEMENTATION" ]

  deps = [
    "//base/debug",
    "//base/json",
    "//base/memory",
    "//base/process",
    "//base/third_party/dynamic_annotations",
  ]

  allow_circular_includes_from = [
    "//base/debug",
    "//base/memory",
    "//base/process",
  ]

  visibility = [ "//base/*" ]
}
