# Copyright 2014 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("//mojo/public/mojo_application.gni")

group("debugger") {
  testonly = true

  deps = [
    ":sky_debugger",
  ]
}

mojo_native_application("sky_debugger") {
  output_name = "sky_debugger"

  sources = [
    "debugger.cc",
    "trace_collector.cc",
    "trace_collector.h",
  ]

  deps = [
    "//base",
    "//base/allocator",
    "//mojo/application",
    "//mojo/common",
    "//mojo/public/cpp/bindings",
    "//mojo/public/cpp/system",
    "//mojo/public/cpp/utility",
    "//mojo/services/window_manager/public/interfaces",
    "//services/http_server/public",
    "//services/http_server/public:util",
    "//services/tracing:bindings",
    "//sky/viewer:bindings",
  ]
}
