blob: 5c1c08971a4e9456f1b60b9ee5a03cc83d59727d [file] [log] [blame]
# Copyright 2017 The Fuchsia 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/package.gni")
import("//build/test/test_package.gni")
# Split out so that unittests can reference it.
source_set("categories") {
sources = [
"categories.cc",
"categories.h",
"category-db.cc",
]
if (current_cpu == "arm64") {
sources += [
"arm64-category-db.cc",
"arm64-events.h",
"arm64-pm-categories.inc",
"arm64-timebase-categories.inc",
]
}
if (current_cpu == "x64") {
sources += [
"intel-category-db.cc",
"intel-events.h",
"intel-pm-categories.inc",
"intel-timebase-categories.inc",
"skylake-misc-categories.inc",
"skylake-pm-categories.inc",
]
}
deps = [
"//src/lib/fxl",
"//zircon/public/lib/fbl",
]
public_deps = [
"//garnet/lib/perfmon",
"//zircon/public/lib/trace",
"//zircon/public/lib/zircon-internal",
]
}
executable("bin") {
output_name = "cpuperf_provider"
sources = [
"app.cc",
"app.h",
"importer.cc",
"importer.h",
"main.cc",
]
deps = [
":categories",
"//garnet/lib/perfmon",
"//sdk/lib/sys/cpp",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider-with-fdio",
"//zircon/public/lib/zircon-internal",
]
}
package("cpuperf_provider") {
deps = [ ":bin" ]
binary = "cpuperf_provider"
meta = [
{
path = rebase_path("meta/cpuperf_provider.cmx")
dest = "cpuperf_provider.cmx"
},
]
}
group("report_generators") {
deps = [ "//garnet/bin/cpuperf_provider/report-generators/tally" ]
}
executable("cpuperf_provider_tests_bin") {
testonly = true
output_name = "cpuperf_provider_tests"
sources = [ "categories_unittest.cc" ]
deps = [
":categories",
"//src/lib/fxl/test:gtest_main",
]
}
if (current_cpu == "x64") {
executable("cpuperf_provider_integration_tests") {
testonly = true
output_name = "cpuperf_provider_integration_tests"
sources = [ "cpuperf_provider_integration_tests.cc" ]
deps = [
"//garnet/lib/perfmon",
"//src/developer/tracing/lib/test_utils",
"//src/lib/fxl",
"//src/lib/fxl/test:test_settings",
"//third_party/googletest:gtest",
"//zircon/public/lib/zx",
"//zircon/system/ulib/trace-reader",
]
}
}
test_package("cpuperf_provider_tests") {
deprecated_shell = "//build"
deps = [ ":cpuperf_provider_tests_bin" ]
tests = [
{
name = "cpuperf_provider_tests"
environments = basic_envs
},
]
if (current_cpu == "x64") {
deps += [ ":cpuperf_provider_integration_tests" ]
tests += [
{
name = "cpuperf_provider_integration_tests"
environments = basic_envs
},
]
}
}