# Copyright 2021 The Chromium OS 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("//common-mk/pkg_config.gni")

group("all") {
  deps = [ ":perfetto_simple_producer" ]
}

pkg_config("target_defaults_pkg_deps") {
  pkg_deps = [
    "libbrillo",
    "libchrome",
    "perfetto",
  ]
}

config("target_defaults") {
  configs = [ ":target_defaults_pkg_deps" ]
  include_dirs = [ "${sysroot}/usr/include/perfetto" ]
}

static_library("libperfetto_simple_producer") {
  sources = [ "my_app_tracing_categories.cc" ]
  configs += [ ":target_defaults" ]
}

executable("perfetto_simple_producer") {
  sources = [ "main.cc" ]
  configs += [ ":target_defaults" ]
  deps = [ ":libperfetto_simple_producer" ]
}
